|  | 
 
| Edited by ccwufu at 2015-10-11 22:24 
 u-boot  & uImage:
 support eEnv.txt & uInitrd(external, not embedded in uImage)  for OPI-PC H3
 can be used to  support mulit-boot easily.
 (another way is : cmdline.txt in embedded/external initramfs(initrd ))
 
 files at boot partition
 uEnv.txt
 script.bin
 uImage (without embedded initrd : rootfs.cpio.gz)
 uInitrd (mkimage -A arm -T ramdisk -C none -n uInitrd -d /path/to/rootfs.cpio.gz /path/to/uInitrd)
 
 cat uEnv.txt
 scriptf=script.bin
 uimagef=uImage
 uinitrdf=uInitrd
 mmc_root=/dev/mmcblk0p2
 (mmc_root=/dev/mmcblk0p3 : if another OS in mmcblk0p3)
 
 1)nano ./u-boot-2011.09/include/configs/sun8iw7p1.h
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 "bootdelay=3\0" \
 "scriptaddr=0x44000000\0" \
 "loadbootenv=" \
 "fatload mmc 0:1 $scriptaddr uEnv.txt\0" \
 "loaduenv=if run loadbootenv; then " \
 "env import -t ${scriptaddr} ${filesize};" \
 "fi\0" \
 "bootcmd=run setargs_mmc loaduenv boot_normal\0" \
 "console=ttyS0,115200\0" \
 "nand_root=/dev/nandd\0" \
 "mmc_root=/dev/mmcblk0p2\0" \
 "scriptf=script.bin\0" \
 "uimagef=uImage\0" \
 "uinitrdf=uInitrd\0" \
 "init=/init\0" \
 "loglevel=8\0" \
 "setargs_nand=setenv bootargs console=${console} root=${nand_root}" \
 "init=${init} loglevel=${loglevel} partitions=${partitions}\0" \
 "setargs_mmc=setenv bootargs console=${console} root=${mmc_root}" \
 "init=${init} loglevel=${loglevel} partitions=${partitions}\0" \
 "boot_normal=fatload mmc 0:1 0x43000000 ${scriptf};fatload mmc 0:1 40007800 ${uimagef};" \
 "fatload mmc 0:1 50000000 ${uinitrdf};bootm 40007800 50000000\0" \
 "boot_recovery=sunxi_flash read 40007800 recovery;boota 40007800\0" \
 "boot_fastboot=fastboot\0"
 
 2)nano  ./github-lobo/OrangePI-Kernel/build/sun8iw7p1smp_lobo_defconfig.opi2
 - CONFIG_INITRAMFS_SOURCE="output/rootfs.cpio.gz"
 + CONFIG_INITRAMFS_SOURCE=""
 
 | 
 |