DanceFire的专栏

天地不仁,以万物为刍狗

用户操作
[即时聊天] [发私信] [加为好友]
舞焰ID:DanceFire
266246次访问,排名229好友0人,关注者1
DanceFire的文章
原创 51 篇
翻译 4 篇
转载 0 篇
评论 928 篇
DanceFire的公告
最近评论
hqfmyway:出现过同样的问题,谢谢解惑!
phhwr85:非常感谢,正郁闷中!
herry0628:A gold website for wow gold and
buy wow gold sevise.
herry0628:A gold website for wow gold and
buy wow gold sevise.
herry0628:A gold website for wow gold and
buy wow gold sevise.
文章分类
收藏
    相册
    Unix家族族谱图
    编程语言家族族谱
    操作系统相关图片
    插图
    麒麟操作系统相关图片
    L4 微内核实现
    Fiasco - DROPS的底层微内核 (TU Dresden)
    L4Ka::Pistachio (UKa, UNSW)
    seL4 - Secure Embedded L4 (UNSW)
    L4 微内核研究组
    L4 总部
    UKa的L4研究组
    UNSW/NICTA的L4研究组
    L4 文档
    L4 X.2 API的用户手册(UNSW)
    L4-embedded 参考手册 N1 (UNSW)
    基于 L4 的操作系统
    Darwin在L4上的移植 - Darbat (UNSW)
    DROPS - 基于L4的嵌入式实时操作系统 (TU Dresden)
    GNU Hurd在L4上的移植
    Linux在L4上的移植 - L4Linux (TU Dresden)
    Linux在L4上的移植 - Wombat (UNSW)
    Mungi - Single Address Space OS based on L4 (UNSW)
    朋友
    Dancefire's website
    ralph623的专栏(RSS)
    sinboy的菜地(RSS)
    Sunwear(RSS)
    Xinsoft :应用之美,在于药到病除(RSS)
    吕震宇(RSS)
    强强专栏(RSS)
    旁观生活的BT(RSS)
    潇寒的Blog(RSS)
    龙真先生(RSS)
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用银河麒麟操作系统内核代替FreeBSD5.4内核启动FreeBSD系统成功收藏

    新一篇: 用FreeBSD5.3内核代替银河麒麟操作系统内核启动银河麒麟系统成功 | 旧一篇: Kylin的Kyth和FreeBSD的libpthread多线程库所用的源文件列表对比

    早在2006年2月12日,longhong就说可以用FreeBSD 6.0的内核替换掉Kylin的内核,然后成功的启动麒麟操作系统。见,http://www.kylin.org.cn/KylinForum/read.php?tid=537&fpage=1

    虽然它给出了具体的操作步骤,可是还是有不少人不知道怎么做。而且由于麒麟开发组修改了启动部分,所以也没有机会让人在启动的时候切换不同的内核启动,(准确说可以切换,但是只限于kernel, kernel_smp, kernel_oracle三个内核间切换),这样加大了尝试的难度。

    今天我反着来,呵呵,我将尝试用Kylin的内核去替换掉FreeBSD的内核并且尝试启动。

    每一步我都给出贴图,估计大家不会有什么疑问了。按着图示,每个人都可以重现我所说的话。:)

    需求:

    1、一个已经可以运行的FreeBSD 5.x操作系统,我建议5.3以后的版本,因为麒麟和5.3以后的版本最接近。并且为了好看,最好可以装上X window。
    2、一个正在运行的2.0-142.0-21麒麟操作系统。主要就是为了取内核,其他部分没用。

    注意:

    由于某种原因,麒麟操作系统2.1-01这个版本虽然功能上的变动不一定很大,但是在回避我分析报告中所采用的分析方法上还是做了一定的努力的。一方面是对内核进行了特殊处理,包括使用objcopy将其符号信息都给strip掉了,另一方面是修改了引导的部分。以至于用麒麟2.0-14/21bootloader都无法引导2.1-01了,呵呵,自家人不认字家门了。人家自己家都不认了,自然也无法用FreeBSD来引导了。但是我实在搞不懂这种类似于换门的行为能说明什么?难道因为门换掉了,这个屋子里面的东西也就都换了么?呵呵。

    由于上述原因,该实验只对麒麟2.0-14/2.0-21内核有效。

    操作步骤:

    1. 首先大家启动麒麟操作系统,然后把 /boot/kernel/kernel 文件拷贝出来。(至于是ftp,ssh,甚至发到email里这些方式我就不管了,只要弄出来就行)

    2. 将 kernel 改名为 kylin20,并拷贝到 FreeBSD 操作系统的 /boot/kernel/ 目录下。

    3. reboot 重新启动。

    4.

    在这个启动画面的时候按6,(10秒内没按可就正常启动了)

    5.

    显示OK后,依次输入下面三条命令:

    unload
    load /boot/kernel/kylin20
    boot

    6.

    看到了吧,系统开始引导了。

    7.

    虽然有一些报错信息,但是没有关系,不去管他们。最终我们看到了熟悉的login:

    8.

    登录进去了。uname -a可以看到当前的系统内核可是 KYLIN 2.0-18 哦。呵呵。不过因为我没有去加载linprocfs所以/proc/目录还是空的。

    9. 接下来让我们启动图形界面吧。

    startx

    啊,不好意思,这是xfce4的启动界面,xfce4里面还是空的呢。那我们启动KDE好了:)

    10. 修改了~/.xinitrc后。启动KDE

    KDE启动中……

    11. 大功告成了。

    这就是我们用麒麟内核替换了FreeBSD内核,而成功的启动了FreeBSD操作系统,而且还启动了图形界面。呵呵,其实FreeBSD的中文图形界面也不是很差吧。:)

    看来麒麟的内核还具有其没有对外宣称的另一个重要特性就是与FreeBSD完全兼容哦。呵呵。

    发表于 @ 2006年05月15日 07:19:00|评论(loading...)|编辑

    新一篇: 用FreeBSD5.3内核代替银河麒麟操作系统内核启动银河麒麟系统成功 | 旧一篇: Kylin的Kyth和FreeBSD的libpthread多线程库所用的源文件列表对比

    评论

    #shengfang 发表于2006-05-17 11:45:00  IP: 218.5.3.*
    但是我实在搞不懂这种类似于换门的行为能说明什么?

    LZ是不是到国外待太久了

    所谓 迅雷不及掩耳盗铃
    #xport 发表于2006-05-17 11:52:00  IP: 218.4.60.*
    shengfang 没有学过操作系统吧?

    如果内核不是一样,系统底层调用怎么会相同?应用软件都是需要调用内核提供的底层调用的。

    像这样直接换内核就可以正常启动OS,只能说明一件事,内核是一个,就像Linux内核只有一个,但是可以搭配不同的应用程序软件包,形成像Redhat,Fedora,Debian,Ubutun,SuSE这样不同的Linux Distribution~~~!
    #迅雷不及掩耳盗铃 发表于2006-05-18 16:45:00  IP: 222.94.83.*
    迅雷不及掩耳盗铃
    好!!!!
    这句话终于有了意义, 形容掩耳盗铃的速度之快.

    #sdybj 发表于2006-05-20 11:45:00  IP: 221.2.226.*
    爆竹,你用的是什么QQ?
    #Dancefire 发表于2006-05-20 14:24:00  IP: 60.227.229.*
    ----------------------
    sdybj 发表于2006-05-20 11:45 AM IP: 221.2.226.*
    爆竹,你用的是什么QQ?
    ----------------------
    Gaim+OpenQ :)
    #nan 发表于2006-08-09 18:55:00  IP: 124.172.48.*
    那些为麒麟OS的强盗行径叫好的人估计在有人强奸他老母的时候也会在一边大吼:让强奸来的更猛烈些吧,另外好事成双,把他老妹老婆七姑八大姨都干了把
    #Random 发表于2006-08-18 01:46:00  IP: 220.188.211.*
    种种迹象都表明了麒麟的抄袭行为,还是有某些人在极力掩饰。还装做一幅大义凛然的样子。
    #null 发表于2006-08-22 21:25:00  IP: 221.237.13.*
    听说好象是花了10亿人民币“开发”出来的哦!
    又浪费资源又毁了名声。
    #nature24 发表于2006-12-19 03:43:00  IP: 220.168.15.*
    首先楼上的你是“听说好像是花了10亿人民币开发出来的吧”那请你不要乱讲废话,既然是听说,又是好像,就不要在这里乱鼓动人心,有些笨蛋会把听说和好像自动过滤的!! 还有我对这里盲目崇拜DanceFire的觉得悲哀~~人家讲什么你就信什么,现在这些楼上的有几个是看了这篇文章后又重新亲身做过这个试验的??没有亲身做的的看客请不要开口!!! 还有啦~~我对于电脑懂得不是很多,所以看了不是很懂,相信很多浏览过你文章的人,即便是学过电脑的也没有多少是真的明白并研究了的吧~~你写这种文章顶多只能骗骗新手和外行,但是真正一个懂电脑又搞研究的人应该不会那么轻易被你说服的,这个研究搞了这么久,我相信这个绝对是有成果的!!!只不过你没查出来罢啦~~ 友情提示:下面跟贴支持DanceFire的,请先自己研究过,证实过在发言。讲话一定要经过大脑~~
    #mymtom 发表于2007-08-06 01:34:36  IP: 192.127.94.*
    佩服楼主!
    俺从98年左右开始接触FreeBSD,当时的版本是2.2.5。也是从那个时候开始开始学习操作系统知识的,断断续续的读了一些有关操作系统的书(包括王鹏,尤晋元等翻译的《操作系统-设计与实现》)。对操作系统构架也算略知一二,最近看完了张辉翻译的《FreeBSD操作系统设计与实现》,在互联网上看了大部分有关银河麒麟操作系统的文章。
    在仔细的读了从银河麒麟网站上下载的2006年2月国防科技大学计算机学院银河麒麟项目组《关于银河麒麟操作系统的说明》,对其中两个说法存在疑点:
    1. 【银河麒麟操作系统采用的是一种层次式的内核结构,该结构介于单一模块内核结构(如
    Linux)和微内核结构(如CMU 大学的Mach)之间。】
    FreeBSD是单一内核的,如果银河麒麟真是采用所谓“层次式”的内核,有Unix操作系统常识的人都知道两种不同结构的内核互换是根本不可能的。
    2.【2、Linux 目标代码兼容层的实现。】
    这个根本就是个弥天大谎:
    事实上在FreeBSD 2.2.2就已经实现了Linux目标码兼容,FreeBSD 2.2.2的Release Notes (http://www.freebsd.org/releases/2.2.2R/notes.html)里是这么写的:
    The Linux emulation is now fully functional, including ELF support.
    To make its use easier, there are even ports for the required shared
    libraries, and for the Slackware development environment.
    #herry0628 发表于2008-07-14 12:07:02  IP: 220.178.42.*
    A gold website for wow gold and
    buy wow gold sevise.
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © DanceFire