mini2440 linux2.6 内核制作-根文件系统制作

原创 2012年03月25日 00:25:32

上篇我写了一个关于内核制作的文章,但是只有内核是不能运行linux,还需要根文件系统。下面我们就来介绍根文件系统。

要用到工具,busybox,和一个打包文件(在光盘linux目录下可以找到)--etc.tar.gz.

现在已经报两个文件拷贝到了 ~/working文件夹下。

解压 busybox-1.13.3-mini2440

tar xvzf busybox-1.13.3-mini2440.tar.gz


因为后期要将根文件使用nfs来共享,所以我们这里要在nfs文件夹下建立根文件系统 rootfs文件夹

mkdir -p ./nfs/rootfs

cd nfs/rootfs


创建根文件系统的子目录:

mkdir bin dev etc lib proc sbin sys usr mnt tmp var

cd usr

mkdir bin lib sbin
cd  ..

cd lib

mkdir modules

这样把根文件系统所需要的基本子目录创建成功了。


现在创建设备文件:

cd dev

mknod -m 666 console c 5 1(可能会用到root账户)sudo

mknod -m 666 null c 1 3


把etc文件拷贝过来

tar xvzf ~/working/etc.tar.gz -C ../(解压到rootfs 目录下)

输出:

etc/
etc/inittab
etc/profile
etc/fstab
etc/init.d/
etc/init.d/rcS


接下来,编译内核模块:

到我们解压的 linux-2.6.29下。

make modules ARCH=arm CROSS_COMPILE=arm-linux-


安装内核模块:

make modules_install ARCH=arm INSTALL_MOD_PATH=~/working/nfs/rootfs


输出:

INSTALL drivers/char/mini2440_hello_module.ko
INSTALL drivers/scsi/scsi_wait_scan.ko
DEPMOD  2.6.29.4-FriendlyARM
在 /nfs/rootfs/lib/modules/可以看到 2.6.29.4-FriendlyARM文件夹,这样内核模块安装成功。

这一步主要是将 .ko文件放到 rootfs的lib的modules下


配置busybox

到busybox 目录下

然后

make menuconfig

Busybox Settings  --->  Build Options  --->  Build BusyBox as a static binary (no shared libs) 这里就是使用静态库


再往下: (arm-linux-) Cross Compiler prefix

前面文章我搭建交叉编译环境是 编译器为 arm-linux-,所以这里是 这样。


设置完成后,进入Installation Options
选中 Don't use /usr   防止把这些命令安装到了宿主机中

再把下面的目录修改到 rootfs 路径下。

~/working/nfs/rootfs 

然后可以退出,至于其他,可以看看,比如在Editor下面 ,有vi,这样如果选中,就可以为2440上面安装vi编辑器。


退出保存


现在要进行编译了

make ARCH=arm CROSS_COMPILE=arm-linux-


完成后安装

make install


完成后,就可以看到 rootfs目录下的bin sbin 中就有命令程序了。

现在根文件系统就完成了。


下一篇,就开始使用nfs启动根文件系统了




 







mini2440构建根文件系统

构建根文件系统 一. 根文件系统知识 根文件系统是嵌入式linux系统三个重要组成部分之中的其中一个,其他两个是bootloader, kernel。在系统 中扮演者重要的角色。它是linux...

Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-l...

PCB走线宽度变化产生的反射

在进行PCB布线时,经常会发生这样的情况:走线通过某一区域时,由于该区域布线空间有限,不得不使用更细的线条,通过这一区域后,线条再恢复原来的宽度。走线宽度变化会引起阻抗变化,因此发生反射,对信号产生影...

mini2440构建根文件系统

构建根文件系统 一. 根文件系统知识 根文件系统是嵌入式linux系统三个重要组成部分之中的其中一个,其他两个是bootloader, kernel。在系统 中扮演者重要的角色。它是linux...

Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(3)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境...

Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境...

Linux-2.6.32.2内核在mini2440上的移植---根文件系统制作(1)

Linux-2.6.32.2内核在mini2440上的移植---根文件系统制作(1)   1根文件系统制作 在构建文件系统时,建议遵循FHS(Filesystem Hierarch...
  • HL5654
  • HL5654
  • 2011年11月17日 15:39
  • 2229

【引用】Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-l...

Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(2)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-l...

Linux-2.6.32.2内核在mini2440上的移植----用busybox制作根文件系统

1、交叉编译Busybox (1)、解压 busybox clx@think:/work$ tar -jxvf busybox-1.20.0.tar.bz2 -C /work/armlinux (2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mini2440 linux2.6 内核制作-根文件系统制作
举报原因:
原因补充:

(最多只允许输入30个字)