家电维修网

 找回密码
 注册
查看: 1020|回复: 1

[分享] 重启计算机就可以看到LMOS和LMOS_up选项了

[复制链接]

中级会员

Rank: 2

回帖
0
主题
20
积分
171
在线时间
6 小时
注册时间
2014-4-8
最后登录
2014-6-18
发表于 2014-4-14 15:32 | 显示全部楼层 |阅读模式
以前要从物理机上启动LMOS,必须要做个引导U盘,或者是在虚拟机运行LMOS,引导U盘的制作也有难度,这样很不方便……
其实现在x86平台上成熟的引导程序很多,例如GRUB、GRUB2、GRUB4DOS,GRUB4DOS是基于GRUB,不过它可以直接被Windows引导(NTLDR、bootmgr)加载,然后它再去加载其它别的OS。早期的的linux都用的GRUB,现代的linux用的都是GRUB2。
GRUB有个多引导协议,任何只要遵循这个协议的OS都能被GRUB加载。然而LMOS内核有点特别,它需要引导程序传递内存布局信息和初始化64位运行环境,还权加载一个简单的LMOS应用——lmosinitshell,这些都让GRUB来做就有点困难了。于是我只是让GRUB加载一个文件,其它的自己来做。
由此诞生了LMOS内核映像工具,LMOS内核映像工具是一种类似文件打包工具,能将多个文件打包成一个文件,不同的是它有自动解包的功能,并且这个解包代码可以随时更换。LMOS内核映像格式如下图所示。

如何用GRUB加载LMOS内核呢。
先说说windows下怎么使用吧,windows xp和windows 7/8/8.1/2012是不同的。先来说说windows xp吧。如下:
1.      下载GRUB4DOS,把里面的grldr和menu.lst复制到C盘。
2.      编辑boot.ini文件,在这个文件最后加上:c:\grldr = ”startgrub”。
3.      编辑刚才的menu.lst,在文件最后加上如下内容。
title LMOS
root (hd0,0)       #表示第1块硬盘的C盘,如果你系统装在别的盘,需要修改
kernel /lmoskrnlsmp.eki            #多CPU版本的内核
boot

title LMOS_up
root (hd0,0)
kernel /lmoskrnlup.eki                #单CPU版本的内核
boot
4.      重启计算机就可以看到startgrub了,选择进入就可以看到,LMOS和LMOS_up选项了。
如果你是windows 7/8/8.1/2012系列的系统,则要复杂一些,如下:
1.      安装EasyBCD2.2这个软件,安装好后打开它,如下图所示。

2.      点击添加新项目。点击NerGrub。然后点击安装。如图所示:

3.      点击配置在弹出的记事本程序中输入如下信息:
title LMOS
root (hd0,0)       #表示第1块硬盘的C盘,如果你系统装在别的盘,需要修改
kernel /lmoskrnlsmp.eki            #多CPU版本的内核
boot

title LMOS_up
root (hd0,0)
kernel /lmoskrnlup.eki                #单CPU版本的内核
boot
4.      重启计算机就可以看到NerGrub了,选择进入就可以看到,LMOS和LMOS_up选项了。
记住上面的情况都是以为第一块硬盘的C盘为例的,所以LMOS两个内核映像文件也要复制到C盘。
如果你的系统是linux系统,则非常方便,因为linux系统已经安装好了GRUB2,默认情况下,只要把LMOS两个内核映像文件复制到,linux下/boot/目录下,雨林木风win7旗舰版64位wissd.ys168.com/同时修改/boot/grub/目录下的grub.cfg文件,在文件尾加入如下内容:
menuentry 'LMOS' {
insmod part_msdos
insmod ext2
set root='hd0,msdos9' #注意boot目录挂载的分区,这是我机器上的情况
multiboot2 /boot/lmoskrnlsmp.eki
boot
}
menuentry 'LMOS_up' {
insmod part_msdos
insmod ext2
set root='hd0,msdos9'  #注意boot目录挂载的分区,这是我机器上的情况
multiboot2 /boot/lmoskrnlup.eki
boot
}
重启计算机就可以看到LMOS和LMOS_up选项了。
为什么会有两个版本的内核,有些旧式的或者AMDCPU上的LAPIC,和新的intelCPU的LAPIC有点不同,这会导致LMOS支持多CPU出现故障,所以编译了两个版本一个单CPU的内核适应于老机器上,一个多CPU的内核运行在新机器上,这等我有时间了来解决它,不过二代CORE以及同时期的AMDCPU是没问题的。

下面有两个运行视频,这得感谢我老弟精心的拍摄,也感谢他长期对我的帮助,我经常和他一起讨论计算机,虽然他只是一个小学生,然也经常和我一起在物理机上调试我的LMOS内核。也许有一天他在计算机上的造诣和境界会远超于我。

中级工程师

Rank: 10Rank: 10Rank: 10

回帖
1035
主题
0
积分
1940
在线时间
282 小时
注册时间
2012-12-19
最后登录
2014-8-6
发表于 2014-4-15 00:29 | 显示全部楼层
非常感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|门户地图|网站地图|家电维修|手机版|家电维修技术论坛 ( 蜀ICP备14030498号-16 川公网安备51102502000162号 )

GMT+8, 2026-6-10 04:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表