自学SylixOS启程之旅笔记
《SylixOS启程之旅》是一门公开课,点开下面链接即可观看:
SylixOS启程之旅
一、x86与龙芯、飞腾的 boot loader
1.1 SylixOS在X86架构下的引导方式
- CPU上电
- 载入BIOS
(1)上电自检:检测关键设备能否正常工作比如内存、显卡等。
(2)初始化硬中断:在物理地址0处,初始化硬件中断向量,后面与硬件交互依赖此处的向量中断。
(3)调用GRUB:启动设备的第一个扇区,主要引导MBR,在布置GRUB时,这里就是汇编程序的入口程序。此时BIOS将控制权交给了GRUB - 载入GRUB
(1)读取主引导(stage1):主引导被安装到某个硬盘的主引导记录或某个活动分区的启动扇区里。作用:找到存储在某一磁盘上存储的stage2文件完成后续工作
(2)加载分区文件系统(stage1.5):制作一个 boot 分区,系统对应文件系统,使GRUB可通过文件系统路径查询到 stage2 需要的路径。
(3)载入系统引导菜单:读取 GRUB.config 或 menu.list 生成启动菜单,再根据用户选择加载对应的 OS ,并且执行权限切换给 OS 完成启动。 - 载入内核镜像文件 bspx86.elf
1.2 Grub 识别的 Boot 分区文件
通过工具可制作出 SylixOSX86 的启动U盘,制作完成后第一个分区为活动分区,文件格式为FAT,这个分区能读出以下三个文件:
-
grldr :为 Grub stage2 的执行文件,它读取的配置文件就是menu.lest
-
memu.list:用户关心的。这个文件可以改,可以在 U 盘 用记事本打开进行修改然后保存。也可在 Gurb 的提示下按 E 进入修改。
(1)kernel:表示内核用哪个镜像;
(2)hz:系统频率;
(3)hhz:高精度时钟频率,一般与系统频率一致;
(4)kdlog:是否打开日志文件(no:表示不打开日志文件 yes:启动时会有大量的 log文件显示,可以帮助我们调试);
(5)console:默认输出路径;rfsmap: /boot:/media/hdd0(把boot文件挂载在了media 的 hdd0 下),/:/media/hdd1(其他文件挂载在 media 的 hdd0 下)。表示整个系统正常情况下分为两个区:一个区是存放boot(FAT文件)。另一个是一般文件(TPFS文件)
(6)mtrr:分辨率
-
bspx86.elf:是X86架构下的SylixOS系统镜像文件
二、在 X86 平台上启动与安装 SylixOS
2.1 打开 RealEvo-IDE 菜单栏 点击【Tools】->[RealEvo-SylixOS-installer]
出现两个选项,启动盘和安装盘
(1)启动盘:制作成功后只有引导和镜像文件,系统将镜像文件加载到RAM运行后需要手动进行磁盘分区,并部署对应的运行环境。
(2)安装盘:集成了图形化的安装引导界面,协助用户进行环境部署
(3)注意:选择的时候一定要选择U盘,千万不要选到自己的硬盘!
- 启动盘
(1)开机之后,按delete键进入 BIOS,选择U盘启动 【AI Hass Storage】
(2)进入Grub 有两个选项SylixOS(UP)和 SylixOS(NOMAL) 。up 模式比 nomal 模式多了一个 nCPU = 1(也就是单核模式)
(3)启动成功 ,出现如下页面
- 安装盘
开机—>BIOS—>我的U盘—>
注意:这里的选项,是【Install SylixOS】【Experlence SylixOS】一般选择【Install SylixOS】
磁盘配置
用户配置
三、在龙芯平台上启动与安装SylixOS
3.1 龙芯
3.2 通过网络加载SylixOS