Xilinx Zynq制作修改根文件系统的方法

可编程逻辑

1339人已加入

描述

#前段时间在做zynq702评估的时候,提出了一种省事的制作和修改根文件系统的方法:

#用dd命令将官方uramdisk-----》ramdisk

#或者直接用官方的ramdisk ,解压后得到ramdisk.image

#1.将ramdisk 挂载到/mnt下

$mount ramdisk.image /mnt

#2.同步到/nfsroot下

$sudo rsync -a /mnt /nfsroot

#这样就可以通过nfs网络文件系统做开发了,但是最近发现了一个问题,就是官方给的文件系统,加载完之后,

#想去看/proc下的cpuinfo时, $cat /proc/cpuinfo 无任何反应,ls /proc 发现没有任何东西,这个显然是有问题的,

#理由是:proc文件系统是用来提供内核和进程信息的虚拟文件系统,使用内核自动生成的文件,加载完成一定要能查到很多信息才对。

#同样的利用这个nfs去开发内核驱动的时候,发现:利用 insmod XXX.ko可以正常插入内核模块,但是lsmod,

#和rmmod都出现了问题,提示/proc下缺东西,/lib/modules下缺东西

解决方法:

#proc文件系统必须要跟访问其他文件系统一样,需要先挂载。挂载方法:mount -t proc none /proc

#我们可以在加载文件系统初始化过程让他自动挂载

$vim /nfsroot/etc/init.d/rcS

#在文件末尾加入:

mount -t proc none /proc

#解释:/proc作为虚拟文件系统,不与任何物理的设备对应,用none 与之配合,加入要挂载物理的设备,则为

#mount -t ext4 /dev/mmcblk0p2 /proc ,这是他们的差别

#验证:重启开发板

$ls /proc

#你会看到你想要的内容了

#还有一个rmmod,提示缺少/lib/modules文件还是什么的,具体记不清了大致就是这个意思。

#原因是在lib/modules下缺少对应你内核版本的文件,只需启动开发板后,输入指令:

$mkdir /lib/modules/$(uname -r)

#这时再去看/lib/modules/下会出现一个对应你内核版本的文件夹,再去做内核模块驱动的加载删除

#查看就ok了

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分