arm系统启动后进入busybox 根文件系统(initramfs)

原创 2015年07月07日 16:58:09
----------------------------------------
arm系统启动后进入busybox 根文件系统(initramfs)
----------------------------------------
甲:交叉编译busybox, 注意书写ARCH=arm, 选择交叉编译前缀arm-none-linux-gnueabi-
   用静态编译方式, 会省掉copy 动态库的麻烦
   生成文件在_install 中

乙: 生成ramdisk 文件
  cp -a busybox/_install rootdisk
  cd rootdisk
  find . | cpio -o --format=newc > ../initramfs

丙:运行
$ qemu-system-arm -M versatilepb -kernel zImage -initrd initramfs  -append "root=/dev/ram rdinit=/bin/ash"
确实成功启动了。在qemu 小窗口中可以操作

busybox 进阶:
在rootdisk 下增加一个etc 目录, 启动项改为init=/sbin/init
----------------------------------------
rootdisk/etc>$ ls
----------------------------------------
group  init.d  inittab  passwd
inittab 起到作用, 并启用了登录过程


$ cat inittab
----------------------------------------
::sysinit:/etc/init.d/rcS
::respawn:/sbin/getty -L ttyAMA0 115200 xterm

ttyAMA0 为控制台, 解决了字体显示问题



$ cat passwd
----------------------------------------
root::0:0:root:/root:/bin/sh


$ cat group
----------------------------------------
root:x:0:
可以由root 登录


~/misc/qemu_arm/root2/etc$ cat init.d/rcS
#! /bin/sh

mkdir -p /proc /sys /dev/pts
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts
/sbin/mdev -s
hostname LINUX-EXPLORER

开始启动脚本

重新生成ramdisk
cd root2
find . |cpio -o --format=newc > ../initramfs2


$ qemu-system-arm -M versatilepb -kernel zImage -initrd initramfs2 -serial stdio  -append "root=/dev/ram rdinit=/sbin/init"

跟标准linux 非常相似了

-serial dev     redirect the serial port to char device 'dev'

它能够把u-boot 输出, 显示到本地控制台,在本地控制台敲命令交互。 例如ls, cat 等命令
版权声明:本文为博主原创文章,未经博主允许不得转载。

ubuntu16.04 server64 busybox-initramfs安装失败

安装程序启动后,第一次弹出的界面就是选择语言,这里强烈建议选择English,选择中文可能会有错误。 接下来这步很关键,不然在往后的安装过程中会出现 server64 busybox-initr...
  • x380481791
  • x380481791
  • 2016年05月02日 14:11
  • 864

构建根文件系统一之ubuntu12.04下安装编译BusyBox图文解说

下载并解压 1、下载busybox源码包,可以从http://www.busybox.net/downloads/网站下载,这里我使用的是busybox-1.7.0.tar.bz2版本 2、新建一个文...
  • mybelief321
  • mybelief321
  • 2013年08月10日 21:35
  • 3134

BusyBox制作Initramfs嵌入式Linux根文件系统

嵌入式Linux系统由linux内核与根文件系统两部分构成,两者缺一不可(无根文件系统的内核无法启动) 使用busybox构建嵌入式根文件系统目录结构,配置内核,并且使用Initramfs制作成根...
  • mcu_tian
  • mcu_tian
  • 2016年06月01日 15:44
  • 3133

虚拟机安装ubuntu server 16.04中文版时出现“无法安装busybox-initramfs”

虚拟机安装ubuntu server 16.04中文版时出现“无法安装busybox-initramfs” 通过查看cat /var/log/syslog/发现如下内容(后面补图) 网上的解决办...
  • gsls200808
  • gsls200808
  • 2016年04月23日 15:08
  • 27470

根文件系统及Busybox详解之一

根文件系统及Busybox简介 目录 1.根文件系统简介...2 2.Busybox简介...2 2.1Busybox简介...2 2.2Busybox目录结构简介...2 2.3init...
  • chenlong12580
  • chenlong12580
  • 2013年04月05日 13:55
  • 4243

从ramdisk根文件系统启动Linux成功,及使用initramfs启动linux

下面两篇文章是ARM9论坛上的讲解ramdisk文件系统的很不错的文章 今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下。 其中涉及的内容较多,很多东西...
  • yongbudl2012
  • yongbudl2012
  • 2014年07月12日 16:59
  • 379

从ramdisk根文件系统启动Linux成功,及使用initramfs启动linux

下面两篇文章是ARM9论坛上的讲解ramdisk文件系统的很不错的文章 今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下。 其中涉及的内容较多,很多东西...
  • hunanchenxingyu
  • hunanchenxingyu
  • 2015年05月12日 00:43
  • 862

从initramfs根文件系统启动Linux

origin: http://blog.chinaunix.net/uid-26969690-id-3207803.html 开发环境:Fedora 9 交叉编译工具链:arm-linux-gcc...
  • yazhouren
  • yazhouren
  • 2016年07月23日 11:12
  • 590

Ramdisk根文件系统启动Linux(使用initramfs启动Linux)

前天做了个从ramdisk根文件系统启动Linux的实验,写了个帖子。经总版主kasim大侠的提携,得知现在基于Linux的发行版通常采用initramfs代替initrd,架构更简单,应用也更灵活一...
  • liwendovo
  • liwendovo
  • 2012年06月25日 16:38
  • 641

从ramdisk根文件系统启动Linux成功,及使用initramfs启动linux

下面两篇文章是ARM9论坛上的讲解ramdisk文件系统的很不错的文章 今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下。 其中涉及的内容较多,很多东西...
  • laohuang1122
  • laohuang1122
  • 2012年11月29日 22:15
  • 4221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:arm系统启动后进入busybox 根文件系统(initramfs)
举报原因:
原因补充:

(最多只允许输入30个字)