E. ramdisk_size ramdisk=xxxxx 不推荐 ramdisk_size=xxxxx 推荐 上面这两个都可以告诉ramdisk 驱动,创建的ramdisk的size,默认情况下是4m(s390默认8M),你可以查看Documentation/ramdisk.txt找到相关的描述,不过ramdisk=xxxxx在新版的内核都已经没有提了,不推荐使用。
F. initrd, noinitrd 当你没有使用ramdisk启动系统的时候,你需要使用noinitrd这个参数,但是如果使用了的话,就需要指定initrd=r_addr,size, r_addr表示initrd在内存中的位置,size表示initrd的大小。
G. init init指定的是内核启起来后,进入系统中运行的第一个脚本,一般init=/linuxrc, 或者init=/etc/preinit,preinit的内容一般是创建console,null设备节点,运行init程序,挂载一些文件系统等等操作。请注意,很多初学者以为init=/linuxrc是固定写法,其实不然,/linuxrc指的是/目录下面的linuxrc脚本,一般是一个连接罢了。
H. mtdparts mtdparts=fc000000.nor_flash:1920k(linux),128k(fdt),20M(ramdisk),4M(jffs2),38272k(user),256k(env),384k(uboot) 要想这个参数起作用,内核中的mtd驱动必须要支持,即内核配置时需要选上Device Drivers ---> Memory Technology Device (MTD) support ---> Command line partition table parsing
mtdparts的格式如下: mtdparts=[; := :[,] := [@offset][][ro] := unique id used in mapping driver/device := standard linux memsize OR "-" to denote all remaining space := (NAME) 因此你在使用的时候需要按照下面的格式来设置: mtdparts=mtd-id:@(),@() 这里面有几个必须要注意的: a. mtd-id 必须要跟你当前平台的flash的mtd-id一致,不然整个mtdparts会失效 b. size在设置的时候可以为实际的size(xxM,xxk,xx),也可以为‘-‘这表示剩余的所有空间。 举例: 假设flash 的mtd-id是sa1100,那么你可以使用下面的方式来设置: mtdparts=sa1100:- → 只有一个分区 mtdparts=sa1100:256k(ARMboot)ro,-(root) → 有两个分区 可以查看drivers/mtd/cmdlinepart.c中的注释找到相关描述。
I. ip 指定系统启动之后网卡的ip地址,如果你使用基于nfs的文件系统,那么必须要有这个参数,其他的情况下就看你自己的喜好了。设置ip有两种方法: ip = ip addr ip=ip addr:server ip addr:gateway:netmask::which netcard:off 这两种方法可以用,不过很明显第二种要详细很多,请注意第二种中which netcard 是指开发板上的网卡,而不是主机上的网卡。