《大大简化每次运行bochs的命令行》ubuntu里安装vscode + makefile文件基本编写 + shell命令

news/2024/12/22 5:19:29/

📍安装vscode + 启动vscode

如图打开商店,在搜索栏里输入visual studio code,安装即可
在这里插入图片描述
在随便一个命令行里输入code即可打开vscode
在这里插入图片描述

📍makefile文件基本编写

在实验项目文件夹里创建makefile文件(vscode直接能快捷创建,比在命令行里输入touch命令方便),输入类似以下内容
注意:记得根据路径修改为自己的相关路径
这里build和burn相当于两个函数名,可以直接使用make build或make burn来执行两个函数里的内容

.PHONY:build burnmbr_source=boot/mbr.S
mbr_target=boot/mbr.bin
loader_source=boot/loader.S
loader_target=boot/loader.bin
hard_disk=/home/lhj/Public/bochs/bin/hd60M.imgbuild:nasm -I boot/include/ -o $(mbr_target) $(mbr_source)nasm -I boot/include/ -o $(loader_target) $(loader_source)
burn:dd if=$(mbr_target) of=$(hard_disk) bs=512 count=1 conv=notruncdd if=$(loader_target) of=$(hard_disk) bs=512 count=1 seek=2 conv=notrunc

文件结构如下图所示
在这里插入图片描述

📍编写shell命令

因为编译完基础命令后仍然需要运行 ./bochs -f lhjbochsrc.disk,为此,我们再封装一层
(这里注意disk文件名,我应老师要求加了前缀:lhj)
创建run.sh文件,内容👇

cd 3-2
make build
make burncd /home/lhj/Public/bochs/bin
./bochs -f lhjbochsrc.disk

文件结构如下图所示
在这里插入图片描述

📍一键运行吧!

直接在vscode所打开的文件目录下(因为run.sh文件在该目录下),输入**./run.sh**,回车!
在这里插入图片描述
结果👇
在这里插入图片描述
看!多方便,仅输入一行,省去输入nasm、dd、bochs -f bochs.disk等烦杂的命令!


http://www.ppmy.cn/news/853993.html

相关文章

YOLO下载库的问题

问题描述:下载gdown库时,出现403错误,具体如下 ERROR: HTTP error 403 while getting https://pypi.tuna.tsinghua.edu.cn/packages/e7/0c/9fb84c67bd827902bfadcdd209796ef32f95df8b23c39a6 06a5ee517b314/gdown-4.5.3.tar.gz#sha2566cbf7dd…

spark找不到服务器文件,在Standalone模式下执行Spark命令所产生的临时目录导致硬盘爆满的解决方法...

昨天,在执行spark-sql时,查询数据量超过1000万行,数据量大小7.6G,出现系统盘占用突然变高的情况,Job任务在运行过程中产生大量的临时目录位置,导致某个分区磁盘写满,主要原因spark运行产生临时目录的默认路径/tmp/spark检查为 /tmp 目录下,spark生成的临时目录占用了大…

动态路由 TheRouter 的设计与实践

这篇文章是我在 2022【GIAC 全球互联网架构大会】分享时所讲内容的文字版本,修改删减了演讲时的冗余言语,现开放给大家阅读,希望能给买不到票参加分享的 开源实验室 读者带来帮助。 大家好,今天跟大家分享的是一个开源路由TheRou…

IDEA懒人必备插件,自动生成单元测试,太爽了!

一安 一安未来 2023-03-01 08:00 发表于北京 收录于合集#第三方工具30个 大家好,我是一安~ 今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它? 主要因为最近公司上了代码质量管控的指…

[已解决]QObject::moveToThread: Current thread is not the object‘s thread...... --carla调试遇到的报错问题(1)

我在carla安装RGB相机遇到的报错: 1.线程报错:QObject::moveToThread: Current thread (0x7f632833ba40) is not the objects thread (0x7f63283b1ec0). Cannot move to target thread (0x7f632833ba40) 2.ModuleNotFoundError: No module named conda 文…

安卓学习笔记01:安装集成开发环境Android Studio

文章目录 一、下载Android Studio二、安装Android Studio1、双击安装程序进入安装向导2、选择安装组件3、选择安装位置4、选择开始菜单文件夹5、按照配置进行安装三、启动并配置Android Studio1、选择是否导入先前的Android Studio设置2、选择安装类型3、选择界面主题4、选择An…

Android 性能优化梳理

目录 目录 1、内存泄露优化 1.1 抓取内存泄露方法 2、启动优化 2.1、冷启动 2.1.1 抓取冷启动方法 2.2、热启动 2.2.1 抓取热启动方法 2.3 启动优化 3、卡顿优化 3.1、CPU占用查询 3.1.1 通过脚本命令抓取CPU占用 3.1.2 抓取trace文件 3.1.3 CPU分析 3.1.4 通过…

【强化学习】解决gym安装Atari2600环境gym[atari,accept-rom-license] RuntimeError 无法下载Roms的问题

先上Roms.tar.gz安装地址:Roms.tar.gz 以下内容是解决问题的思路,如果已经完全知道问题原因可以直接跳过 安装gym[accept-rom-license]时会出现安装失败的情况: 先是卡在:Building wheel for AutoROM.accept-rom-license 然后是显示安装失败…