nand booting

来源:互联网 发布:怎样把淘宝网放到桌面 编辑:程序博客网 时间:2024/06/08 01:03
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/mtddev:    size   erasesize  namemtd0: 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卡读出并写入NAND2. 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 800003. 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 1600004.kernel# mmc init# fatload mmc 0:1 80000000 uImage# nandecc hw 1# nand erase 280000 400000# nand write 80000000 280000 4000005.File system # nand infoDevice 0: nand0, sector size 128 KiB物理擦除块大小128 KiB6.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=ubiimage=ubifs.imgvol_id=0vol_size=450MiBvol_type=dynamicvol_name=rootfsvol_flags=autoresize7.fastbootfastboot erase xloaderfastboot flash xloader MLOfastboot erase bootloaderfastboot flash bootloader u-boot.binfastboot erase boot fastboot flash boot uImagefastboot erase systemfastboot flash system ubi.img8.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

原创粉丝点击