데이터 베이스 MySQL 튜토리얼 巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

Jun 07, 2016 pm 03:31 PM
freebsd 핵심 시작하다 기린

[将非技术内容独立出去,文字无改动] 巧用FreeBSD 5.3内核启动做了点手脚的麒麟 2.1-01 上回书说到,麒麟开发组在我的分析发布之后不久,就删除了网站上的 2.0-14/21 的光盘镜像,取而代之的是发布了一个新版本 2.1-01 。 如上回我所提到的那样,麒麟 2.1-01

[将非技术内容独立出去,文字无改动]

 


 

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1-01

上回书说到,麒麟开发组在我的分析发布之后不久,就删除了网站上的2.0-14/21的光盘镜像,取而代之的是发布了一个新版本2.1-01

如上回我所提到的那样,麒麟2.1-01相对于以前版本(2.0-14/21)进行了特殊化处理。主要是做了两件事情,一个是用objcopy/strip去掉了符号信息,strip了,而且还有一些额外的小动作,这样“成功的”回避了我那篇相似性分析中所用的分析方法;再一个就是修改了引导程序,所以用直接引导内核的方式已经是不可以用FreeBSD内核启动麒麟了,给大家尝试新版本情况下FreeBSD内核同麒麟内核的兼容性带来了一些障碍。

我之前不理解这种换门的行为有什么意义,有一位网友点醒的好,这叫做“迅雷不及掩耳盗铃”--(形容掩耳盗铃速度之快,呵呵)。

也有些人对我的“换门说”产生了质疑,怀疑是不是麒麟2.1真的在结构上有重大改进才导致的无法启动。那么好吧,今天,我们就来证实麒麟2.1确实是换了一个门而已。

系统引导

系统引导,一般为多级,大多数情况下,从MBR接过引导权后,稍加处理后,会转交给一个比较高级的引导程序,一般由这个引导程序来负责启动内核。在Windows NT/2000中是NT LoaderLinux中可能是Grub;在FreeBSD中是Boot Loader。有很多的引导程序比较高级具有多系统的引导能力,有的还具有传递引导权给下一级引导程序的能力。Grub就是其中之一。

麒麟的引导过程

麒麟为了多系统引导和图形化界面,采用了Grub作为第一级引导程序。在选择了"Kylin"后,Grub将加载第二级引导程序,对于2.0-14/21来说使用的是FreeBSDBoot Loader,而2.1-01开始,麒麟开发组调整了这个引导程序,虽然大体上还是和FreeBSDBoot Loader相同,但是修改了一些东西,导致这个Boot Loader属于Kylin 2.1-01专用的Boot Loader,既无法启动FreeBSD,也无法启动Kylin 2.0-14/21。也就所谓的自家人不认自家门了。呵呵。

在这个过程中,Boot Loader相当于一个点火器或者钥匙,只有和内核配套,遵循加载内核的约定,才能够成功的将内核加载起来。但是这个引导程序对于运行中的系统安全性和稳定性影响甚微,所以,修改其引导程序的目的,大家可以发挥想象力了。

证明我所说的换门问题很简单,我们只要将门再换回来就行了。今天我们所做的,就是使用FreeBSDBoot Loader来帮助加载FreeBSD 5.3的内核,最后成功的挂载各个系统模块,并引导图形界面成功。

需求:

1、一个FreeBSD 5.3的内核。我建议重新编译一个内核(和上回一样,要是上回编译了就不用再编译了),加上Linux兼容等可选模块,这样更贴近麒麟的做法。不过最低要求不需要加很多,只要加上Linux兼容的部分就行,我建议至少加上下面的选项:

options COMPAT_LINUX
options LINPROCFS
device  sound

2、一个可以运行的麒麟操作系统,是2.1-01版本。

操作步骤:

1. 将新编译的内核随便起一个名,在这个例子中,我将其命名为freebsd_5.3_sl,并存在home目录中。

2. 在FreeBSD 5.3中做下列准备工作:

mkdir ~/boot
mkdir ~/boot/kernel
cp ~/freebsd_5.3_sl ~/boot/kernel/
cp /boot/loader ~/boot/
echo "load /boot/kernel/freebsd_5.3_sl" > ~/boot/loader.rc
echo "boot" >> ~/boot/loader.rc
cd ~
tar -czvf boot.tar.gz boot

3. 将boot.tar.gz传到Kylin/root目录下,然后在Kylin中开一个shell,执行:

cd /
tar -zxvf /root/boot.tar.gz

这样,就把FreeBSDBoot Loader和内核已经放好位置了,并且也已经写好了启动脚本。装好了钥匙也装好了门,一切就绪了。

