Busybox 制作文件系统并用 Qemu 启动编译的内核镜像

编译内核操作

https://blog.csdn.net/assiduous_me/article/details/120938556

安装Busybox操作

https://blog.csdn.net/assiduous_me/article/details/120939319

syz@DESKTOP-B10G93S:~$ ls -l
total 20
drwxr-xr-x 44 syz syz 4096 Oct 26 22:05 busybox
drwxr-xr-x 31 syz syz 4096 Oct 25 23:22 linux
drwxr-xr-x  3 syz syz 4096 Oct 26 22:10 make_rootfs
drwxr-xr-x 10 syz syz 4096 Oct 26 22:08 make_utils
drwxr-xr-x  2 syz syz 4096 Oct 26 22:10 qemu

busybox:busybox源代码
linux:linux内核源代码
make_rootfs:制作文件系统的目录
make_utils:制作文件系统使用的工具目录
qemu:放置启动脚本目录

2.1 拷贝、创建文件夹

cd make_utilssudo cp -r busybox/_install/* .mkdir -p sys mnt sys etc/init.d dev

2.2 新增对应文件、并赋予权限

sudo vim etc/fstabproc    /proc   proc    defaults        0       0
tmpfs   /tmp    tmpfs   defaults        0       0
sysfs   /sys    sysfs   defaults        0       0sudo chmod 755 etc/fstabsudo vim etc/init.d/rcS/bin/mount -a
mount -o remount, rw /
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mdev -ssudo chmod 755 etc/init.d/rcSsudo vim etc/inittab::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -rsudo chmod 755 etc/inittab

2.3 创建对应设备文件

cd devsudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod tty1 c 4 1
sudo mknod ttyS0 c 4 64

3.1 编写制作文件系统脚本 generate_rootfs.sh

sudo vim generate_rootfs.sh
rm -rf rootfs.ext3
rm -rf fs
dd if=/dev/zero of=./rootfs.ext3 bs=1M count=32
mkfs.ext3 rootfs.ext3
mkdir fs
mount -o loop rootfs.ext3 ./fs
cp -rf ../make_utils/* ./fs
umount ./fs
gzip --best -c rootfs.ext3 > rootfs.img.gz

3.2 执行generate_rootfs.sh,生成对应rootfs.img.gz文件

sudo sh generate_rootfs.sh
syz@DESKTOP-B10G93S:~/make_rootfs$ ls -l
total 8432
drwxr-xr-x 2 root root     4096 Oct 26 22:10 fs
-rw-r--r-- 1 syz  syz       234 Oct 26 22:09 generate_rootfs.sh
-rw-r--r-- 1 root root 33554432 Oct 26 22:10 rootfs.ext3
-rw-r--r-- 1 root root  1493586 Oct 26 22:10 rootfs.img.gz

4.1 安装x86的qemu工具

sudo apt-get install qemu-system-x86

4.2 编写qemu启动脚本

sudo vim start_x86_kernel.sh
sudo qemu-system-x86_64 \-smp 2 \-m 1024M \-kernel ../linux/arch/x86/boot/bzImage \-nographic \-append "root=/dev/ram0 console=ttyS0 init=/linuxrc" \-initrd ../make_rootfs/rootfs.img.gz
sudo sh start_x86_kernel.sh
[    3.042848] ext3 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
[    3.054420] mkdir (81) used greatest stack depth: 14360 bytes left
[    3.230501] sh (78) used greatest stack depth: 13976 bytes leftPlease press Enter to activate this console.
/ 
/ 
total 40
drwxr-xr-x    2 0        0             4096 Oct 26 14:10 bin
drwxr-xr-x    8 0        0             2620 Oct 26 14:41 dev
drwxr-xr-x    3 0        0             4096 Oct 26 14:10 etc
drwxr-xr-x    2 0        0             4096 Oct 26 14:10 fs
lrwxrwxrwx    1 0        0               11 Oct 26 14:10 linuxrc -> bin/busybox
drwx------    2 0        0            16384 Oct 26 14:10 lost+found
drwxr-xr-x    2 0        0             4096 Oct 26 14:10 mnt
drwxr-xr-x    2 0        0             4096 Oct 26 14:10 sbin
dr-xr-xr-x   12 0        0                0 Oct 26 14:41 sys
drwxr-xr-x    4 0        0             4096 Oct 26 14:10 usr
/

本篇配置文档并没有特别完善,后续慢慢填充!

转自:

https://blog.csdn.net/assiduous_me/article/details/120982546


推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

fe5b0c7ca8719ff6bc84c594af2f25d3.png

嵌入式Linux

微信扫描二维码,关注我的公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出Win32多线程程序设计之线程通信

简介  线程之间通信的两个基本问题是互斥和同步。  线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。  线程互斥是指对于共享的操作系统…

Kafka Producer源码简述

接着上文kafka的简述,这一章我们一探kafka生产者是如何发送消息到消息服务器的。 代码的入口还是从 kafkaTemplate.send开始 最终我们就会到 org.springframework.kafka.core.KafkaTemplate#doSend方法 这里的关键就是 org.apache.kafka.clients.producer.Producer#…

原来搞单片机也可以面向对象

摘要:在看别人单片机程序时,你也许是奔溃的,因为全局变量满天飞,不知道哪个在哪用了,哪个表示什么,而且编写极其不规范。自己写单片机程序时,也许你也是奔溃的。总感觉重新开启一个项目&#xf…

Cs代码写在html页面哪里,当用于在details.cshtml页面上查看时,我用什么代码来查看模型中的项目列表?...

我正在尝试查看销售订单中的产品列表。它看起来像这样&#xff1a;名称OrderDate OrderTotal Products购买<<被带来的产品。销售订单连接到SalesorderProduct的桥接表。有什么建议。我知道它想要遍历模型&#xff0c;但无法弄明白。Html.DisplayFor(model > model.Cus…

雅虎年底升级IPv6标准 100万用户恐受影响

雅虎年底升级IPv6标准 100万用户恐受影响 http://network.51cto.com 2011-01-20 17:34 佚名 cnBeta 我要评论(0) 据国外媒体报道&#xff0c;雅虎计划今年年底将主站点Yahoo.com升级为IPv6标准&#xff0c;此举可能会使约100万用户在初期无法访问雅虎站点。据国外媒体报道&…

Linux v4l2框架分析

背景说明&#xff1a;Kernel版本&#xff1a;4.14ARM64处理器&#xff0c;Contex-A53&#xff0c;双核使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio1. 概述V4L2(Video for Linux 2)&#xff1a;Linux内核中关于视频设备驱动的框架&#xff0c;对上向应用层提供统…

JAVA自学笔记23

JAVA自学笔记23 1、多线程 1&#xff09;引入&#xff1a; 2&#xff09;进程 是正在运行的程序。是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。 多进程&#xff1a; 单进程的计算机只能做一件事情&#xff0c;而现在的计算机都可以做…

20110126 学习记录:一些关于html中布局的代码 CSS hack速查表

让你的浏览器body滚动条在左边 direction: rtl;HTML段落两端对齐代码text-align:justify; text-justify:inter-ideograph; 图片垂直居中的使用技巧“使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 当然出题并不是随意&#xff0c;而…

html如何实现切换效果,纯CSS实现页签切换效果

主要运用了 CSS3 的 :checked 选择器&#xff0c;代码结构跟使用js差不多&#xff0c;只是多了几个radio&#xff0c;不知道性能上是js快还是css快呢&#xff1f;CSS3 TABbody {font-family: Microsoft YaHei;font-size: 14px;background-color: #f5f4f7;margin: 0;color: #252…

上午写了一段代码,下午就被开除了~

俗话说得好&#xff0c;“代码写的少&#xff0c;离职少不了”。最近畅游互联网&#xff0c;发现一些离职小技巧&#xff0c;读后&#xff0c;内心被深深地打动了……但是&#xff0c;细细品过之后&#xff0c;发现对我们程序员不太适用了。例如&#xff1a;领导夹菜你转桌&…

nginx加载html目录下图片,nginx配置访问图片路径以及html静态页面的调取方法

nginx配置访问图片路径以及html静态页面的调取方法发布时间&#xff1a;2017-03-09 12:06来源&#xff1a;互联网当前栏目&#xff1a;web技术类给大家讲一个快速配置nginx访问图片地址&#xff0c;以及访问html静态页面的配置。1.实验环境首先随便某个路径下创建相应的目录。如…

一些Select检索高级用法

信息来源: 邪恶八进制信息安全团队 SQL五个集合函数&#xff1a;SUM,AVG,COUNT,MAX,MIN 通配符的一些用法&#xff1a;(关键字&#xff1a;like % [] -)select * from tablename where column1 like [A-M]%这样可以选择出column字段中首字母在A-M之间的记录select * from table…

这5个bug我不信你没有写过

大家好&#xff0c;我是写代码的篮球。计算机专业的小伙伴&#xff0c;在学校期间一定学过 C 语言。它是众多高级语言的鼻祖&#xff0c;深入学习这门语言会对计算机原理、操作系统、内存管理等等底层相关的知识会有更深入的了解&#xff0c;所以我在直播的时候&#xff0c;多次…

微信小程序继续入坑指南

微信小程序继续入坑指南 wxml 类似于html 感觉和ejs灰常的相似 数据绑定 js Page({data: {message: "hello world"} })wxml <view>{{message}}</view> 使用的是https://mustache.github.io/模板引擎系统 对组件的属性和控制属性的更改 <view id"…

思科收购网络安全管理厂商Pari Networks

思科收购网络安全管理厂商Pari Networkshttp://netsecurity.51cto.com 2011-01-28 09:39 胡杨 译 网界网 我要评论(0)摘要&#xff1a;思科本星期宣布&#xff0c;它打算收购私营企业Pari Networks。这个企业是前思科工程师创建的&#xff0c;主要提供网络配置、变更和合规…

20年软件工程师的经验

软件工程师在做设计的时候&#xff0c;一定要有设计的思维&#xff0c;码农如果只是砌砖的&#xff0c;那么他的可替代性和技能能力并不高。前段时间看到一个设计师傅&#xff0c;在很狭小的空间内设计了非常非常不错的室内设计&#xff0c;利用了每一个可以利用的地方。如果我…

html超市代码,前端 CSS : 5# 纯 CSS 实现24小时超市

介绍原文链接感謝 comehope 大佬的 [前端每日实战]效果预览源代码地址代码解读1. html 结构命名规则使用了 BEM常规样式初始化* {margin: 0;padding: 0;box-sizing: border-box;}body {height: 100vh;overflow: hidden;}2. 街道背景街道背景分为两部分深蓝色的天空.street {hei…

继续努力奋斗,生活会更美好

回想起2010年&#xff0c;有点留恋&#xff0c;又有点让我伤感。 在北京这么长时间了&#xff0c;也该有段难忘的事啊&#xff01; 人们都说现时很残酷&#xff0c;才发现我的感觉是错的。现时让我很无奈。 现在不是以前。要做现在的自己。 做自己所想的&#xff0c;想自己所做…

送30块树莓派PICO 开发板!

大家好&#xff0c;今天是周日&#xff0c;给大家搞个小抽奖&#xff0c;送30块。嵌入式猛男必备&#xff0c;学嵌入式看『我要学嵌入式』&#xff0c;知识持久有力。点击关注&#xff0c;回复【1031】参与抽奖&#xff0c;免费送 10块 树莓派最新PICO开发板。学C语言看『写代码…

会考计算机考试vb知识点,高中会考计算机vb知识点.doc

学 海 无 涯PAGEPAGE 1一、知识点1&#xff0e;对象、属性、类、事件和事件处理的概念(1)对象是客观存在的事物或概念。它有两个特点&#xff1a;状态和行为。(2)一个对象的状态是通过若干个属性(property)来描述的&#xff1b;行为是指对属性进行操作和处理的方法(method)。在…