Mini2440+Linux2.6.38.2移植busybox-1.35.0制作根文件系统

本文介绍了如何下载BusyBox源码并进行编译配置,包括设置交叉编译环境,修改Makefile,选择静态库,取消特定组件。接着,创建根文件系统目录结构,拷贝配置文件,并修改关键文件如inittab、rcS等。最后,讲解了如何制作根文件系统镜像root.img,包括安装mkyaffs2image工具,使用该工具生成镜像,并确保内核支持YAFFS2文件系统。

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

一、busybox源码下载地址

http://www.busybox.net/downloads/ 

二、busybox 编译配置

 1.前提条件,系统已配置好交叉编译环境

2.打开busybox顶层目录的Makefile  修改164行 

 CROSS_COMPILE ?=arm-linux-

修改192行

ARCH ?= arm

3.执行make menuconfig

Settings-Build Options-Build static binary (no shared libs)

在这里插入图片描述

 建议使用静态库,动态库好像挂载根文件系统有问题

4.取消Coreutils-sync和Linux System Utilities-nsenter

不取消这两项编译会不通过

在这里插入图片描述

5.配置安装目录

 进入Settings  --->

修改安装的目录,如下图安装目录为/opt/rootfs/rootfs

执行make命令,再执行make install命令,busybox就会被安装到/opt/rootfs/rootfs目录下

 三、建立根文件系统目录

1.创建目录

#!/bin/sh

echo "------Create rootfs directons start...--------"

mkdir rootfs cd rootfs

echo "--------Create root,dev....----------"

mkdir root dev etc boot tmp var sys proc lib mnt home mkdir etc/init.d etc/rc.d etc/sysconfig mkdir usr/sbin usr/bin usr/lib usr/modules

echo "make node in dev/console dev/null"

mknod -m 600 dev/console c 5 1

mknod -m 600 dev/null c 1 3

mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp

mkdir var/lib var/lock var/run var/tmp

chmod 1777 tmp

chmod 1777 var/tmp

echo "-------make direction done---------" 

2.从busybox目录拷贝配置文件
cp /homework/busybox-1.13.3/examples/bootfloppy/etc/*  etc/ -arf

这里面主要有用的是etc目录的配置文件。

3.修改必要文件

etc/inittab

etc/inti.d/rcS

etc/fstab

etc/profile

修改这些文件请参考友善之臂官网给出的文档

四.制作根文件系统镜像root.img

1.安装制作根文件系统工具mkyaffs2image

2.使用命令mkyaffs2image rootfs rootfs.img制作跟文件系统镜像

3.前提Linux内核已经支持yaffs2文件系统

4.下载到mini2440开发板,就能运行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值