SD卡启动制作

来源:互联网 发布:耐克官网抢鞋软件 编辑:程序博客网 时间:2024/05/15 20:28

完成SD卡分区操作后,你可以看到你现在已经有两个分区了假设为sdb1 sdb2。分别格式化成fat ext3 的方式,然后把kernel rootfs 放入相应的分区。

下面要详细介绍的是如何把 uboot 放入前面一直提到的保留区域内。利用Linux 系统的dd 命令,就可以达到这个目的。具体命令如下所示,注意这个操作需要sudo 超级权限。

dd if=./uboot of=/dev/sdb bs=1 count=442

dd if=./uboot of=/dev/sdb bs=512 skip=1 seek=1

其中 if 标识输入文件的名字,也就是说你要烧入的uboot 的名字。 of代表输出设备的命名,也就是说将要被烧入的设备名。

经过上述步骤以后,一张带 ubootkernel rootfs 的卡片就制作完成了。你只要在uboot 动以后设置对应的bootargandroid 的机器人界面应该马上可以看到了。

 

//kernelrootfs移入相应分区

root@ubuntu:~# mount /dev/sdb1 /mnt/fat32    //1分区挂载到/mnt/fat32

root@ubuntu:~# cp ./uImage /mnt/fat32     //kernel拷贝到1

root@ubuntu:~# umount /dev/sdb1         //卸载

root@ubuntu:~# mount /dev/sdb2 /mnt/ext3    //2分区挂载到/mnt/ext3

root@ubuntu:~# cp –r ./root /mnt/ext3      //root拷贝放入2

root@ubuntu:~# umount /dev/sdb2         //卸载

root@ubuntu:~#

root@ubuntu:~#

 

//442-512SD卡信息等保存区域,不能擦除,否则kernelrootfs等都找不到。所以烧入//uboot时需要跳过这段区域。

//具体是哪段区域,可以看uboot根目录的mksdcard中指明:

//sudo dd if=${BUILD_DIR}/${BINFILE} of=$1 bs=1 count=442

//sudo dd if=${BUILD_DIR}/${BINFILE} of=$1 bs=512 skip=1 seek=1

root@ubuntu:~# dd if=./u-boot-aml.bin of=/dev/sdb bs=1 count=442

root@ubuntu:~# dd if=./u-boot-aml.bin of=/dev/sdb bs=512 skip=1 seek=1

root@ubuntu:~#

root@ubuntu:~#

 

//设置uboot相应启动参数

8726M_MID # printenv

bootcmd=nand read 84100000 ${p0start} ${p0size};nand read ${loadaddr} ${normalst

art} ${normalsize};bootm

bootdelay=1

baudrate=115200

bootfile=uImage

loadaddr=0x82000000

testaddr=0x82400000

usbtty=cdc_acm

console=ttyS2,115200n8

mmcargs=setenv bootargs console=${console} boardname=m1_mid

chipname=8726m

machid=2956

bootargs=init=/init console=ttyS0,115200 mem=512M board_ver=v2 decopt=0 hdmitx=v

dacoff,powermode1,unplug_powerdown rootwait logo=osd1,0x84100000,lcd,full

…….

stdin=serial

stdout=serial

stderr=serial

 

Environment size: 971/8188 bytes

 

8726M_MID # setenv bootcmd  ‘mmcinfo 0; fatload mmc 0 82000000 uImage;bootm’

8726M_MID# setenv bootargs  root=/dev/cardblksd2 rw rootfstype=ext3 init=/init console=ttyS0,115200

8726M_MID #

8726M_MID # boot

Partition Map for UNKNOWN device 0  --   Partition Type: DOS

 

Partition     Start Sector     Num Sectors     Type

    1                316008       2875992    b

    2               3192000        647976    83

Device: SDIO Port A

Manufacturer ID: 0

OEM: 0

Name: [1]Tran Speed: 40000000

Rd Block Len: 512

SD version 2.0

High Capacity: No

Capacity: 1967128576

Bus Width: 4-bit

 

Partition Map for UNKNOWN device 0  --   Partition Type: DOS

 

Partition     Start Sector     Num Sectors     Type

    1                316008       2875992    b

    2               3192000        647976    83

reading uImage

 

2782077 bytes read

## Booting kernel from Legacy Image at 82000000 ...

   Image Name:   Linux-2.6.34

   Image Type:   ARM Linux Kernel Image (lzma compressed)

   Data Size:    2782013 Bytes = 2.7 MiB

   Load Address: 80008000

   Entry Point:  80008000

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Using machid 0xb8c from environment

 

