问题描述
使用韦东山老师课程资料提供的UBOOT,3.4.2内核和nfs文件系统仍然不能正常挂载nfs文件系统。问题如下:
- uboot移植后,串口无输出
- 移植内核,挂载nfs文件系统失败,提示:
VFS: Cannot open root device “nfs” or unknown-block(0,2)
总结(懒得看文章可以直接按这里操作)
- uboot串口无输出,解决方法:更换arm-linux-gcc 4.3.2编译器,烧录后正常
- nfs挂载失败,解决方法:配置内核支持DM9000网卡,修改文件系统启动文件
环境参数
Uboot:u-boot-2012.04.01 + 韦东山老师课程补丁
内核:linux-3.4.2 + 韦东山老师课程补丁
文件系统:fs_mini_mdev.tar.bz2
背景
使用华清4412开发板,按课上提供的资料,移植uboot,内核,文件系统OK(其实也没有干什么,就是一步一步来而已),所以当时就感觉移植也没什么难度。最近从韦东山老师那里买了2440 V3开发板,准备重新移植下。但这次真的被教做人了T _ T
问题解决详情
- uboot串口无输出,解决方法:更换arm-linux-gcc 4.3.2编译器,烧录后正常。
更换编译器方法:
(1)下载解压arm-gcc-4.3.2版本
tar -xvf arm-linux-gcc-4.3.2.tgz
(2) 修改环境参数:
vi ~/.bashrc
路径添加如下:注要添加到bin为止
(3) 更新环境变量
source ~/.bashrc
如果不行则重启虚拟机
(4) 版本确认:
使用arm-linux-gcc -v
查看更新后的版本
2. nfs挂载失败,解决方法:配置内核支持DM9000网卡,修改文件系统启动文件/etc/inittab
(1) 配置DM9000网卡:参考https://blog.youkuaiyun.com/Mculover666/article/details/104672106
(2)修改文件系统启动文件:
修改:nfs/rootfs/etc/init.d/
,忽略echo+数字,是我调试用的打印输出。。
#!/bin/sh
#ifconfig eth0 192.168.0.55
echo "etc/init.d start"
mount -a
echo "1"
mkdir /dev/pts
echo "2"
mount -t devpts devpts /dev/pts
echo "3"
echo /sbin/mdev > /proc/sys/kernel/hotplug
echo "4"
mdev -s
echo "5"
export HOME=/root
echo "6"
export DISPLAY=:0
echo "7"
Xfbdev -mouse mouse -keybd keyboard >/dev/null 2>&1 &
echo "8"
sleep 1
echo "9"
matchbox-session >/dev/null 2>&1 &
echo "10"
修改:nfs/rootfs/etc/inittab
# /etc/inittab
::sysinit:/etc/init.d/rcS
::respawn:~/bin/sh
::restart:/sbin/init
#s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
#::shutdown:/bin/umount -a -r
大功告成!!!!