首页 > 其他分享 >0172-执行内核文件

0172-执行内核文件

时间:2024-07-13 09:11:16浏览次数:17  
标签:bin 文件 grub kernel 0172 ISO 内核 os xorriso

环境

  • Time 2022-11-11
  • WSL-Ubuntu 22.04
  • QEMU 6.2.0
  • NASM 2.15.05

前言

说明

参考:https://os.phil-opp.com/multiboot-kernel/

目标

将编写好的内核可执行文件,制作成 ISO 镜像,然后从 QEMU 启动。

建立文件目录

isofiles
└── boot
    ├── grub
    │   └── grub.cfg
    └── kernel.bin

grub.cfg

set timeout=0
set default=0

menuentry "my os" {
    multiboot2 /boot/kernel.bin
    boot
}

制作 ISO

安装依赖:apt-get install grub-pc-bin grub-common xorriso

制作镜像

root@jiangbo12490:~/git/game# grub-mkrescue -o os.iso isofiles
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:os.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data,  233g free
Added to ISO image: directory '/'='/tmp/grub.or37ho'
xorriso : UPDATE :     294 files added in 1 seconds
Added to ISO image: directory '/'='/root/git/game/isofiles'
xorriso : UPDATE :     298 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img'
ISO image produced: 2475 sectors
Written to medium : 2475 sectors at LBA 0
Writing to 'stdio:os.iso' completed successfully.

启动命令

qemu-system-x86_64 -cdrom os.iso -curses

打印OK

总结

创建了一个内核可执行程序 kernel.bin,并且制作成 ISO 镜像,在 QEMU 中运行。

附录

标签:bin,文件,grub,kernel,0172,ISO,内核,os,xorriso
From: https://www.cnblogs.com/jiangbo4444/p/18299663

相关文章

  • Windows11系统System.Management.Automation.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Management.Automation.dll文件(挑选......
  • Windows11系统System.Linq.Expressions.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Linq.Expressions.dll文件(挑选合适......
  • Microsoft.WSMan.Management.Activities.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Microsoft.WSMan.Management.Activities.dll......
  • Microsoft.Windows.StartLayout.Commands.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Microsoft.Windows.StartLayout.Commands.dl......
  • 使用libzip压缩文件和文件夹
    简单说说自己遇到的坑:分清楚三个组件:zlib、minizip和libzip。zlib是底层和最基础的C库,用于使用Deflate算法压缩和解压缩文件流或者单个文件,但是如果要压缩文件夹就很麻烦,主要是不知道如何归档,在zip内部形成对应的目录。这时就需要用更高级别的库,也就是minizip或libzip。mini......
  • Vue打包文件dist放在SpringBoot项目下运行(正确实现全过程)
    项目开发中,一般我们都会使用SpringBoot+Vue进行前后端开发。在部署时,会后端启动一个服务,再启动一个nginx,nginx中配置前端打包文件dist进行项目访问。实际上,我们也可以把打包好的dist目录放在SpringBoot项目下进行部署。将dist包放入resources下配置拦截器@Configuration......
  • 使用 ClamAV 命令行查杀服务器端病毒或恶意文件
    ClamAV是一个开源(GPLv2)防病毒工具包,它提供了许多实用程序,包括灵活且可扩展的多线程守护程序、命令行扫描程序、用于自动更新病毒库的高级工具。该软件包的核心是一个以共享库形式提供的反病毒引擎安装clamav1、基于deb包安装最新版clamav-1.3.1(2024.07)wgethttp......
  • Django静态文件系统之meida文件,Django配置文件介绍,RBAC权限系统
    ⅠDjango静态文件系统之meida文件【一】问题引入一般常用的静态文件:static但是,媒体文件:图片,视频,音频……会随着用户改变而改变,不应该作为静态文件来使用应该是媒体资源于是Django提供了另一种静态文件语法meida文件【二】配置使用在Django的settings里面DEBUG—>开......
  • Oracle数据文件扩容
    1、增加数据文件扩容ALTERTABLESPACEapp_dataADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF'SIZE30GAUTOEXTENDONNEXT1GMAXSIZEUNLIMITED;ALTERdatabasedatafile'/ora/oradata/radius/undo.dbf'resize32G;altertab......
  • echo写入文件多行输入
    在Shell脚本中,你可以使用多种方法来使用echo命令写入多行文本到文件。以下是一些示例:使用echo命令多次写入:bashecho"第一行文本">file.txtecho"第二行文本">>file.txtecho"第三行文本">>file.txt使用echo命令结合>和IFS(内部字段分隔符):bashIFS='\n'echo-e"第一......