精华精华|关于uboot一些概念( 二 )
H.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 addrip=ip addr:server ip addr:gateway:netmask::which netcard:off这两种方法可以用 , 不过很明显第二种要详细很多 , 请注意第二种中which netcard 是指开发板上的网卡 , 而不是主机上的网卡 。
本文插图
说完常见的几种bootargs , 那么我们来讨论平常我经常使用的几种组合:
1). 假设文件系统是ramdisk , 且直接就在内存中 , bootargs的设置应该如下:setenv bootargs ‘initrd=0x32000000,0xa00000 root=/dev/ram0 console=ttySAC0 mem=64M init=/linuxrc’
2). 假设文件系统是ramdisk , 且在flash中 , bootargs的设置应该如下:setenv bootargs ‘mem=32M console=ttyS0,115200 root=/dev/ram rw init=/linuxrc’注意这种情况下你应该要在bootm命令中指定ramdisk在flash中的地址 , 如bootm kernel_addr ramdisk_addr (fdt_addr)
3). 假设文件系统是jffs2类型的 , 且在flash中 , bootargs的设置应该如下setenv bootargs ‘mem=32M console=ttyS0,115200 noinitrd root=/dev/mtdblock2 rw rootfstype=jffs2 init=/linuxrc’4). 假设文件系统是基于nfs的 , bootargs的设置应该如下setenv bootargs ‘noinitrd mem=64M console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.3:/nfs ip=192.168.0.5:192.168.0.3:192.168.0.3:255.255.255.0::eth0:off’或者setenv bootargs ‘noinitrd mem=64M console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.3:/nfs ip=192.168.0.5’
本文插图
【精华精华|关于uboot一些概念】上面就是我们经常使用的几种bootargs的组合 , 老实说 , bootargs非常非常的灵活 , 所以设置的方法有很多种形式 , 具体的还应该根据你的平台具体的情况来设置 。
推荐阅读
- 龙百万|一张关于TES输RNG的控分聊天图引热议,经典!
- 广州日报|网红筋膜枪 不可盲目用
- 川泌医生在线|关于“粑粑”——隐秘的信号
- 市场监管总局网站|市场监管总局关于预防违法分子假冒电子营业执照骗取收费的公告
- 平乡县关于网上反映“镇政府干部被曝婚内多次出轨并家暴,妻子意外离世后丈夫失联”的通报
- 爱卡论坛精华 懒人厨房291号刊---椰汁黄金糕
- 一米七八不穿鞋|两位巨星是这么说的,关于湖人输球的原因
- 洛瑞|关于湖人输球的原因,两位巨星是这么说的
- 内分泌疾病|甲钴胺片吃一个月得停?关于甲钴胺的真相,你应该了解
- 王者荣耀游戏君|糕友分享:关于琴女光辉下路组合的理解
