基于busybox-1.10.1的简易根文件系统制作

busybox的安装和配置/最小根文件系统的制作 1.了解uImage和zImage: linux内核经过编译后会生成一个elf格式的可执行程序,叫做vmlinux或vmlinuz,这个是原始的未经任何处理加工的原版内核elf文件,嵌入式系统部署时烧录一般不是这个vmlinux,而是要用objcopy工具去制作成烧录镜像格式的文件Image(这个制作烧录镜像主要目的是缩减大小,节省磁盘)。原则上Image就可以直接被烧录在flash上启动执行,, 阅读详情

1)    解压busybox,当前目录为/new_disk/weiyan/

tar jxf /new_disk/weiyan/busybox-1.10.1.tar.bz2
cd busybox-1.10.1
 
2)    修改体系架构并指定交叉编译器
vi Makefile,将175行和176行的
ARCH           ?= $(SUBARCH)
CROSS_COMPILE   ?=
修改为
ARCH           ?= arm
CROSS_COMPILE   ?= arm-linux-
 
3)    简单配置busybox
make defconfig            #载入默认配置
make menuconfig
Busybox Settings --->
Busybox Library Tuning --->
[*]   Additional editing keys
[*]   vi-style line editing commands
[*]   History saving
             [*]   Fancy shellprompts
             #添加对转义命令提示符和快捷键的支持
Linux Module Utilities ---> 
[ ] Support version 2.2.x to 2.4.x Linux kernels
#取消对旧内核模块加载功能的支持
Miscellaneous Utilities --->
[ ] taskset                          #取消导致编译错误的CPU绑定支持,
Shells --->
       [*]   alias support       #加入对命令别名的支持
 
4)    编译,并安装到_install目录
make && make install
 
5)    建立文件系统目录
mkdir /new_disk/weiyan/rootfs
cd /new_disk/weiyan/rootfs
mkdir lib dev etc etc/init.d
 
