uboot与NFS

挣扎了两三天,一个是弄Uboot,一个是制作内核映像,然后用NFS挂载。

以开始弄uboot就觉得奇怪,用光盘里的uboot发现网络连不上,连上网线网卡还是没反应,主机的本地连接也是断开的。原来uboot默认是没有网络访问的,所以它是断开的,如果用ping命令,就会发现网络是通的。具体的网络代码我还没有分析,后面再瞧瞧。

修改uboot代码时,注意在/include/asm-arm/mach-types.h文件中,#define MACH_TYPE_S3C2440  的值,应该是1999,因为在Linux系统中,查看linux-2.6.29/include/asm/mach-types.h会发现machine ID为1999.

其他的一些信息参考http://www.arm9home.net/read.php?tid-5729.html 中的说明。它里面说的分区表也可以不用修改。

制作内核映像,这个直接用光盘中的linux-2.6.29源代码,主要是配置菜单。设置相关的文件系统,设备驱动等等。

除了.config里面的命令行要做相应的修改,CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.1.24:/home/fs/rootfs ip=192.168.1.230:192.168.1.24:192.168.1.255:255.255.255.0::eth0:off rw console=ttySACO mem=64M"

我遇到的主要问题是uboot中传递给内核的启动参数bootargs,把它的值设置为noinitrd root=/dev/nfs rw nfsroot=192.168.1.24:/home/tekkaman/working/nfs/rootfs 

ip=192.168.1.230:192.168.1.24::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M 

不然它会出现

VFS: Mounted root (yaffs filesystem) on device 31:3.

Freeing init memory: 128K

Warning: unable to open an initial console.

Failed to execute /linuxrc.  Attempting defaults...

Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

的错误。

我认为它的错误应该是没有把这个参数 init=/linuxrc传下去,导致找不到根文件系统。

转载于:https://www.cnblogs.com/think-spencer/archive/2011/10/13/2211029.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值