加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

nand booting

发布时间:2020-12-15 07:08:45 所属栏目:百科 来源:网络整理
导读:kernel: v2.6.37[ 1.281738] omap2-nand driver initializing[ 1.286376] NAND device: Manufacturer ID: 0xad,Chip ID: 0xbc (Hynix )[ 1.293182] Creating 5 MTD partitions on "omap2-nand.0":[ 1.298736] 0x000000000000-0x000000080000 : "X-Loader"[ 1
kernel: v2.6.37
[    1.281738] omap2-nand driver initializing
[    1.286376] NAND device: Manufacturer ID: 0xad,Chip ID: 0xbc (Hynix )
[    1.293182] Creating 5 MTD partitions on "omap2-nand.0":
[    1.298736] 0x000000000000-0x000000080000 : "X-Loader"
[    1.305541] 0x000000080000-0x0000001c0000 : "U-Boot"
[    1.312347] 0x0000001c0000-0x000000280000 : "U-Boot Env"
[    1.319213] 0x000000280000-0x000000780000 : "Kernel"
[    1.327484] 0x000000780000-0x000020000000 : "File System"
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "X-Loader"
mtd1: 00140000 00020000 "U-Boot"
mtd2: 000c0000 00020000 "U-Boot Env"
mtd3: 00500000 00020000 "Kernel"
mtd4: 1f880000 00020000 "File System"

写一些文件到空的NAND里,首先需要从其它的地方启动。比如MMC/SD 卡启动
1. MMC/SD卡启动需要的文件(MLO & U-Boot)
把需要写入nand 的文件放在MMC/SD卡的FAT分区上
那么就可以从SD卡读出并写入NAND
2. x-loader
编译x-loader并生成x-loader.bin.ift,把它放入MMC/SD卡的第一个FAT分区,用以下的命令写入X-loader 到NAND
# mmc init
# fatload mmc 0:1 80000000 MLO
# nandecc hw 2
# nand erase 0 80000
# nand write 80000000 0 80000
3. u-boot
编译u-boot并生成u-boot.bin放入MMC/SD卡的第一个FAT分区
# mmc init
# fatload mmc 0:1 80000000 u-boot.bin
# nandecc hw 2
# nand erase 80000 160000
# nand write 80000000 80000 160000
4.kernel
# mmc init
# fatload mmc 0:1 80000000 uImage
# nandecc hw 1
# nand erase 280000 400000
# nand write 80000000 280000 400000
5.File system
 # nand info
Device 0: nand0,sector size 128 KiB
物理擦除块大小128 KiB


6.making UBIFS
# git clone git://git.infradead.org/mtd-utils.git
# cd mtd-utils
# make

#!/bin/sh
./mkfs.ubifs -r rootfs -m 2048 -e 126976 -c 3991 -o ubifs.img
./ubinize -o ubi.img -O 2048 -m 2048 -p 128KiB -s 512 ubinize.cfg
# cat ubinize.cfg
[ubifs]
mode=ubi
image=ubifs.img
vol_id=0
vol_size=450MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize

7.fastboot
fastboot erase xloader
fastboot flash xloader MLO

fastboot erase bootloader
fastboot flash bootloader u-boot.bin

fastboot erase boot 
fastboot flash boot uImage

fastboot erase system
fastboot flash system ubi.img

8.setenv
#setenv nandboot 'echo Booting from nand ...; nand read ${loadaddr} ${boot_nand_offset} ${boot_nand_size}; bootm ${loadaddr}'
# setenv bootcmd 'run nandboot'
# setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=512M ubi.mtd=4,2048 rootfstype=ubifs 
    root=ubi0:rootfs rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y  
    omapdss.def_disp=lcd omapfb.mode=lcd:800x480MR-16 vram=8M omapfb.vram=0:8M mpurate=1000'
#saveenv
#boot

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读