巧用FreeBSD 5.3内核启动做了点手脚的麒麟2.1
[将非技术内容独立出去,文字无改动] 巧用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 Loader;Linux中可能是Grub;在FreeBSD中是Boot Loader。有很多的引导程序比较高级具有多系统的引导能力,有的还具有传递引导权给下一级引导程序的能力。Grub就是其中之一。
麒麟的引导过程
麒麟为了多系统引导和图形化界面,采用了Grub作为第一级引导程序。在选择了"Kylin"后,Grub将加载第二级引导程序,对于2.0-14/21来说使用的是FreeBSD的Boot Loader,而2.1-01开始,麒麟开发组调整了这个引导程序,虽然大体上还是和FreeBSD的Boot Loader相同,但是修改了一些东西,导致这个Boot Loader属于Kylin 2.1-01专用的Boot Loader,既无法启动FreeBSD,也无法启动Kylin 2.0-14/21。也就所谓的自家人不认自家门了。呵呵。
在这个过程中,Boot Loader相当于一个点火器或者钥匙,只有和内核配套,遵循加载内核的约定,才能够成功的将内核加载起来。但是这个引导程序对于运行中的系统安全性和稳定性影响甚微,所以,修改其引导程序的目的,大家可以发挥想象力了。
证明我所说的换门问题很简单,我们只要将门再换回来就行了。今天我们所做的,就是使用FreeBSD的Boot 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
这样,就把FreeBSD的Boot Loader和内核已经放好位置了,并且也已经写好了启动脚本。装好了钥匙也装好了门,一切就绪了。
4. 下面,来开始我们的引导之旅吧。:)reboot 重新引导麒麟操作系统。
5. 在GRUB的引导界面移动光标到Kylin上后按e (如果默认就在Kylin上,就直接按e)
6. 将光标移动到第二行,kernel那行,然后按e
7. 我们会看到如下的行。
修改/boot/booter mute为/boot/loader。呵呵,人家从2.0-18的loader换成了booter就是为了不让我们能够启动FreeBSD,今天我们就给它换回来。
8. 回到这个页面后按b,将引导boot loader
9. 好,现在系统开始真正引导了,但是大家会从随后的几个画面发现,麒麟从2.0-01开始,再也不显示Copyright信息了,不但连加州大学的版本信息不显示,连他自己的版本信息也不显示了。据传闻,这样是为了让界面更加干净。嗯,确实挺“干净”。呵呵。不过谁要是特意的想看Copyright,还是可以从dmesg来看到的。
10. 成功的启动了X Window,进入图形界面的登录窗口。
11. 输入口令登录后,开始加载Gnome各个组件
12. 成功的启动了完整的图形界面,大家可以从uname中看到FreeBSD 5.3-RELEASE。
(其实也可以cat /proc/version的,这回抓图的时候忘了,不好意思,呵呵。)
至此,我们完成了仅仅替换为FreeBSD 5.3的内核和引导内核用的引导程序,就做到了完整系统的启动。虽然还有一些警告信息,但是系统服务基本都是正常启动的。和上回的2.0-14/18一样,麒麟开发组新发布的2.1-01同FreeBSD的“兼容性”依旧很不错。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila komputer rakan kehilangan fail tertentu, aplikasi tidak boleh dimulakan seperti biasa dengan kod ralat 0xc000012d Malah, ia boleh diselesaikan dengan memuat turun semula fail dan memasangnya. Aplikasi tidak boleh bermula seperti biasa 0xc000012d: 1. Pertama, pengguna perlu memuat turun ".netframework". 2. Kemudian cari alamat muat turun dan muat turun ke komputer anda. 3. Kemudian klik dua kali pada desktop untuk mula berjalan. 4. Selepas pemasangan selesai, kembali ke lokasi program yang salah dan buka program semula.

Petua dan Kaedah Praktikal untuk Menyelesaikan Skrin Hitam Permulaan Ubuntu Pengenalan: Ubuntu ialah sistem pengendalian Linux yang popular, tetapi kadangkala anda mungkin menghadapi masalah skrin hitam semasa proses permulaan. Masalah ini boleh disebabkan oleh pelbagai sebab, seperti isu pemacu kad grafik, konflik perisian atau ralat sistem. Artikel ini akan memperkenalkan beberapa petua dan kaedah praktikal untuk membantu menyelesaikan masalah skrin hitam pada permulaan Ubuntu untuk memastikan operasi sistem yang stabil. 1. Kemas kini dan pasang semula pemacu kad grafik untuk memasuki mod pemulihan: tekan kekunci Shift semasa permulaan untuk masuk

