一、系统启动流程
bootloader(uboot)——linux Kernel(uImage)——Rootfs(Init)——Application
二、启动环境配置
uboot环境变量:printenv setenv saveenv tftpboot nand read/write baudrate 115200 bootdelay bootcmd bootargs...
内核启动参数:bootargs ' <name>=<value> ...'
bootargs root=/dev/nfs nfsroot=10.66.10.10:home/binge/rootfs ip=10.66.10.12 init=/linuxrc console=ttySAC0,115200
root: 指定根文件系统的路径
nfsroot: 指定nfs根文件系统的网络位置(ip+路径)
ip: 开发板的ip地址
init: 挂载根文件系统成功后,开发板执行的第一个程序
console: 内核启动时,使用哪个设备作为控制台
mem: 限制linux使用的内存大小
若根文件系统在flash上面,则还要指定:
根文件系统镜像的格式 :rootfstype 如rootfstype=jffs2/yaffs2/squashfs/ubifs......
flash上的分区:mtdparts 格式:mtdparts=mtd-id:<size1>@<offset1>(<name1>),<size2>@<offset2>(<name2>)
如:mtdparts=s5pv210-nand:1M(boot),5M(kernel),80M(rootfs),426M(userfs) 则root=/dev/mtdblock2
注:要想这个参数起作用,内核中的mtd驱动必须支持,即内核配置时需选上 Device Drivers ——>Memory Technology Device(MTD)support——>command line partition table.....