ホームページ データベース 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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

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

システムの再インストールは確実な解決策ではないかもしれませんが、再インストール後、コンピュータの電源を入れると、黒の背景に白のテキストが表示され、次のプロンプトが表示されることがわかりました。「rebootandselectproperbootdevice、何が起こっていますか?」このようなプロンプトは通常、ブート エラーによって発生します。皆さんを助けるために、編集者が解決策を提案しました。コンピュータの使用がますます一般的になり、コンピュータの故障がますます一般的になってきています。いいえ、最近、一部のユーザーがコンピュータの電源を入れるときに黒い画面に遭遇し、再起動と適切なブート デバイスの選択を求められ、コンピュータ システムが起動できなくなりました。通常は。どうしたの?どうやって解決すればいいでしょうか?ユーザーは混乱しています。次に編集者がフォローします

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 プロセッサの性能分析: 長所と短所の詳細な比較 スマートフォンの普及とその高機能化に伴い、携帯電話の中核コンポーネントであるプロセッサにも大きな注目が集まっています。現在市場で最も一般的で優れたプロセッサー ブランドの 1 つは、Huawei 社の Kirin シリーズと Qualcomm の Snapdragon シリーズです。この記事では、Kirin 8000 プロセッサと Snapdragon プロセッサのパフォーマンス分析に焦点を当て、さまざまな側面における 2 つのプロセッサの長所と短所の比較を検討します。まず、Kirin 8000 プロセッサーを見てみましょう。ファーウェイの最新フラッグシッププロセッサー、Kirin 8000

Ubuntu 22.04 に Linux カーネルをインストールする方法 詳細なチュートリアル! Ubuntu 22.04 に Linux カーネルをインストールする方法 詳細なチュートリアル! Mar 01, 2024 pm 10:34 PM

Linux カーネルを Ubuntu22.04 にインストールするには、次の手順に従います。 システムを更新します。 まず、Ubuntu システムが最新であることを確認し、次のコマンドを実行してシステム パッケージを更新します。 sudoaptupdatesudoaptupgrade カーネル ファイルをダウンロードします。公式 Linux カーネル Web サイト () から必要なカーネル バージョンをダウンロードします。安定したバージョンを選択し、ソース コード ファイル (.tar.gz または .tar.xz 拡張子付き) をダウンロードします。例: wget ファイルを解凍します。次のコマンドを使用して、ダウンロードしたカーネル ソース コード ファイルを解凍します: tar-xflinux-5.14 .tar.xz ビルドの依存関係をインストールする: カーネルのビルドに必要なツールと依存関係をインストールします。実行する

壁紙エンジンを始めるときにどれを選ぶべきですか? 壁紙エンジンを始めるときにどれを選ぶべきですか? Mar 19, 2024 am 08:49 AM

壁紙エンジンが起動するとき、4 つの異なるオプションがあります。多くのユーザーは、壁紙エンジンを起動するときにどれを選択すればよいかわかりません。通常、壁紙エンジンが起動するときは、最初の 32 ビットを選択します。壁紙エンジンを開始するときにどれを選択しますか? 回答: 32 ビットを開始します。 1. 通常、壁紙エンジンが起動するときは、最初の「32 ビットの開始」を選択します。 2. 壁紙エンジンが開始されるとき、4 つの異なるオプションがあります: 32 ビットで開始、64 ビットで開始。 3. 32 ビットを開始: これは一般的に推奨されるオプションであり、ほとんどのユーザーに適しています。 4. 64 ビットの開始: システムが 64 ビットをサポートしている場合は、このオプションを選択できます。

See all articles