4-建立根文件系统

###1. 建立根文件系统 我们将使用ramdisk来作为根文件系统 ###2. 建立ext4文件系统镜像 在 diy-linux 目录下, 建立 64MB 的 ext4 文件系统镜像 dd if=/dev/zero of=initrd.img bs=1M count=64 mkfs.ext4 initrd.img ###3. 拷贝busybox到根文件系统中 sudo mount -o loop initrd.img rootfs cp busybox-1.20.0/_install/* rootfs -r ###4. 修改init程序配置 linux在加载ramdisk中的根文件系统后, 先运行/linuxrc 程序,linuxrc其实是指向 /bin/busybox的链接, 执行如下的步骤, 确保存在该链接...

3-编译buxybox

###1. 下载busybox 前往 http://www.busybox.net/ 下载,或者: cd busybox-src wget http://www.busybox.net/downloads/busybox-1.20.0.tar.bz2 tar jxvf busybox-1.20.0.tar.bz2 ###2. 编译busybox 使用默认配置来编译busybox cd busybox-src/busybox-1.20.0 make defconfig make menuconfig busybox settings --> build options --> []build busybox as a static binary (no shared libs) 按空格选中, 配置完成后开始执行make make 过程中可能会出如下错误...

2-编译linux内核

###1. 工作区目录结构 在开始我们的整个工程的第一步, 我希望能使用一个整洁的目录结构来保存每一步尝试的结果 mkdir diy-linux cd diy-linux mkdir linux-src mkdir busybox-src mkdir rootfs 执行完之后, 看起来目录结构是这样的 diy-linux --| |- linux-src |- busybox-src |- rootfs linux-src : 用于保存 linux kernel 源码 busybox-src : 用于保存 busybox 源码 rootfs : 用于构建根文件系统的挂载点 后续还会添加一些目录和文件用于备份 ###2....

1-qemu简介

###1. qemu简介 QEMU是一套由Fabrice Bellard所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度,目前,kqemu加速器可用于0.9.1版本或者之前版本的qemu,在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显好于kqemu。 ###2. qemu的运行模式 user mode模拟模式 : QEMU能启动那些为不同中央处理器编译的Linux程序,类似于Wine及Dosemu。 system mode模拟模式 : QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为跨平台编写的程序进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。。 ###3. qemu能够模拟的系统 在linux下输入 qemu-system再按tab键补全,能够看到qemu能够模拟的平台,如: qemu-system-arm qemu-system-mips64 qemu-system-sh4 qemu-system-cris qemu-system-mips64el qemu-system-sh4eb qemu-system-i386 qemu-system-mipsel qemu-system-sparc qemu-system-m68k qemu-system-ppc qemu-system-sparc64 qemu-system-microblaze qemu-system-ppc64 qemu-system-x86_64 qemu-system-mips qemu-system-ppcemb 使用qemu-system-xxx -M ?能看到该平台下能够模拟的机器, 例如, qemu-system-arm...

linux suspend resume 流程

###1. 如何让linux进入睡眠 用户可以通过读写sys文件 “/sys/power/state” 控制系统进入休眠, 例如, echo mem > /sys/power/state可以让系统休眠(状态保存到内存), 可选的state如下: state : Freeze / Low-Power Idle ACPI state: S0 String: “freeze” State : Standby / Power-On Suspend ACPI State: S1 String: “standby” State : Suspend-to-RAM ACPI State: S3 String:...