用自己移植的uboot,进行内核的移植,遇到了几个问题
1、移植ramdisk文件系统
实验一:先编译好内核,移植内核——制作ramdisk文件系统,打包后移植
实验二:initramdisk文件系统的制作
(1)、kernel自身初始化完成后,要运行的第一个用户程序,既是“init程序”
(2)、编译好的内核uImage已经包括:kernel和文件系统,内核和文件系统结合在一起(在menuconfig配置)
问题:两种移植后,在内核启动后,都没有能够进入文件系统。这就让人纳闷!!
分析:也许是上一次移植时,留下中间文件,没有用make distclean原因,导致移植失败
等待验证状态!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2、nfs文件系统移植,无法实现开发板子共享服务器的上的文件系统
目的:实现linux和linux共享,利于驱动的调试。
实验现象:
eth0: link down
eth0: link down
IP-Config: Guessing netmask 255.255.255.0
I P-Config: Complete:
device=eth0, addr=192.168.8.80, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.8.80, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=192.168.8.90, rootpath=
Freeing init memory: 1184K
eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1
/
Processing /etc/profile... Done
# ls
bin etc lib mnt sbin tmp var
dev init linuxrc proc sys usr
# cd tmp/
# ls
hello.ko hello.o // 当把param.ko驱动模块拷贝到虚拟机的更文件系统目录下时,并没有能够,在开发板子出现该文件??
# insmod hello.ko/
# insmod hello.ko
insmod: cannot insert 'hello.ko': invalid module format// 难道安装的busybox没有支持该insmod命令????
分析:也许是前几次的内核编译后,再一次编译内核时,没有运用 make distclean清楚中间文件,(自己偷懒,怕重新完全编译,花的时间太长)导致,内核中遗留有上一次编译的信息。
解决:使用make distclean一下,然后再次重新编译内核,果真是这样子。结果如下
eth0: link down
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, addr=192.168.8.80, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.8.80, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=192.168.8.90, rootpath=
Looking up port of RPC 100003/2 on 192.168.8.90
eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1
Looking up port of RPC 100005/1 on 192.168.8.90
VFS: Mounted root (nfs filesystem) on device 0:11.// 提示nfs已经成功挂载了
Freeing init memory: 128K
-n Processing /etc/profile...
Done
# ls
lib mnt var sys bin sbin init
proc linuxrc etc tmp usr dev
# ls tmp/
param.ko
# ls
lib mnt var sys bin sbin init
proc linuxrc etc tmp usr dev
# cd tmp/
# ls
param.ko
# insmod param.ko
insmod: cannot insert 'param.ko': invalid module format
# ls // 在服务器上,把驱动模块hello.ko拷贝到文件系统目录下,开发板子就能够实现动态共享了(查询一下,可以看到hello.ko文件)
param.ko hello.ko
#
3、当开发板子用tftp下载时,路由器过会儿就上不了网,这个问题还真的见鬼,自己还真的无法分析,需要好的网络基础知识才能够搞定它。现在暂时搁下,看看以后能否有新的认识。