编译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有点问题。


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

在模拟器上运行一个64bit linux kernel(aarch64)

为什么要在模拟器上运行一个linux kernel? 主要是为了方便调试内核和应用程序,编译内核源码,测试。aarch64,是调试64位内核和应用程序的。 1、下载编译器 64...
  • ganyue803
  • ganyue803
  • 2015年03月11日 11:35
  • 1864

第一步,用qemu启动linux内核,从跑个Helloworld开始

老生长谈的内容了,就是自己编译内核,然后制作initramfs,在用qemu跑 起来。不过在这之前先跑个helloworld玩玩。 顺便我在学校写博客的笔记本系统是ubuntu16.04,在实习单位玩...
  • sinat_22597285
  • sinat_22597285
  • 2016年12月21日 13:02
  • 2403

Trustzone OP-TEE 在QEMU平台上的编译、运行与测试

一.OP-TEE介绍 TEE背后的基本思想就是将和安全服务提取到独立的安全环境中去运行,当主系统有安全相关的操作时,通过发动请求到安全环境获取系统预定义的服务。基于此OP-TEE可以分为三个部分,T...
  • u010071291
  • u010071291
  • 2016年03月01日 17:11
  • 3624

qemu busybox模拟Linux启动

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

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

1. 利用busybox建立最小根文件系统 =============================================== (1.1) 下载和编译busybox git clon...
  • flyd1005
  • flyd1005
  • 2014年04月19日 23:41
  • 782

调试linux内核环境搭建方法(ddd+busybox+qemu+linux3.5.4内核)

调试linux内核环境搭建方法(ddd+busybox+qemu+linux3.5.4内核) 准备工作 (1).qemu虚拟机 (2).busybox软件 (3).linux-3.5.4内核 (4)....
  • u014734779
  • u014734779
  • 2014年05月24日 20:57
  • 1087

在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
  • 3797

Qemu模拟arm cpu运行Linux

Qemu模拟arm cpu运行Linux系统 本文介绍使用qemu虚拟arm cpu来运行和调试Linux系统的一般方法 一.首先需要构建tool-chain 可以使用crosstool-ng构建,从...
  • sunbxonline
  • sunbxonline
  • 2013年12月23日 00:49
  • 1208

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

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

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

busybox就是linux的一个应用程序,就是讲一套非常使用的命令工具集成到一个busybox命令下,它不一定是最全的,但是是非常使用的,被大家称为嵌入式linux的“瑞士军刀”,其编译和配置方法跟...
  • bonsens
  • bonsens
  • 2013年12月02日 23:09
  • 355
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译linux3内核,与busybox,用qemu模拟运行
举报原因:
原因补充:

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