KyOS操作系统内核
1,KyOS是基于个人兴趣而开发的操作系统内核雏形
2,源码:
3,编译启动
3.1,编译Bochs虚拟机
版本:bochs-20200412
使用源码中的configuration.sh中的命令编译;
编译完成之后,把全部源码放入bochs源码目录, 例如:bochs-20200412目录,
bochs/bochs-20200412/KyOS
3.2,源码编译
编译bootloader 执行,进入kernel/boot目录:./compile_boot.sh
编译KyOS Kernel 进入kernel目录下面执行:./compile_cmd.sh
编译usercode 进入kernel/usercode目录执行:./compile_user.sh
从第3.3部分之后有两种方式:
方式一:
KyOS源码中提供了已经制作好的硬盘镜像,直接使用已经制作好的硬盘镜像
执行Step 7 中的命令即可看到效果
方式二:
继续按照第 3.3 部分步骤制作自己的硬盘镜像然后启动看效果
3.3,制作硬盘镜像
Step1: 创建硬盘镜像,大小4G
使用bochs虚拟机的bximage(编译完成之后,install/bin/bximage)
命令:../install/bin/bximage
然后按照提示输入相应值即可完成创建;
Step2: 挂载loop设备
losetup -f
losetup /dev/loop0 4G.img
Step3: 分区
fdisk /dev/loop0
各分区示意图(目前KyOS只能识别分区一和分区二):
Step4: 将两个分区格式化为FAT32文件系统(目前KyOS只支持FAT32文件系统)
kpartx -av /dev/loop0
mkfs.vfat -F 32 /dev/mapper/loop0p1
mkfs.vfat -F 32 /dev/mapper/loop0p2
Step5: 卸载loop设备
kpartx -dv /dev/loop0
losetup -d /dev/loop0
Step6: 烧写系统
执行 . mkfs_mount_copy_loader_4G.img 命令(用. 命令执行脚本), 烧写KyOS及相应程序和资源到硬盘
Step7: 启动系统
执行 . start_bochs.sh 命令 (用 . 命令执行脚本)
执行成功的截图:
源码模块包括:
1,简易boot loader , 目录 : boot
2,KyOS Kernel: head.S,内存管理,进程调度,硬盘/键盘/鼠标驱动,多核启动等
3,用户空间init进程 , 目录:userspace
4,bmp图片简易解码器
5,相关图片资源
6,源码编译及启动脚本
KyOS 目前的实现是一个Kernel雏形,有很多不完善的地方,例如:日志不完善,内核同步机制未实现, 编译脚本需要模块化等。