Starting kernel ...

[    0.000000] Linux version 2.6.34 (root@ubuntu) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #17 Sun Apr 3 00:32:57 PDT 2011

[    0.000000] CPU: ARMv7 Processor [411fc091] revision 1 (ARMv7), cr=10c53c7f

[    0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache

[    0.000000] Machine: AMLOGIC MESON-M1 8726M SZ

……..

#

#

启动成功。

 

uboot中修改相应启动参数重新编译,烧入SD卡相应区域,设置Amlogic Meson M1 8726M板从SD卡启动,启动信息如下:

U-Boot 2010.06-svn1550 (Jan 28 2011 - 11:35:57)

 

DRAM:  512 MiB

NAND:   ID read  ad,d7 hy27ubg8t2a page 8192 oob 448 erase size 2097152  BCH16 device

 ID read  ad,d7 hy27ubg8t2a page 8192 oob 448 erase size 2097152       BCH16 device

4096 MiB

In:    serial

Out:   serial

Err:   serial

KGDB:  ready

MMC:   SDIO Port A: 0

LCD screen clear!

LCD:       800x480 24bbp

Dcache status 1

Icache status 1

tag = 3    !!!!!!!!!!!!!!!!!!

kernel_args = 0xeaac6099

NORMAL_BOOT...

powerkey: 1

powerkey: 1

powerkey: 1

powerkey: 1

powerkey: 1

powerkey: 1

powerkey: 1

powerkey: 1

powerkey: 1

Power Up!

 

NAND read: device 0 offset 0x1800000, size 0x800000

 8388608 bytes read: OK

LCD backlight on!

get_adc_sample(4): 0x3ff

get_adc_sample(4): 0x3ff

get_adc_sample(4): 0x3ff

get_key(): 0

Normal Start...

Hit any key to stop autoboot:  1

 

Partition Map for UNKNOWN device 0  --   Partition Type: DOS

 

Partition     Start Sector     Num Sectors     Type

    1                316008       2875992    b

    2               3192000        647976    83

Device: SDIO Port A

Manufacturer ID: 0

OEM: 0

Name: [1]Tran Speed: 40000000

Rd Block Len: 512

SD version 2.0

High Capacity: No

Capacity: 1967128576

Bus Width: 4-bit

 

Partition Map for UNKNOWN device 0  --   Partition Type: DOS

 

Partition     Start Sector     Num Sectors     Type

    1                316008       2875992           b

    2               3192000        647976           83

reading uImage

 

2782077 bytes read

## Booting kernel from Legacy Image at 82000000 ...

   Image Name:   Linux-2.6.34

   Image Type:   ARM Linux Kernel Image (lzma compressed)

   Data Size:    2782013 Bytes = 2.7 MiB

   Load Address: 80008000

   Entry Point:  80008000

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Using machid 0xb8c from environment

 

Starting kernel ...

…….

#

#

SD卡成功启动。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝账号买不了东西怎么办 支付宝被限制登录怎么办 微信登录不上 钱怎么办 淘宝账号买家权限被限制怎么办 淘宝中店新品打不开怎么办 旺旺号被限制有退款怎么办 登陆微信收不到验证码怎么办 淘宝店注册成功后怎么办 充电宝掉进水里怎么办 空光盘读不出来怎么办 苹果8plus丢了怎么办 苹果8plus掉了怎么办 淘宝账户被限制使用怎么办 飞利浦电脑显示器黑屏怎么办打开 微信忘记密码手机号停用怎么办 淘宝账号登录密码忘记了怎么办 淘宝支付密码输错了怎么办 淘宝支付密码忘记了怎么办 淘宝货品上架后显示过期怎么办 被淘宝客监控了怎么办 助学贷款支付宝账号忘记怎么办 离婚支付宝的钱怎么办 扫码加载不出来怎么办 淘宝店铺被投诉售假怎么办 刚开的新店没人怎么办 淘宝访客量突然下降怎么办 支付宝账号封了怎么办 苹果x手机黑屏打不开怎么办 淘宝支付密码被锁定怎么办 淘宝支付密码锁定了怎么办 很抱歉手机淘宝停止运行怎么办 苹果手机桌面淘宝图标不见了怎么办 提示网页上有错误怎么办 淘宝定制家具违约两个月怎么办 同行在买家评价下面评论怎么办 淘宝知识产权侵权被投诉了怎么办 闲鱼买家说是假货退货怎么办 日验证失败次数上限怎么办 淘宝卖家发货不全怎么办 子账号登录不上怎么办 淘宝宝贝曝光量少怎么办