当前位置: 首页 > news >正文

30天自制操作系统第一天(1)

        最好的安全是什么,做一个安全的系统(没有绝对安全的系统,只有更绝对安全的系统),说起来简单,那就先搞一个练手的。我已经汇总了第一课所需要的资源,争取简化流程,人人皆可手搓。

准备工作:

1:工具准备:推荐使用大佬用的二进制编辑工具Bz,我已经全部汇总到了工具包,win下来直接用,还有模拟器qemu,可以在网上下载qemu.exe文件,也可以自己构建,推荐使用ubuntu虚拟机,本人目前用的ubuntu-20.04.6-desktop-amd64.iso,可以直接用vm虚拟机和官网下载ubuntu镜像,遇到问题,百度、必应,deepseek等智能gpt

测试使用bz工具:一个简单的镜像(推荐完全手打,可以记录错误细节,主要记住的有三四个地方,我全部截了图片)

写完直接保存成helloos.img 即可

2:win环境准备:拿出源码中的tolset文件夹,将上面写完的文件保存成helloos.img,放入/tolset/z_new_w文件夹中,在写两个bat文件,一个run.bat,一个install.bat文件,

 window exe版本直接下载:
QEMU for Windows – Installers (64 bit)

大佬给的源代码中基本文件格式都设置好了,run就是执行img文件的

这两个bat 文件一般后面才会用到,我是直接用的ubuntu配置的qemu模拟器启动的保存的mg文件

启动命令:qemu-system-x86_64 -hda helloos.img -m 2048 -smp 2

3:ubuntu环境准备:如果你想不走寻常路,(不想构建可以不看)非要自己构建所有生成工具,很好,这是基本操作,那就需要配置环境了,win的后面说,先说ubuntu的

(1)默认Ubuntu软件源包含了一个软件包组,名称为“build-essential”,它包含了GUN编辑器集合,GNU调试器,和其他编译软件所必需的开发库和工具。

https://github.com/qemu/qemu

以sudo或者 root权限运行下面的命令:

apt update

apt install build-essential

apt install gcc-8 g++-8 gcc-9 g++-9 gcc-10 g++-10 # 安装各个版本的gcc

# 设置gcc的优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8

# 想修改默认使用的gcc版本
update-alternatives --config gcc

安装下了一堆 构建包和源码,过程没记,直接问ai吧

自制操作系统日志——第一天_进制开发操作系统-CSDN博客

https://zhuanlan.zhihu.com/p/146205444

qemu的详细资料大全(入门必看!!!)-CSDN博客

QEMU
QEMU与KVM虚拟化-CSDN博客

相关文章:

  • 微信小程序性能优化
  • 寒假第三周周报
  • 基于JAVA的幼儿园管理系统的设计与实现源码(springboot+vue+mysql)
  • [创业之路-307]:如何解读公司的业绩?它与股价变化的关系?
  • c++中std::thread构造函数的注意事项
  • 【Python】Python入门基础——环境搭建
  • 数据库系统原理——第十章数据恢复技术复习题
  • 学习总结三十四
  • Ubuntu20.04部署stable-diffusion-webui环境小记
  • 题海拾贝:英语作文(map)
  • Selenium定位元素的方法及其语法
  • ubuntu20.04连接airpods pro2
  • LeetCode热题100- 缺失的第一个正数【JavaScript讲解】
  • SpringMVC的工作原理
  • 基于Istio Ambient Mesh的无边车架构:实现零侵入式服务网格的云原生革命
  • ElasticSearch映射分词
  • vue3响应式丢失解决办法(三)
  • Leetcode Hot100 第30题 416.分割等和子集
  • CTM工具箱--系统美化工具箱
  • Leetcode100-春招-矩阵题类
  • 坚决打好产业生态培育攻坚战!陈吉宁调研奉贤区
  • 多地举办演唱会等吸引游客刺激消费,经济日报:引导粉丝经济理性健康发展
  • 普京确定俄乌谈判俄方代表团名单
  • “女硕士失踪13年生两孩”案进入审查起诉阶段,哥哥:妹妹精神状态好转
  • 中巡组在行动丨①震慑:这些地区有官员落马
  • 这一次,又被南昌“秀”到了