4. 下面,来开始我们的引导之旅吧。:)reboot 重新引导麒麟操作系统。
5. 在GRUB的引导界面移动光标到Kylin上后按e (如果默认就在Kylin上,就直接按e

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

6. 将光标移动到第二行,kernel那行,然后按e

 巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

7. 我们会看到如下的行。

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1
修改/boot/booter mute/boot/loader。呵呵,人家从2.0-18loader换成了booter就是为了不让我们能够启动FreeBSD,今天我们就给它换回来。

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

8. 回到这个页面后按b,将引导boot loader

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

9. 好,现在系统开始真正引导了,但是大家会从随后的几个画面发现,麒麟从2.0-01开始,再也不显示Copyright信息了,不但连加州大学的版本信息不显示,连他自己的版本信息也不显示了。据传闻,这样是为了让界面更加干净。嗯,确实挺“干净”。呵呵。不过谁要是特意的想看Copyright,还是可以从dmesg来看到的。

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

 

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

 

10. 成功的启动了X Window,进入图形界面的登录窗口。

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

11. 输入口令登录后,开始加载Gnome各个组件

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

12. 成功的启动了完整的图形界面,大家可以从uname中看到FreeBSD 5.3-RELEASE
(其实也可以cat /proc/version的,这回抓图的时候忘了,不好意思,呵呵。)

 

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

 

巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1

 

至此,我们完成了仅仅替换为FreeBSD 5.3的内核和引导内核用的引导程序,就做到了完整系统的启动。虽然还有一些警告信息,但是系统服务基本都是正常启动的。和上回的2.0-14/18一样,麒麟开发组新发布的2.1-01FreeBSD“兼容性”依旧很不错

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

응용 프로그램 시작 오류 0xc000012d 문제를 해결하는 방법 응용 프로그램 시작 오류 0xc000012d 문제를 해결하는 방법 Jan 02, 2024 pm 12:53 PM

친구의 컴퓨터에 특정 파일이 누락된 경우 오류 코드 0xc000012d가 발생하며 애플리케이션이 정상적으로 시작되지 않습니다. 실제로 해당 파일을 다시 다운로드하여 설치하면 쉽게 해결할 수 있습니다. 응용 프로그램을 정상적으로 시작할 수 없습니다. 0xc000012d: 1. 먼저 사용자는 ".netframework"를 다운로드해야 합니다. 2. 그런 다음 다운로드 주소를 찾아 컴퓨터에 다운로드합니다. 3. 그런 다음 바탕 화면을 두 번 클릭하여 실행을 시작합니다. 4. 설치가 완료되면 잘못된 프로그램 위치로 돌아가 프로그램을 다시 실행해 보세요.

Ubuntu 시작 검은 화면 문제에 대한 효과적인 솔루션 및 기술 Ubuntu 시작 검은 화면 문제에 대한 효과적인 솔루션 및 기술 Dec 29, 2023 am 10:30 AM

Ubuntu 시작 시 검은색 화면을 해결하는 실용적인 팁 및 방법 소개: Ubuntu는 널리 사용되는 Linux 운영 체제이지만 때로는 시작 프로세스 중에 검은색 화면 문제가 발생할 수 있습니다. 이 문제는 그래픽 카드 드라이버 문제, 소프트웨어 충돌, 시스템 오류 등 다양한 이유로 인해 발생할 수 있습니다. 이 기사에서는 시스템의 안정적인 작동을 보장하기 위해 Ubuntu 시작 시 검은색 화면 문제를 해결하는 데 도움이 되는 몇 가지 실용적인 팁과 방법을 소개합니다. 1. 그래픽 카드 드라이버를 업데이트하고 다시 설치하여 복구 모드로 들어갑니다. 시작하는 동안 Shift 키를 눌러 복구 모드로 들어갑니다.

컴퓨터 프롬프트 '재부팅 및 적절한 부팅 장치 선택'을 해결하는 방법 컴퓨터 프롬프트 '재부팅 및 적절한 부팅 장치 선택'을 해결하는 방법 Jan 15, 2024 pm 02:00 PM

시스템을 다시 설치하는 것이 완벽한 해결책은 아닐 수 있지만 다시 설치한 후 컴퓨터를 켜면 검은색 배경에 흰색 텍스트가 표시되고 재부팅하고 적절한 부팅 장치를 선택하라는 메시지가 표시됩니다. 무슨 일이 일어나고 있는 걸까요? 이러한 프롬프트는 일반적으로 부팅 오류로 인해 발생합니다. 모두를 돕기 위해 편집자가 해결책을 제시했습니다. 컴퓨터 사용이 점점 더 대중화되고 컴퓨터 오류가 점점 더 흔해지고 있습니다. 아니요, 최근 일부 사용자에게 컴퓨터를 켤 때 검은색 화면이 나타나고 재부팅하고 적절한 부팅 장치를 선택하라는 메시지가 표시되어 컴퓨터 시스템을 시작할 수 없습니다. 보통. 무슨 일이야? 어떻게 해결하나요? 사용자는 혼란스러워하고 다음으로 편집자가 따릅니다.

wps가 이 객체의 소스 애플리케이션을 시작할 수 없으면 어떻게 해야 합니까? wps가 이 객체의 소스 애플리케이션을 시작할 수 없으면 어떻게 해야 합니까? Mar 13, 2024 pm 09:13 PM

WPS는 문서, 양식, PPT 등 매우 널리 사용되는 사무용 소프트웨어이며 다중 터미널 동기화를 지원합니다. wps 편집 시 "이 개체에 대한 소스 응용 프로그램을 시작할 수 없습니다"라는 메시지가 나타나는 경우 어떻게 해결합니까? 이 문제는 링크나 파일을 열려고 하지만 해당 소스 응용 프로그램이 더 이상 존재하지 않거나 삭제되었기 때문에 발생할 수 있습니다. 1. WPS 소프트웨어 재설치: WPSOffice를 재설치하여 문제를 해결하고 최신 버전을 사용하고 있는지 확인하십시오. 2. 기본 프로그램 수동 변경: 기본 프로그램을 WPS로 변경해 보십시오. 열려는 파일을 마우스 오른쪽 버튼으로 클릭하고 "다음으로 열기"를 선택한 다음

Kirin 8000 프로세서 성능 비교: Snapdragon 프로세서와 경쟁 Kirin 8000 프로세서 성능 비교: Snapdragon 프로세서와 경쟁 Mar 23, 2024 pm 01:36 PM

현재 스마트폰 시장에서 프로세서는 주요 휴대폰 제조사들이 경쟁의 화두 중 하나라고 할 수 있다. 휴대폰의 "두뇌"인 프로세서의 성능은 휴대폰의 실행 속도, 멀티 태스킹 기능 및 게임 경험에 직접적인 영향을 미칩니다. 현재 화웨이의 주력 휴대폰 장비인 Kirin 8000 프로세서가 많은 주목을 받고 있습니다. 그렇다면 Snapdragon 프로세서와 비교하여 장점과 단점은 무엇입니까? 우선, 성능 측면에서 Kirin 8000 프로세서는 최신 TSMC 5nm 공정을 사용하여 제조되었으며 더욱 발전된 공정 기술과 향상된 성능을 갖추고 있습니다.

Kirin 8000 및 Snapdragon 프로세서의 성능 분석: 강점과 약점의 세부 비교 Kirin 8000 및 Snapdragon 프로세서의 성능 분석: 강점과 약점의 세부 비교 Mar 24, 2024 pm 06:09 PM

Kirin 8000과 Snapdragon 프로세서 성능 분석: 장단점 상세 비교 스마트폰의 인기와 기능성이 높아지면서 휴대폰의 핵심 부품인 프로세서도 많은 주목을 받고 있습니다. 현재 시장에 나와 있는 가장 일반적이고 우수한 프로세서 브랜드 중 하나는 Huawei의 Kirin 시리즈와 Qualcomm의 Snapdragon 시리즈입니다. 이 기사에서는 Kirin 8000과 Snapdragon 프로세서의 성능 분석에 중점을 두고 두 프로세서의 장단점을 다양한 측면에서 비교해 보겠습니다. 먼저 Kirin 8000 프로세서를 살펴보겠습니다. 화웨이의 최신 플래그십 프로세서인 Kirin 8000

Ubuntu 22.04에 Linux 커널을 설치하는 방법 자세한 튜토리얼! Ubuntu 22.04에 Linux 커널을 설치하는 방법 자세한 튜토리얼! Mar 01, 2024 pm 10:34 PM

Ubuntu22.04에 Linux 커널을 설치하려면 다음 단계를 수행할 수 있습니다. 시스템 업데이트: 먼저 Ubuntu 시스템이 최신인지 확인하고 다음 명령을 실행하여 시스템 패키지를 업데이트합니다. sudoaptupdatesudoaptupgrade 커널 파일 다운로드: 공식 Linux 커널 웹사이트()에서 필수 커널 버전을 다운로드하세요. 안정적인 버전을 선택하고 소스 코드 파일(.tar.gz 또는 .tar.xz 확장자 포함)을 다운로드합니다. 예: wget 파일 압축 풀기: 다운로드한 커널 소스 코드 파일의 압축을 풀려면 다음 명령을 사용하십시오: tar-xflinux-5.14 .tar.xz 설치 빌드 종속성: 커널을 빌드하는 데 필요한 도구 및 종속성을 설치합니다. 실행하다

WallpaperEngine을 시작할 때 무엇을 선택해야 합니까? WallpaperEngine을 시작할 때 무엇을 선택해야 합니까? Mar 19, 2024 am 08:49 AM

wallpaperengine이 시작되면 4가지 옵션이 있습니다. 많은 사용자는 wallpaperengine을 시작할 때 무엇을 선택해야 할지 모릅니다. 일반적으로 wallpaperengine이 시작되면 첫 번째 옵션인 32비트 시작을 선택합니다. wallpaperengine을 시작할 때 무엇을 선택해야 합니까? 답변: 32비트로 시작하세요. 1. 일반적으로 wallpaperengine이 시작되면 첫 번째 항목인 32비트 시작을 선택합니다. 2. wallpaperengine이 시작되면 4가지 옵션이 있습니다: 32비트 시작, 64비트 시작. 3. 32비트 시작: 일반적으로 권장되는 옵션이며 대부분의 사용자에게 적합합니다. 4. 64비트 시작: 시스템이 64비트를 지원하는 경우 이 옵션을 선택할 수 있습니다.

See all articles