嵌入式linux根文件系统制作(基于arm)

本文介绍如何从零开始构建嵌入式Linux根文件系统,包括创建目录结构、安装基本工具、编译内核模块及配置busybox等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嵌入式linux根文件系统制作(基于arm)  

基于国嵌视频:课程4(嵌入式LINUX内核驱动进阶班-上)  > >  第3天(嵌入式Linux系统构建)  > >  国嵌内核驱动进阶班-3-2(根文件系统制作)

根文件系统是linux启动时使用的第一个文件系统,没有根文件系统,linux无法正常启动。根文件系统由一系列的目录组成,目录中包含了应用程序、C库、以及相关的配置文件。

根文件系统的制作

1. 创建根文件系统的目录

# pwd

/home/chen/guoqian/4-3-2

#mkdir  rootfs

#cd  rootfs

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

#mkdir  usr/bin  usr/lib  usr/sbin  lib/modules

2. 创建设备文件

 # pwd

/home/chen/guoqian/4-3-2/rootfs

#cd  ./dev/

#mknod  -m 666 console  c   5  1

#mknod  -m 666  null    c  1  3

数字分别代表主装置代码 major 次装置代码 minor,-m用来设置权限。c用于装置为一个周边输入设备备档案,例如鼠标/键盘等

#cd  ../

3. 安装/etc到rootfs目录

# pwd

/home/chen/guoqian/4-3-2

# ls

busybox-1.13.3.tar.gz   etc.tar.gz   rootfs

#tar -zxvf  etc.tar.gz  -C  ./rootfs

# pwd

/home/chen/guoqian/4-3-2/rootfs/etc

# ls

fstab  init.d  inittab  profile

4. 编译内核模块

先进入linux内核目录(linux-2.6.29)

# pwd

/home/chen/guoqian/4-3-1/linux-2.6.29

# make modules  ARCH=arm  CROSS_COMPILE=arm-linux-

5. 安装内核模块

# pwd

/home/chen/guoqian/4-3-1/linux-2.6.29

#make modules_install  ARCH=arm   INSTALL_MOD_PATH=../../4-3-2/rootfs

# pwd

/home/chen/guoqian/4-3-2/rootfs

# ls ./lib/modules/

2.6.29.4-FriendlyARM

6. 配置busybox

将busybox-1.13.3.tar.gz解压后进入busybox目录执行

# pwd

/home/chen/guoqian/4-3-2

# tar -zxvf busybox-1.13.3 

# pwd

/home/chen/guoqian/4-3-2/busybox-1.13.3     

#make  menuconfig

嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN
(1)  进入Busybox Settings->Build Options->
嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN
选中”Build Busybox as a static binary (no shared libs)”,静态链接
嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN
并将Cross Compiler prefix指定为arm-linux-
嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN
(2)   进入Busybox Settings –>Installation Options->
嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN
选中”Don’t use /usr”,避免busybox被安装到宿主机的/usr目录下,破快宿主机系统。
嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN
并指明编译后的busybox的安装位置,在BusyBox  installation prefix中输入如下路径。
嵌入式linux根文件系统制作(基于arm) - 至庸 - THE BOLG OF CHEN  
退出busybox,保存。上面是busybox的基本配置,自己可以根据自己的需求增删其他配置。
7.编译、安装busybox

在busybox目录下执行:

# pwd

/home/chen/guoqian/4-3-2/busybox-1.13.3     

#make  ARCH=arm  CROSS_COMPILE=arm-linux-

# make install

安装完后会在rootfs的bin和sbin目录下出现许多命令,注意查看一下sbin目录下是否有init文件,这个是系统启动首先加载的文件。至此根文件系统就制作好了,由于本文用的是congig-mini2440文件制作的是nfs文件系统,为了能够挂载需要修改/erc/export配置文件,具体配置见另一博文

 


nfs与ramdisk文件系统

在针对mini2440配置好的内核linux-2.6.29目录下打开.config文件,里面有一行是这样描述的(nfs文件系统)

CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=192.168.2.119:/home/chen/guoqian/4-3-2/rootfs ip=192.168.2.118  console=tySAC0 mem=64M”

如果是ramdisk文件系统,则可改为

CONFIG_CMDLINE=”root=/dev/ram  rw  console=tySAC0  mem=64M”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值