S3C2440:如何制作根文件系统?
扫描二维码
随时随地手机看文章
我们知道2440开发流程为:移植uboot--》移植内核---》挂接根文件系统。
我们移植完内核需要挂接根文件系统,那么首先我们必须拥有根文件系统。如何来制作我们的根文件系统呢?
第一步:在linux下建立一个文件夹 mkdir rootfs
第二步:在rootfs文件下建立以下目录 mkdir bin dev etc lib proc sbin sys usr mnt tmp var
第三步:进入usr目录,在该目录下建立如下子目录mkdir bin lib sbin modules
第四步:创建设备文件,设备文件在dev目录中,进入dev目录。mknod -m 666 console c 5 1
mknod -m 666 null c 1 3
第五步:我们在linux下修改配置时经常需要进入etc目录,这里我们安装etc,在网上下载etc.tar.gz文件,安装到footfs目录下的/etc目录中:tar xvzf tar.etc.tar.gz -C /xxx/rootfs
第六步:在linux内核源码目录下编译内核模块,进入源码根目录 make modules ARCH=arm CROSS_COMPILE=arm-linux-
第七步:编译好的内核模块,放到我们第一步建立的rootfs中.make modules_install ARCH=arm INSTALL_MOD_PATH=/XXX/rootfs
接下来就是busbox了,busybox还在学习,学好贴上。
附:我们为什么要制作内核模块 然后放到我们的rootfs中,因为,所有内核都编译进zImage的话,内存会装很多东西,系统运行不流畅,我们将部分不常用的模块制作成内核模块,放到文件系统中,以后需要用到的时候执行install安装就可以了,这样可以极大释放内存的压力。
另外,我们在使用linux时经常要使用各种命令,命令也用文件的形式体现,这些命令放在/bin目录下,我们怎么制作这些命令文件呢,这里用到了busybox,用busybox制作好命令文件 路径指向rootfs/bin下。