免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1651 | 回复: 0
打印 上一主题 下一主题

uboot for zaurus的安装引导分析 [复制链接]

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-09-08 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-31 00:40 |只看该作者 |倒序浏览

                skykiker
2009/5/31
   本文简单分析uboot for zaurus(即pdaXrom r198版的uboot)的安装和引导过程。其中涉及到Zaurus的OK刷机模式,关于该模式的说明请参考我的另一篇文章《Zaurus的4种操作模式详解》。
1.安装uboot和Emergency System
  前提是你的系统中装的是Sharp原装的bootloader,否则以下方法不适用你。
先下载pdaXrom r198版带的uboot。
http://distro.ibiblio.org/pub/linux/distributions/pdaxrom/download/r198/c1000-c3x00/pdaXrom-1.1.0r198-Kathrin-akita-uboot.zip
解压后有下面5个文件,将它们放到SD/CF卡的根目录,进入OK模式,执行"升级"就可以将uboot和Emergency System安装的Zaurus机器上了。
updater.sh
updater.pro
u-boot.bin
emergenc.img
autoboot.sh
上面有一个updater.pro的文本文件,应该就是升级程序updater.sh的配置文件。
updater.sh:
U-BOOT  ,BIN,0x00000000,320
EMERGENC,IMG,0x00060000,5376
从这个配置文件不难看出:升级后uboot被放在NAND开头的320K位置,Emergency System从后面的384k(即0x00060000)开始,占用5376K空间。
uboot安装后,覆盖了zaurus上Sharp原装的bootloader,这2个bootloader是不兼容的,所以做完这一步Zaurus原来的系统就挂了。不过不用担心,可以用uboot安装新的系统上去。
2.安装kernal和rootfs
安装kernal和rootfs的方法如下:
   1) 拔掉Zaurus的交流适配器,同时取出电池
   2) 将新的kernal和rootfs复制到SD卡或CF卡的根目录
可以从下面的地址获取pdaXrom 1.1.0 r198的安装文件。
http://distro.ibiblio.org/pub/linux/distributions/pdaxrom/download/r198/c1000-c3x00/pdaXrom-1.1.0r198-Kathrin-akita-current.zip
解压后有下面几个文件。
kernel.img
rootfs.img
autoboot.sh
   3) 按住键盘上的Ok键后装上电池或者插上电源适配器,注意不要松开Ok键
记住现在是用刚才安装的uboot引导系统,uboot启动时会检查OK键有没有按下去,如果按了则引导Emergency System(在NAND的0x00060000位置),否则引导通常的Linux内核(在NAND的0x005a0000位置)。实现参照uboot的源代码。
include/configs/akita.h:
#define    CONFIG_BOOTCOMMAND                        \
    "if testkey 101 ; "                        \
    "then "                                \
        "nand read.logical 0xa1000000 0x00060000 0x00540000; "        \
        "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192; " \
        "bootm; "                        \
    "else "                                \
        "nand read 0xa1000000 0x005a0000 0x00160000; "        \
        "setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock5 rootfstype=jffs2 fbcon=rotate:1; " \
        "bootm; "                        \
    "fi"
   4) 按住Ok键10秒左右后,系统会进入Emergency System,进入这个系统后可以松开Ok键
进入Emergency System后,会自动执行脚本autoboot.sh。autoboot.sh将kernel.img和rootfs.img分别安装到mtd1和mtd5分区。
autoboot.sh:
...
nandlogical /dev/mtd1 WRITE 0x5a0000 0x160000 kernel.img
...
nandwrite /dev/mtd2 rootfs.img
...
   5) 系统询问安装问题时,回答y,按下Enter键后,安装开始
   6) 安装完成后,系统会自动启动
这个时候,uboot就会跳转到刚写到NAND 0x5a0000处的kernel.img引导pdaXrom系统。只要你不在加电时按OK键。
  安装完后NAND的结构可参考uboot的源代码
include/configs/akita.h:
#define MTDPARTS_DEFAULT    "mtdparts=laze-0:256k(U-Boot)ro,128k(U-BootEnv),5376k(Emergency),1408k(Kernel),-(JFFS2)"
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72988/showart_1949900.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP