从编译内核、制作initramfs到使用QEMU运行内核

  • 1.计算机的启动过程

    • 主板上电
    • CPU reset
    • Fireware: BIOS/UEFI
    • BootLoader:GRUB/FIFO
    • Kernel
    • init进程
    • shell/login
  • 2.运行内核前置四件套

    • 编译内核
      • make menuconfig
      • make -j4
    • 编译busybox:基础的命令行工具sh cat echo等
      • make menuconfig
      • make -j4
    • 制作initramfs,为什么需要initramfs?第一个进程init存储在根文件系统或内存文件系统中
      • 制作方式:busybox打包为cpio,直接编译进内核make menuconfig
      • 具体制作方法:
        • find . -print0 | cpio -ov --null --format=newc | gzip -9 > …/initramfs.img
        • 命令详细解释:三个命令组合,最后是一个输出重定向命令
        • find 查找文件命令
        • cpio打包归档
          • null不使用文件名
          • o创建
          • v输出详细信息
          • format打包的文件格式,包括tar newc odc等,newc支持超过65536个inode的文件系统
          • gzip压缩,9是压缩级别最慢但压缩体积最小,默认是6
    • 3.启动QEMU
      • qemu-system-x86_64
      • 软件模拟硬件,运行编译后的内核
    qemu-system-x86_64 \
    -kernel bzImage \
    -initrd initramfs.img \
    -m 1G \
    -nographic \
    -append "earlyprintk=serial,ttyS0 console=ttyS0"
    
    • 退出QEMU

      • Ctrl+A,然后按X
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值