构建根文件系统

本文详细介绍如何从源码下载BusyBox,进行配置、编译、安装,并将其用于创建jffs2文件系统,最终烧录至设备启动的过程。包括配置静态编译与交叉编译环境,调整inittab文件,以及使用mkfs.jffs2制作文件系统。

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

1. 下载busybox

https://busybox.net/downloads/busybox-1.31.0.tar.bz2

2. 配置、编译、安装busybox

2.1 配置busybox

$ make menuconfig

1) 选择静态编译

2)交叉编译工具路径

2.2 编译

$ make CROSS_COMPILE=mips-linux-gnu- ARCH=mips

2.3 安装

$ make CROSS_COMPILE=mips-linux-gnu- ARCH=mips install

3. inittab

3.1 拷贝initable到文件系统etc下

$ mkdir _install/etc

$ cp ./examples/inittab ./_install/etc

3.2 修改inittab

去除一下信息:

 61 # Start an "askfirst" shell on /dev/tty2-4
 62 tty2::askfirst:-/bin/sh
 63 tty3::askfirst:-/bin/sh
 64 tty4::askfirst:-/bin/sh
 65 
 66 # /sbin/getty invocations for selected ttys
 67 tty4::respawn:/sbin/getty 38400 tty5
 68 tty5::respawn:/sbin/getty 38400 tty6

4. 制作文件系统并烧录

4.1 制作文件系统

在此需要的是jffs2的文件系统:

#!/bin/sh

ROOTFS_JFFS2_NORFLASH_ERASESIZE=0x8000
ROOTFS_JFFS2_SIZE=0xc80000
TARGET_FS_BUILD=`pwd`/system
TARGET=system.jffs2

fakeroot mkfs.jffs2 -e $ROOTFS_JFFS2_NORFLASH_ERASESIZE  -p $ROOTFS_JFFS2_SIZE -d $TARGET_FS_BUILD -o $TARGET

$ ./make_jffs2.sh

4.2 烧录并启动

启动成功。

 

参考:

https://note.youdao.com/ynoteshare1/index.html?id=15b6e982c2e66d0f47b1c787a49f4f99&type=note

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值