Memasang semula sistem mungkin bukan penyelesaian yang mudah, tetapi selepas memasang semula, saya mendapati bahawa apabila komputer dihidupkan, ia akan memaparkan teks putih pada latar belakang hitam, dan kemudian memberikan gesaan: rebootandselectproperbootdevice, apa yang sedang berlaku? Gesaan sedemikian biasanya disebabkan oleh ralat but. Untuk membantu semua orang, editor telah membawakan anda penyelesaian. Penggunaan komputer menjadi semakin popular, dan kegagalan komputer menjadi semakin biasa Tidak, baru-baru ini beberapa pengguna menghadapi skrin hitam apabila menghidupkan komputer, dan menggesa Reboot dan Pilih peranti But Betul, dan sistem komputer tidak dapat dimulakan. biasalah. Apa yang berlaku? Bagaimana untuk menyelesaikannya? Pengguna keliru Seterusnya, editor akan mengikuti

WPS ialah perisian pejabat yang digunakan secara meluas, termasuk dokumen, borang dan PPT, serta menyokong penyegerakan berbilang terminal. Jika gesaan "Aplikasi sumber untuk objek ini tidak boleh dilancarkan" muncul semasa mengedit wps, bagaimana untuk menyelesaikannya? Masalah ini mungkin berlaku kerana anda cuba membuka pautan atau fail, tetapi aplikasi sumbernya tidak lagi wujud atau telah dipadamkan. Berikut ialah beberapa pembetulan: 1. Pasang semula perisian WPS: Cuba pasang semula WPSOffice untuk menyelesaikan masalah dan pastikan anda menggunakan versi terkini. 2. Tukar program lalai secara manual: Cuba tukar program lalai kepada WPS Anda boleh klik kanan fail yang ingin anda buka, pilih "Buka dengan", dan kemudian

Dalam pasaran telefon pintar semasa, pemproses boleh dikatakan sebagai salah satu fokus persaingan bagi pengeluar telefon bimbit utama. Sebagai "otak" telefon bimbit, prestasi pemproses secara langsung mempengaruhi kelajuan berjalan telefon mudah alih, keupayaan berbilang tugas dan pengalaman permainan. Pada masa ini, pemproses Kirin 8000, sebagai peralatan telefon bimbit utama Huawei, telah menarik perhatian ramai. Jadi, apakah kelebihan dan kekurangannya berbanding dengan pemproses Snapdragon? Pertama sekali, dari perspektif prestasi, pemproses Kirin 8000 dihasilkan menggunakan proses TSMC 5nm terkini Ia mempunyai teknologi proses yang lebih maju dan prestasi yang lebih baik.

Analisis prestasi pemproses Kirin 8000 dan Snapdragon: perbandingan terperinci kekuatan dan kelemahan Dengan populariti telefon pintar dan fungsinya yang semakin meningkat, pemproses, sebagai komponen teras telefon mudah alih, juga telah menarik perhatian ramai. Salah satu jenama pemproses yang paling biasa dan terbaik pada masa ini di pasaran ialah siri Kirin Huawei dan siri Snapdragon Qualcomm. Artikel ini akan menumpukan pada analisis prestasi pemproses Kirin 8000 dan Snapdragon, dan meneroka perbandingan kekuatan dan kelemahan kedua-duanya dalam pelbagai aspek. Pertama, mari kita lihat pemproses Kirin 8000. Sebagai pemproses terbaharu Huawei, Kirin 8000

Untuk memasang kernel Linux pada Ubuntu22.04, anda boleh mengikuti langkah berikut: Kemas kini sistem: Pertama, pastikan sistem Ubuntu anda adalah yang terkini, laksanakan arahan berikut untuk mengemas kini pakej sistem: sudoaptupdatesudoaptupgrade Muat turun fail kernel: Lawati laman web rasmi kernel Linux () untuk memuat turun versi kernel yang diperlukan. Pilih versi yang stabil dan muat turun fail kod sumber (dengan sambungan .tar.gz atau .tar.xz), sebagai contoh: wget Nyahzip fail: Gunakan arahan berikut untuk nyahzip fail kod sumber kernel yang dimuat turun: tar-xflinux-5.14 .tar. xz install build dependencies: Pasang alatan dan dependencies yang diperlukan untuk membina kernel. Laksanakan

Apabila enjin kertas dinding dimulakan, terdapat 4 pilihan berbeza Ramai pengguna tidak tahu yang mana satu untuk dipilih semasa memulakan enjin kertas dinding Secara amnya, apabila enjin kertas dinding dimulakan, pilih yang pertama: mulakan 32-bit. Mana satu untuk dipilih semasa memulakan mesin kertas dinding? 1. Secara amnya, apabila enjin kertas dinding dimulakan, pilih yang pertama: mulakan 32-bit. 2. Apabila enjin kertas dinding dimulakan, terdapat 4 pilihan berbeza: mulakan 32-bit; 3. Mulakan 32-bit: Ini adalah pilihan umum yang disyorkan dan sesuai untuk kebanyakan pengguna. 4. Mulakan 64-bit: Jika sistem menyokong 64-bit, anda boleh memilih pilihan ini
