当前位置: 首页 > article >正文

【Linux】基于 Busybox 构建嵌入式 Linux(未完成)

嵌入式 Linux

1.需要 Toolchain
2.需要 Bootloader
3.需要嵌入式 Linux 基本组件:

  • Linux kernel
  • DTB
  • Root filesystem
    • Init
    • Shell
    • Daemon
    • Shared libraries
    • Configuration file
    • Device node
    • proc and sys
    • Kernel Module

基于 Busybox 构建

1.编译 Linux kernel

2.编译 Busybox

获取 Busybox,然后 make menuconfig,在选择好 build static libraries,然后 make,最后 make install。这样你就能在 busybox/_install 得到以下目录和文件:

bin linuxrc	sbin usr

3.补全系统所需目录和文件

我们在当前系统的 home 下新建临时的 rootfs 目录,用于构建新的嵌入式 Linux

$ mkdir ~/rootfs
$ cd ~/rootfs
$ mkdir bin dev etc home lib proc sbin sys tmp usr var
$ mkdir usr/bin usr/lib usr/sbin
$ mkdir -p var/log

将 busybox/_install 目录 下的文件复制到 /home/rootfs 中。
让 rootfs 目录下的文件权限重新设置

$ cd ~/rootfs
$ sudo chown -R root:root *

在 dev 下创建设备

$ cd ~/rootfs
$ sudo mknod -m 666 dev/null c 1 3
$ sudo mknod -m 600 dev/console c 5 1
$ ls -l dev
total 0
crw------- 1 root root 5, 1 Mar 22 20:01 console
crw-rw-rw- 1 root root 1, 3 Mar 22 20:01 null

挂载 sys 和 proc 的文件系统

# mount -t proc proc /proc
# mount -t sysfs sysfs /sys

创建文件 /etc/inittab,内容为

::sysinit:/etc/init.d/rcS
::askfirst:-/bin/ash

创建文件 /etc/init.d/rcS,内容为

#!/bin/sh
mount -t proc proc /proc
mount -t sysfs sysfs /sys

在 /etc/inittab 创建守护进程

::respawn:/sbin/syslogd -n

4.制作映像文件


http://www.kler.cn/a/404566.html

相关文章:

  • 初始ArkUI
  • C# Postman或者PostApi调试前端webapi接口发送带有request/body/head信息
  • springboot整合License授权控制
  • C++和js对比
  • 【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
  • WPF里面的C1FlexGrid表格控件添加RadioButton单选
  • 2024 hkcertctf web 部分wp
  • android-studio-4.2下载 、启动
  • SpringSecurity创建一个简单的认证应用
  • Flink Lookup Join(维表 Join)
  • 使用TensorFlow实现简化版 GoogLeNet 模型进行 MNIST 图像分类
  • 对subprocess启动的子进程使用VSCode python debugger
  • 【Linux】软件包管理器yum、编辑器vim
  • Kafka中ACKS LSO LEO LW HW AR ISR OSR解析
  • Spring Bean 的生命周期详解
  • 笔记--(Shell脚本01)、正则表达式与文本处理器
  • 零基础Java第二十二期:异常(二)
  • 【Nginx从入门到精通】05-安装部署-虚拟机不能上网简单排错
  • 大语言模型与图结构的融合: 推荐系统中的新兴范式
  • 基于LLama_factory的Qwen2.5大模型的微调笔记
  • Scala中的集合复习(1)
  • 2024中国报业技术年会 | 文盾信息聚焦AI大模型的内容安全风控实践
  • Easyexcel(3-文件导出)
  • 鸿蒙多线程开发——线程间数据通信对象02
  • 用Python爬虫“偷窥”1688商品详情:一场数据的奇妙冒险
  • Scala的Array多维数组