linux系统运行不像vxworks等嵌入式系统一样,它需要挂载一个根文件系统。在BSP开发之初,我们可以没有测试flash驱动以及网络驱动。基于uboot启动linux时,我们可以使用ramdisk,当网络驱动确认可以使用后,在开发应用程序时,使用nfs是一种很好选择。
1、ramdisk
关于ramdisk内核的配置,网上有许多讲述。但是有一种错误这里需要重点说一下。
1)、在配置ramdisk大小时,大部分内核配置为4M或者8M。这个值要视自己制作的ramdisk大小为多大。如果大于内核配置的值会出现kernel panic。
2)ramdisk的格式应为ext2,否则会出现挂载错误。
3)meta-altera中生成的rootfs没有ext2格式,应该加上。
在\poky\meta-altera\conf\machine\include\socfpga.inc文件中添加如下:
然后执行bitabke core-image-minimal后会生成后缀为.ext2的rootfs。
设置bootargs为
安装nfs server
sudo apt-get install nfs-kernel-server
创建一个nfs目录,比如在自己的目录下 /home/xx/nfs
把yocto工程生成的tar.gz解压到这个目录。接下来就是配置nfs,在/etc/export中加入
/home/xx/nfs *(rw,no_root_squash,async,no_subtree_check)
最后重启nfs
sudo service nfs-kernel-server restart
设置bootargs console=ttyS0,115200 root=/dev/nfs rw ip=192.168.9.101 nfsroot=192.168.9.10:/home/xx/nfs