xilinx zynq开发--修改官方的根文件系统

#前段时间在做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了








你可能感兴趣的:(xilinx,zynq系列开发)