linux学习-下载编译和运行linux

环境

wsl ubuntu20.04

下载

linux官网 中复制需要下载的linux版本地址
在命令行中 wget 版本地址 下载压缩包
下载完成后 使用 tar xvf 压缩包名 命令解压缩

编译依赖包

更新apt sudo apt-get update
下载需要的包 根据编译报错去找缺少的包
sudo apt-get install libssl-dev
sudo apt-get install libelf-dev
sudo apt-get install bison
sudo apt-get install flex

编译选项

解压完成后 进入文件夹 使用make config命令 配置编译选项
编译选项勾选参考
编译选项参考1

配置完后 使用make命令编译
配置项可在.config文件中看到

运行

运行linux内核
qemu运行linux参考

qemu运行有很多参数配置
根据参考链接未能运行
根据文心一言提供的命令 略加修改 得到能够成功跑起来的命令
qemu-system-x86_64 -kernel bzImage路径 -append "root=/dev/vda1 console=ttyS0" -m 512 -drive file=磁盘文件,format=磁盘文件格式 -nographic -serial mon:stdio
以下为文心一言对此命令的解释

qemu-system-x86_64:
这是 QEMU 的一个可执行程序,用于模拟 x86_64 架构的虚拟机。

-kernel bzImage:
-kernel 选项用于指定虚拟机启动时使用的内核映像文件。在这里,它指向名为 bzImage 的文件,这通常是一个经过压缩的 Linux 内核映像。

-append "root=/dev/vda1 console=ttyS0"-append 选项用于向内核传递启动参数。在这个例子中,传递了两个参数:

root=/dev/vda1 指定了根文件系统所在的设备。在这里,它被设置为虚拟机的第一个虚拟磁盘(通常是 vda)的第一个分区(1)。
console=ttyS0 指定了控制台的输出设备为串口 0 (ttyS0)。这通常用于将虚拟机的控制台输出重定向到 QEMU 的监视器或串口终端。
-m 512-m 选项用于设置虚拟机可用的 RAM 大小,单位是 MB。在这里,它被设置为 512 MB。

-drive file=disk.raw:
-drive 选项用于指定虚拟机的磁盘设备。在这里,它使用 file=disk.raw 来指定磁盘映像文件的路径和名称。QEMU 会尝试自动探测 disk.raw 文件的格式,但如果你知道文件的格式,建议使用 format=raw(或其他格式)来明确指定,以避免潜在的格式探测错误。

-nographic:
-nographic 选项告诉 QEMU 不使用图形界面,而是使用文本控制台。这对于在没有图形界面的环境中运行 QEMU 或当您想要通过文本终端与虚拟机交互时非常有用。

-serial mon:stdio:
-serial 选项用于配置虚拟机的串口设备。mon:stdio 表示将串口输出重定向到 QEMU 的监视器(monitor),通常这就是标准输出(stdout)。这使得您可以在终端中看到从虚拟机串口发送的数据。

这个命令配置了一个简单的 x86_64 虚拟机,使用 bzImage 作为内核,根文件系统位于 vda1 分区,具有 512 MB 的 RAM,并使用 disk.raw 作为磁盘映像。虚拟机没有图形界面,并且其串口输出被重定向到终端。

运行打印

后续 运行panic分析

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值