从零到一手写操作系统(二、环境配置)

手写操作系统目录

二、环境配置

要想有成就感,就要先把环境搞好

2.1)配置第一天

硬件:一台破主机+一台老旧的显示器+一个破键盘+一个破鼠标

OS:Ubuntu20.04

ok,第一天晚上便把这些给凑齐了,系统也给安装上了,一不小心竟然还装了个双系统,毕竟主机虽破,也可是固态加机械硬盘,反手就是一个禁用固态启动,毕竟啥也不会,浪费资源还是会的,可以不用固态,但不能没有,就这样一个拥有500GB的linux诞生了,害,主要是操作错了,本来可以用那个固态的,算了不想重来,人生也是。

2.2)配置第二天

目标:能跑起来一个简单的os

一想到这,沾沾自喜,毕竟科班出身的我,还不是手到擒来。

2.2.1)安装基本的环境vim,gcc等等

2.2.2)手动启动,配置开机出现grub引导界面

1sudo vim /etc/default/grub

打开这个文件后,可能不同版本的系统不太一样,我这以Ubuntu20.04为例,

1GRUB_DEFAULT=0
2GRUB_TIMEOUT_STYLE=hidden
3GRUB_TIMEOUT=10
4GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
5GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
6GRUB_CMDLINE_LINUX=""

文件内容主要这样,主要改两个地方一个是第二行,另外就是延时当前是10秒

1GRUB_DEFAULT=0
2#GRUB_TIMEOUT_STYLE=hidden
3GRUB_TIMEOUT=30
4GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
5GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
6GRUB_CMDLINE_LINUX=""

退出保存

1sudo update-grub

重启就可以看到开机启动选项了

2.2.3)编译文件,生成bin文件

2.2.4)在/boot/grub/grub.cfg中添加menuentry

1sudo vim /boot/grub/grub.cfg
1menuentry 'virginOS' {
2    insmod part_msdos
3    insmod ext2
4    set root='hd0,msdos5' 
5    multiboot2 /home/aen/os_file/A_virginOS/virginOS.bin//这一栏就是你要启动程序的bin文件
6    boot
7}

注意:

insmod 这个要看是什么类型的是mbr还是gpt ,gpt就是 part_gpt

set root 这一栏要看我们系统的bin文件在哪个分区,df -h 查看,具体可百度

成功运行如下图,在PC机上显示成功,至此,环境配置已完成。
005env.png

手写操作系统目录


    


公众号'艾恩凝'
个人公众号
个人微信
个人微信
    吾心信其可行,
          则移山填海之难,
                  终有成功之日!
                                  ——孙文
    评论
    0 评论
avatar

取消