6)    复制busybox和库文件
cp /new_disk/weiyan/busybox-1.10.1/_install/* ./ -a
cp /usr/local/arm/3.4.1/arm-linux/lib/*so* lib -a
rm lib/libstdc++.so*
7)    建立必要的启动节点
mknod -m 660 dev/console c 5 1
mknod -m 660 dev/null c 1 3
mknod -m 660 dev/tty0 c 4 0
mknod -m 660 dev/tty1 c 4 1
mknod -m 660 dev/tty2 c 4 2
mknod -m 660 dev/tty3 c 4 3
mknod -m 660 dev/tty4 c 4 4
 
8)    建立初始化脚本
touch etc/init.d/rcS
chmod 777 etc/init.d/rcS
 
9)    建立并格式化ext2格式的ram盘镜像
cd ..
dd if=/dev/zero of=ramfs.img bs=1k count=4k
mkfs.ext2 -F -m0 ramfs.img
 
10)    挂载ram盘并导入文件
mkdir ramfs
mount -o loop ramfs.img ramfs
cp -a rootfs/* ramfs
umount ramfs
11)    生成压缩的ram盘镜像
gzip -9 ramfs.img
cp ramfs.img.gz /new_disk/tftp
 
12)    启动开发板,修改U-boot的启动参数
设置ram盘的加载地址为0x33000000,大小为0x200000
WEIYAN # setramopt root=/dev/ram0 initrd=0x33000000,0x200000
WEIYAN # set bootargs  $(ramopt)  console=ttySAC0
保存修改
save
 
13)    下载ram盘镜像和内核,并从sdram启动内核
WEIYAN # tftp 0x33000000 ramfs.img.gz
WEIYAN # tftp 0x31000000 uImage
WEIYAN # bootm 0x31000000
 
14)    启动运行结果
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 136K
init started: BusyBox v1.10.1 (2008-03-02 02:33:43 CST)
starting pid 791, tty '': '/etc/init.d/rcS'
usb 1-1: new full speed USB device using s3c2410-ohci and address 2
 
Please press Enter to activate this console.

使用busybox制作根文件系统 1、Linux內核啓動之後,第一個掛載的文件系統,称为根文件系统。根文件系统由基本的she'll命令、各种库、字符设备、配置脚本组成。它提供了根目录/。RFS(root file system)可以放在nor、nand flash、SD卡、磁盘、网络空间上。 2、在Linux文件系统中,计算机对应的就是根文件系统。bin里面存放了各种命令文件,lib里面存放了各种库,dev 目录存放了各种设备。... 阅读详情

相关推荐

Linux根文件系统构建(busybox)

上一小节说了,根文件系统里面就是一堆的可执行文件和其他文件组成的?根文件系统的这个“根”字就说明了这个文件系统的重要性,它是其他文件系统的根,没有这个“根”,其他的文件系统或者软件就别想工作。这个就是我们本章教程的目的,教大家来构建自己的根文件系统,这个根文件系统是满足 Linux 运行的最小根文件系统,后续我们可以根据自己的实际工作需求不断的去填充这个最小根文件系统,最终使其成为一个相对完善的根文件系统。dev 是 device 的缩写,所以此目录下的文件都是和设备有关的,此目录下的文件都是设备文件。

qq_28576837的博客 2090

Linux 2.6.36.2 + Busybox-1.17.4移植

***********************资源下载*********************** / Q) u4 G9 \0 O* F湖盟防御帮助中心1. Toolchain , z0 a: f7 `# v$ z+ d' L湖盟防御帮助中心wget -c http://www.codesourcery.com/sgpp ... e-linux-gnueabi.bin " P% ?0

flymachine的专栏 3767

BusyBox制作根文件系统(rootfs)

定制根文件系统的方法很多,最常用的是使用BusyBox来构建。它能使用户迅速方便地建立一套相对完整、功能丰富的文件系统,其中包括大量常用的应用程序。它集成压缩了Linux的许多工具和命令。下面详细介绍有关BusyBox定制根文件系统。   一、系统环境: 1、操作系统:Ubuntu12.04 2、交叉编译工具:arm-linux-gcc4.4.3 3、busybox源码包:busybox

happy_stars_2016的博客 1万+

BusyBox v1.20.0命令介绍(一)

转载地址:http://www.voidcn.com/article/p-qdmllssy-bru.html 命令合集 root@android:/ # busybox-smp BusyBox v1.20.0 (2012-08-22 21:36:24 CDT) multi-call binary. Copyright (C) 1998-2011 Erik Andersen, Rob Land...

kunkliu的博客 6182

【Hi3516A】使用busybox制作根文件系统

利用 busybox 制作根文件系统需要先获取 busybox 源代码,然后配置、编译和安装busybox,操作成功后开始制作根文件系统。成功安装 SDK 后, busybox 完整源代码就存放在 osdrv/目录中。当然也可以自己到官网http://www.busybox.net 去下载 busybox 源代码。 一、配置,编译,安装busybox 1.1 配置busybox ①进入busy...

晨海的博客 1130

busybox-1.10.3.tar.tar

BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。<br>

ubuntu10.04 使用busybox制作根文件系统 1

<br />参看之前的文字,下载了1.9.2版本和1.16.0版本,1.9.2使用gcc-3.4.1到时候,出现错误,查看资料,说这个版本使用3.3.2没问题。但是我想使用3.4.1所以下载了较新到1.16.0 下载: http://www.busybox.net/<br /> 修改  Makefile 修改ARCH和CROSS_COMPILE为如下<br />#gedit Makefile<br />#自己的交叉编译器<br /> CROSS_COMPILE = arm- linux-<br

成都_冉若愚 专栏 4038

busybox-1.30.1.tar.bz2

BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。

根文件系统及Busybox详解之一

根文件系统及Busybox简介 目录 1.根文件系统简介...2 2.Busybox简介...2 2.1Busybox简介...2 2.2Busybox目录结构简介...2 2.3init进程简介...3 3.构建自己的根文件系统...9 3.1编译Busybox.9 3.2向Busybox中添加新命令...19 4.附录...26 4.1Busybox实现的简单分析...2

chenlong12580的专栏 1万+

C# HttpClient 实战:3步绕过Cloudflare指纹拦截,获取完整网页内容

本文详细介绍了如何使用C# HttpClient绕过Cloudflare指纹拦截,获取完整网页内容的3步实战方案。通过完美复制浏览器请求头、智能管理Cookie容器以及处理动态挑战页面,开发者可以有效突破Cloudflare的反爬机制,适用于爬虫开发和数据采集项目。

weixin_31856057的博客 321

Cox构建预测模型(5):如何用R语言绘制校准曲线(附全套代码)

这篇文献通过绘制两个模型的DCA曲线来评估模型的临床决策实际需求,一个是列线图模型,包括纳入列线图的全部变量,一个是TNM模型,只纳入TNM分期3个变量。A图是训练集1年、3年、5年患者的总生存期的DCA曲线;B图是训练集1年、3年、5年患者的总生存期的DCA曲线,红色线条代表列线图模型(包括构建模型的10个变量),黄色线条代表TNM模型(仅纳入TNM分期3个变量),两个模型对比,在绘制校准图之前,必须要完成数据的导入、拆分数据集的工作、预测因子的筛选,校准图的绘制是分别在训练集与验证集独立进行的。

qq_37610365的博客 1360

busybox制作根文件系统

BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将BusyBox称为Linux工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了Linux系统的自带的shell。

2401_85344823的博客 778

ABAP BOM展开避坑指南:CS_BOM_EXPL_MAT_V2函数参数配置详解

本文深入解析了SAP ABAP开发中用于物料清单展开的核心函数CS_BOM_EXPL_MAT_V2。针对其复杂的参数配置,如CAPID、STLAN、DATUV和MEHRS,提供了详细的避坑指南和最佳实践,帮助开发者避免数据错误与性能陷阱,实现高效、准确的BOM多层展开。

pea55的博客 856

嵌入式Linux利用busybox制作根文件系统

本文介绍如何利用busybox制作一个最小根文件系统,系统包含ls、cd、ifconfig等基本指令,文件系统采用动态加载的方式。 1.去busybox官网下载源码 官网地址:busybox官网 下载busybox-1.29.0版本。 2.将源码拷贝至Linux主机并解压 将busybox源码拷贝到linux主机并解压,同时新建一个roo...

分享嵌入式Linux技术知识 2360

用deepseek部署全自动的机器人--bytebot

Bytebot是一款开源AI桌面代理,提供完整的虚拟桌面环境,支持跨应用任务处理、文件管理、文档处理等复杂工作流。其技术架构包含核心控制、LLM代理、UI等组件,支持Docker和Kubernetes部署。本文演示了基于CloudStudio的部署流程,包括环境配置、Docker部署及DeepSeek API集成,实现多模型调用功能。

Kin 2483

手把手教你学Simulink--基于电能质量与无功补偿的场景实例:统一电能质量调节器(UPQC)的联合控制仿真

在现代电力系统中,电能质量问题有源电力滤波器(APF)→ 治理谐波与无功动态电压恢复器(DVR)→ 补偿电压暂降/暂升静止无功发生器(SVG)→ 无功补偿与电压支撑而统一电能质量调节器(Unified Power Quality Conditioner, UPQC)是一种集串联补偿与并联补偿于一体的全能型电能质量治理装置✅ 电压类问题:暂降、暂升、不平衡、闪变✅ 电流类问题:谐波、无功、三相不平衡✅ 实现双向有功交换(储能型)串联单元(DVR功能):串联于线路,控制电源侧电压质量并联单元。

MHD0815的博客 240

15、rk3399-firefly busybox制作根文件系统

的目的就是将编译生成的可执行程序及其依赖的库文件、配置文件、头文件安装到当前系统中指定(一般都可以自己指定安装到哪个目录下,如果不指定一般都有个默认目录)的目录下,默认被安装到。注意:一般你使用什么版本的交叉编译器来编译linux内核时,文件系统中的所有程序也要使用同样的交叉编译器来编译。里面是库文件,这还不足以构成 一个可用的根文件系统,必须进行其它完善工作,才能构建一个可用的根文件系统。进程解析的配置文件,通过这个配置文件决定执行哪个进程,何时执行。以上内容定义了系统启动时,关机时,重启时,按下。

Linux系统开发 999

L2CAP 面向连接信道(CoC)在 BLE 中的应用:建立、流控与数据传输

L2CAP(逻辑链路控制与适配协议)是蓝牙协议栈中的核心层,位于基带层之上,为上层协议提供数据传输服务。在低功耗蓝牙(BLE)中,L2CAP面向连接信道(Connection-Oriented Channel, CoC) 是实现可靠数据传输的关键机制,广泛应用于健康监测、智能家居、工业控制等领域。

byte轻骑兵的技术小窝 3638

用 BusyBox 构建根文件系统

根文件系统构建

安迪西_嵌入式攻城狮 4299

基于Qt的工业组态软件开发:图形绘制与TCP通讯实现

在数据接收时,通过 readyRead 信号触发解析函数,校验数据包完整性后提取有效数据,并更新对应图形元素的状态,例如根据温度值改变矩形的填充色,实现设备状态可视化。测试阶段,我们将软件部署到Windows工控机,连接PLC设备进行通讯测试,结果表明图形元素响应及时,TCP数据传输稳定,满足工业现场的基本需求。综上所述,基于Qt的组态软件开发,核心在于利用 QGraphicsView 框架实现图形元素的灵活绘制与管理,结合 QTcpSocket 完成工业数据的可靠交互。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 273

【RKNN】RKNN(Rockchip Neural Network)​​ 的详解

RKNN 为 Rockchip 硬件提供了高效的 AI 推理解决方案,适合需要低功耗、实时响应的边缘场景

浩瀚之水的专栏 1689

busybox根文件系统构建

根文件系统里面就是一堆的可执行文件和其他文件组成的?难道我们得一个一个的从网上去下载这些文件?显然这是不现实的!那么有没有人或者组织专门干这个事呢?他们负责“收集”这些文件,然后将其打包,像我们这样的开发者可以直接拿来用。答案是有的,它就叫做BusyBox!其名字分为“Busy”和“Box”,也就是忙碌的盒子。盒子是用来放东西的,忙碌的是因为它要提供根文件系统所需的文件,所以忙碌。BusyBox是一个集成了大量的Linux命令和工具的软件,像lsmvifconfig。

hqb_newfarmer的博客 2088

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

busybox制作ramdisk根文件系统

busybox制作ramdisk根文件系统如何制作一个根文件系统开启内核配置选项busybox交叉编译 如何制作一个根文件系统 制作一个根文件系统涉及到以下三块: 内核要支持该类型的根文件系统 busybox制作根文件系统 u-boot启动参数设置 开启内核配置选项 本文的目的是制作一个ramdisk根文件系统,自然内核要支持该类型的文件系统,打开相关配置选项 cp arch/arm/configs/imx6ull_defconfig .config make ARCH=arm CROSS_COMPI

m0_57705123的博客 2071

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

4.5 使用busybox制作根文件系统

Linux系统启动之后就会启动init进程,init进程会根据/etc/inittab这个文件来启动在不同的运行级别进程或操作。将之前使用busybox制作的rootfs的文件复制过来,然后取消挂载,然后制作镜像。id:登记项标识符,用于惟一地标识/etc/inittab文件中的每一个登记项。inittab的格式: id:runlevels:action:process。(4)配置mdev,/dev中的驱动设备节点由mdev创建。action:用于设置process的运行方式。(2)命令行vi风格。

weixin_45523296的博客 1076

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

系统移植-(四)根文件系统的制作、编译和移植:busybox

根文件系统的制作、编译和移植根文件系统 简介根文件系统 -制作工具:busybox根文件系统 -各目录介绍rootfs制作流程(一)配置交叉编译工具链(二)使用busybox工具制作rootfs根文件系统 根文件系统 简介 根文件系统:系统运行所必须依赖的一些文件,eg:脚本、库、配置文件等; 本质就是目录和文件。 根文件系统镜像:将根文件系统按照某种格式进行打包压缩后,生成文件ramdisk.i...

蒲公英的诗与远方 2169
上一篇: S5PV210 uboot启动过程
下一篇: Linux无线网络设置(wpa_supplicant的使用)
KerNEL.AC.CN
博客等级 码龄15年 100粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值