编译linux3内核,与busybox,用qemu模拟运行

原创 2012年03月21日 23:17:16

晚上稍微有点空,开始编译内核和busybox,我下的内核,原来是写的2.6,但下下来后看到了是3,算了,就先用着吧。

编译内核:

  1. make ARCH=arm versatile_defconfig 
  2. make ARCH=arm menuconfig  //将Kernel Featurer中的EABI选上,不知道做什么用的? 
  3. make ARCH=arm CROSS_COMPILE=arm-linux- all 
  4. 然后在arch/arm/boot中找到zImage,拷贝出来 

编译busybox,这个主要是用busybox建一个文件系统:

  1. make ARCH=arm CROSS_COMPILE=arm-linux- defconfig 
  2. make ARCH=arm CROSS_COMPILE=arm-linux- install 

制作文件系统:

  1. $cd busybox/_install 
  2. $mkdir proc sys dev etc etc/init.d 
  3. $vim etc/init.d/rcS 
  4. #!/bin/sh 
  5. mount -t proc none /proc 
  6. mount -t sysfs none /sys 
  7. /sbin/mdev -s 
  8. 然后将arm-linux-gcc中的armVFP/lib拷贝到_install中,这个是因为编译完的busybox是没有共享链接库的 
  9. $ cd _install 
  10. $ find . | cpio -o --format=newc > ../rootfs.img 
  11. $ cd .. 
  12. $ gzip -c rootfs.img > rootfs.img.gz 

测试一把:

qemu-system-arm -M versatilepb -m 128M -kernel zImage -initrd rootfs2.img.gz -nographic -append "root=/dev/ram rdinit=/sbin/init console=ttyAMA0"
成功!

这里我必须加上-nographic和console=ttyAMA0否则通过telnet的方式,什么都不显示,不知是否是我的qemu有点问题。


版权声明:本文为博主原创文章,随便转载。

相关文章推荐

qemu busybox模拟Linux启动

今天做一个实验,蛋蛋都碎了,最后发现问题出 1)在了 qemu 上面,在这里我着重强调一点:能找到软件包就不要用源下的软件,源下的软件版本太低了,且安装的时候不是由你说了算。。。比如安装qemu时,...

Linux最小根文件系统的建立,内核模块的编译,Qemu模拟测试最小系统

1. 利用busybox建立最小根文件系统 =============================================== (1.1) 下载和编译busybox git clon...

在Linux下运行Qemu模拟AArch64硬件调试内核

参考链接: http://www.bennee.com/~alex/blog/2014/05/09/running-linux-in-qemus-aarch64-system-emulation-m...
  • jefbai
  • jefbai
  • 2015年04月06日 13:28
  • 3337

Qemu模拟arm cpu运行Linux

Qemu模拟arm cpu运行Linux系统 本文介绍使用qemu虚拟arm cpu来运行和调试Linux系统的一般方法 一.首先需要构建tool-chain 可以使用crosstool-ng构建,从...

移植linux内核到s3c6410(使用busybox构建initrd ramdisk)

   busybox就是linux的一个应用程序,就是讲一套非常使用的命令工具集成到一个busybox命令下,它不一定是最全的,但是是非常使用的,被大家称为嵌入式linux的“瑞士军刀”,其编译和配置...

手把手带你自制Linux系统之六 编译内核及busybox完成系统定制

手把手带你自制Linux系统之六 编译内核及busybox完成系统定制 重新看了一下前面的几章,发现其实前面的5章一直围绕一个话题讲解 — 如何利用CentOS现有资源组装一个Linux。这种...
  • Toormi
  • Toormi
  • 2016年01月08日 10:23
  • 4431

linux内核调试环境搭建-1 Ubuntu10 .10下编译安装qemu

内核调试一般比应用层程序调试困难很多,主要因为内核是系统开机后执行的第一个程序,这使得用于一般应用程序的调试方法无法使用在内核上。自由软件社群开发了一些特殊方法解决这问题。 这些方法中最方便的方法莫过...

QEMU模拟Mini2440开发板运行环境

前言原创文章欢迎转载,请保留出处。 若有任何疑问建议,欢迎回复。 邮箱:Maxwell_nc@163.com 手头上只有一块Smart210(Tiny210V2),无奈网上的资料多数是2440的资料,...

s3c2410的u-boot及linux2.6.10后的内核移植(包括nand,及skyeye模拟)

s3c2410的u-boot及linux2.6.10后的内核移植(包括nand,及skyeye模拟) 最近在s3c2410上移植uboot和linux2.6内核.虽然网上的文章多多.. 但真正要在自己...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译linux3内核,与busybox,用qemu模拟运行
举报原因:
原因补充:

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