精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何制作一個(gè)屬于自己的Linux操作系統(tǒng)?

dyquk4xk2p3d ? 來(lái)源:良許Linux ? 2023-04-03 09:33 ? 次閱讀

一、前言

Linux操作系統(tǒng)至1991年10月5日誕生以來(lái),就其開(kāi)源性和自由性得到了很多技術(shù)大牛的青睞,每個(gè)Linux愛(ài)好者都為其貢獻(xiàn)了自己的一份力,不管是在Linux內(nèi)核還是開(kāi)源軟件等方面,都為我們后來(lái)人提供了一個(gè)良好的學(xué)習(xí)和研究環(huán)境。

本文主要通過(guò)裁剪現(xiàn)有Linux系統(tǒng),根據(jù)自己的需要,打造一個(gè)屬于自己的Linux小系統(tǒng),讓其能夠具備Linux的一些常用小功能。

二、原理

啟動(dòng)流程介紹:

制作Linux小系統(tǒng)之前,我們有必要再了解一下Linux的啟動(dòng)流程:

1、首先Linux要通過(guò)POST自檢,檢查硬件設(shè)備有沒(méi)有故障

2、如果有多塊啟動(dòng)盤(pán)的話,需要在BIOS中選擇啟動(dòng)磁盤(pán)

3、啟動(dòng)MBR中的bootloader引導(dǎo)程序

4、加載內(nèi)核文件

5、執(zhí)行所有進(jìn)程的父進(jìn)程、老祖宗init

6、打印歡迎界面

在Linux的啟動(dòng)流程中,加載內(nèi)核文件時(shí)還需要借助別外兩個(gè)文件:

1)initrd,是CentOS5上用內(nèi)存模擬的磁盤(pán)設(shè)備

2)initramfs,是CentOS6上用內(nèi)存模擬的文件系統(tǒng)

在啟程的流程中,init主要是用來(lái)做哪些操作的呢?

init通過(guò)調(diào)用/etc/inittab這個(gè)配置文件,然后再去執(zhí)行/etc/rc.d/rc.sysinit的系統(tǒng)初始化腳本

好啦,原理我們已經(jīng)知道了,接下來(lái)我們來(lái)看看具體的思路吧(〃'▽'〃)

三、思路

1、我們要在一個(gè)現(xiàn)有的Linux系統(tǒng)上加一塊硬盤(pán)/dev/sdb,在硬盤(pán)上分兩個(gè)分區(qū),一個(gè)是/boot,一個(gè)是/,并將其格式化。當(dāng)然,我們需要明確的概念是,我們現(xiàn)在加的這個(gè)硬盤(pán)在現(xiàn)有的Linux系統(tǒng)中是/dev/sdb,但是,當(dāng)我們把東西全部設(shè)置好時(shí),我們就需要把這個(gè)硬盤(pán)拔除,放在我們的新系統(tǒng)上,此時(shí),他就是/dev/sda啦。

2、在/dev/sdb這個(gè)硬盤(pán)上,我們要將其打造成一個(gè)獨(dú)立的Linux系統(tǒng),里面的所有文件是需要我們一個(gè)一個(gè)拷貝進(jìn)去的。而且,作為一個(gè)將來(lái)要當(dāng)/dev/sda的硬盤(pán),里面一定要有g(shù)rub文件諾~所以我們要安裝grub文件。

3、同時(shí),作為一個(gè)能獨(dú)立運(yùn)行的Linux系統(tǒng),內(nèi)核是一定不能少的!所以,我們要把內(nèi)核文件和initramfs文件也一起拷到我們的/dev/sdb上。

4、現(xiàn)在我們系統(tǒng)已經(jīng)初具規(guī)模了,接下來(lái)就是需要程序了0.0關(guān)于程序的拷貝我們可以通過(guò)一個(gè)腳本來(lái)實(shí)現(xiàn)。具體的腳本在下文中會(huì)給大家說(shuō)到。

以上步驟完成,我們的自制Linux就完成啦~我們的思路就是這么回事,接下來(lái),我們就開(kāi)始吧( ̄▽ ̄)~*

四、操作步驟

本次實(shí)驗(yàn)我們以centos6.9為例~

1、目標(biāo)磁盤(pán)分區(qū)

首先,我們?cè)谒拗鳈C(jī)上添加一塊大小為20G的硬盤(pán):

8c605430-d1af-11ed-bfe3-dac502259ad0.jpg

8c671482-d1af-11ed-bfe3-dac502259ad0.jpg

8c72aedc-d1af-11ed-bfe3-dac502259ad0.jpg

8c8090ce-d1af-11ed-bfe3-dac502259ad0.jpg

8c8b500e-d1af-11ed-bfe3-dac502259ad0.jpg

8c92d946-d1af-11ed-bfe3-dac502259ad0.jpg

8c9aca98-d1af-11ed-bfe3-dac502259ad0.jpg

8ca9d70e-d1af-11ed-bfe3-dac502259ad0.jpg

添加完成后,點(diǎn)擊確定,然后我們打開(kāi)宿主機(jī)。通過(guò)fdisk來(lái)給我們的/dev/sdb進(jìn)行分區(qū):

8cb6333c-d1af-11ed-bfe3-dac502259ad0.jpg

接下來(lái),我們對(duì)/dev/sdb的分區(qū)進(jìn)行格式化:

8cbe3e10-d1af-11ed-bfe3-dac502259ad0.png

格式化完成后,我們創(chuàng)建一個(gè)文件夾。進(jìn)行掛載:

8cc2f590-d1af-11ed-bfe3-dac502259ad0.png

注意:新建的文件夾必須是/mnt/boot

2、安裝grub至目標(biāo)磁盤(pán)

我們直接用grub-install –root-directory=/mnt命令來(lái)安裝。用這個(gè)命令會(huì)安裝grub引導(dǎo)第二階段的文件。

8cc84ffe-d1af-11ed-bfe3-dac502259ad0.png

我們可以來(lái)看一下二進(jìn)制確認(rèn)我們是否安裝成功:

8cd9597a-d1af-11ed-bfe3-dac502259ad0.jpg

安裝成功。

3、復(fù)制內(nèi)核文件和initrd文件

將內(nèi)核文件和initrd文件復(fù)制到/dev/sdb下的boot目錄中:

8cf634d2-d1af-11ed-bfe3-dac502259ad0.png

4、建立grub.conf文件

上面我們已經(jīng)移植了內(nèi)核和initrd文件,我們可以根據(jù)其版本來(lái)編寫(xiě)grub.conf文件:

8cfa44b4-d1af-11ed-bfe3-dac502259ad0.png

注意,我們要把selinux給關(guān)掉,同時(shí)設(shè)定一下init,告訴內(nèi)核不要再去找這個(gè)程序了,不然開(kāi)機(jī)的時(shí)候會(huì)出現(xiàn)錯(cuò)誤的~

5、創(chuàng)建一級(jí)目錄并復(fù)制文件

至此,我們就缺目錄和文件了~

創(chuàng)建開(kāi)機(jī)后的一級(jí)目錄,同時(shí)把/dev/sdb2掛載至/mnt/sysroot,使該目錄作為根目錄:

8d06ce5a-d1af-11ed-bfe3-dac502259ad0.png

復(fù)制文件,復(fù)制文件我們通過(guò)腳本執(zhí)行,復(fù)制我們平時(shí)常用的命令即可,小編這里復(fù)制了ls,ifconfig,bash,reboot,rm,modprobe,mount,ip,mkdir,touch,cat,vi,less,shutdown,insmod。我們可以用tree查看一下這些命令的復(fù)制情況:

8d138bf4-d1af-11ed-bfe3-dac502259ad0.jpg

很明顯我們都復(fù)制成功了~

附:復(fù)制命令的腳本源代碼

8d29757c-d1af-11ed-bfe3-dac502259ad0.jpg

6、復(fù)制網(wǎng)卡驅(qū)動(dòng)

我們基本工作已經(jīng)完成了,如果想使這個(gè)虛擬機(jī)帶有網(wǎng)卡功能,我們就必須把網(wǎng)卡驅(qū)動(dòng)拷過(guò)來(lái),具體操作如下:

1)查詢網(wǎng)卡詳細(xì)信息

8d3ecde6-d1af-11ed-bfe3-dac502259ad0.png

2)把網(wǎng)卡模塊的路徑復(fù)制到/mnt/sysroot的庫(kù)文件下:

8d48b7d4-d1af-11ed-bfe3-dac502259ad0.png

以上,我們的操作全部完成。現(xiàn)在我們就可以關(guān)機(jī),然后把/dev/sdb這個(gè)硬盤(pán)拆下來(lái),放到新的虛擬機(jī)上運(yùn)行了~

五、測(cè)試開(kāi)機(jī)

我們創(chuàng)建一個(gè)新的虛擬機(jī),啟動(dòng)的時(shí)候會(huì)帶一個(gè)硬盤(pán),我們不用它的,刪掉再把我們自己定義的硬盤(pán)加進(jìn)去:

8d558c84-d1af-11ed-bfe3-dac502259ad0.jpg

8d5b0a4c-d1af-11ed-bfe3-dac502259ad0.jpg

8d6b1662-d1af-11ed-bfe3-dac502259ad0.jpg

8d7d51e2-d1af-11ed-bfe3-dac502259ad0.jpg

8d847f12-d1af-11ed-bfe3-dac502259ad0.jpg

8d93fde8-d1af-11ed-bfe3-dac502259ad0.jpg

此時(shí),我們做好的硬盤(pán)已經(jīng)加進(jìn)去了。我們可以試試能不能啟動(dòng)了,如果虛擬機(jī)可以正常開(kāi)啟,就說(shuō)明我們的實(shí)驗(yàn)成功~

8d9e2fac-d1af-11ed-bfe3-dac502259ad0.jpg

8daaf656-d1af-11ed-bfe3-dac502259ad0.jpg

六、實(shí)現(xiàn)網(wǎng)絡(luò)功能

8dbbe286-d1af-11ed-bfe3-dac502259ad0.jpg

由于圖片可能會(huì)看不清楚,現(xiàn)把代碼標(biāo)出如下:

8dc4caf4-d1af-11ed-bfe3-dac502259ad0.png

由于復(fù)制命令的時(shí)候忘記復(fù)制ping了……所以我們用另一臺(tái)機(jī)器來(lái)ping一下這個(gè)ip地址:

8dd3cc70-d1af-11ed-bfe3-dac502259ad0.jpg

可以ping通~

至此,我們已經(jīng)完成了私人訂制Linux的全部操作,同時(shí)我們的自制Linux也可以聯(lián)網(wǎng)啦~

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11230

    瀏覽量

    208931
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6740

    瀏覽量

    123190
  • 磁盤(pán)
    +關(guān)注

    關(guān)注

    1

    文章

    367

    瀏覽量

    25177

原文標(biāo)題:如何制作一個(gè)屬于自己的Linux操作系統(tǒng)?

文章出處:【微信號(hào):良許Linux,微信公眾號(hào):良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    轉(zhuǎn):構(gòu)建屬于自己的AVR操作系統(tǒng)

    剛剛在網(wǎng)上找資料看到了這個(gè):構(gòu)建屬于自己的AVR操作系統(tǒng),感覺(jué)是好東西,雖然我自己用不上,但是SO了下壇子里沒(méi)有人分享過(guò)哪就共享出來(lái)吧因?yàn)?/div>
    發(fā)表于 07-24 10:15

    打造屬于自己Linux操作系統(tǒng)

    跟大神起15分鐘制作個(gè)屬于自己Linux
    發(fā)表于 04-16 14:18

    如何制作個(gè)基于linux-2.6.19內(nèi)核的小型Linux操作系統(tǒng)

    本文著重介紹如何制作個(gè)基于linux-2.6.19內(nèi)核的小型Linux操作系統(tǒng),并將它移植到S
    發(fā)表于 04-25 08:40

    如何建立個(gè)屬于自己的AVR的RTOS

    這篇筆記雖然是“51操作系統(tǒng)學(xué)習(xí)筆記”,但沒(méi)有找到合適的代碼。用楊明記的感覺(jué)還有點(diǎn)難度。因而轉(zhuǎn)學(xué)《建立個(gè)屬于自己的AVR的RTOS》這篇文
    發(fā)表于 11-24 06:31

    Linux操作系統(tǒng)

    linux的教學(xué)內(nèi)容1 、Linux概述 2 、Linux操作系統(tǒng)安裝3、 Linux的內(nèi)核 4 、Li
    發(fā)表于 04-10 16:54 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統(tǒng)</b>

    Linux操作系統(tǒng)原理及應(yīng)用

    Linux操作系統(tǒng)原理及應(yīng)用 1.1  操作系統(tǒng)的地位 1.2  操作系統(tǒng)的功能 1.3  操作系統(tǒng)的發(fā)
    發(fā)表于 04-28 14:53 ?0次下載

    什么是Linux操作系統(tǒng)

    什么是Linux操作系統(tǒng)  簡(jiǎn)單地說(shuō),Linux
    發(fā)表于 12-26 12:04 ?1404次閱讀

    手機(jī)支持的Linux操作系統(tǒng)

    手機(jī)支持的Linux操作系統(tǒng)   Linux系統(tǒng)Linux系統(tǒng)
    發(fā)表于 01-28 17:07 ?1818次閱讀

    基于linux的十大操作系統(tǒng)排名

    基于linux內(nèi)核開(kāi)源的特性,并隨著linux的不斷發(fā)展,各種基于Linux操作系統(tǒng)版本也在不斷發(fā)行出來(lái),其中每一個(gè)不同版本的
    發(fā)表于 07-10 16:23 ?1.6w次閱讀

    Linux操作系統(tǒng)與Windows操作系統(tǒng)的五大區(qū)別

    、Android、Ubuntu等都可以叫做Linux系統(tǒng)Linux系統(tǒng)他是個(gè)家族,他們有共同
    發(fā)表于 07-10 16:28 ?7877次閱讀

    什么是分時(shí)操作系統(tǒng)Linux屬于實(shí)時(shí)操作系統(tǒng)嗎?

    我們平時(shí)分享的μC/OS、FreeRTOS、RT-Thread、ThreadX這些都是實(shí)時(shí)操作系統(tǒng)(RTOS),那么有讀者問(wèn):什么是分時(shí)操作系統(tǒng)Linux屬于實(shí)時(shí)
    的頭像 發(fā)表于 06-23 17:04 ?9051次閱讀

    51操作系統(tǒng)學(xué)習(xí)筆記(三):建立個(gè)屬于自己的AVR的RTOS(1)

    這篇筆記雖然是“51操作系統(tǒng)學(xué)習(xí)筆記”,但沒(méi)有找到合適的代碼。用楊明記的感覺(jué)還有點(diǎn)難度。因而轉(zhuǎn)學(xué)《建立個(gè)屬于自己的AVR的RTOS》這篇文
    發(fā)表于 11-15 18:36 ?9次下載
    51<b class='flag-5'>操作系統(tǒng)</b>學(xué)習(xí)筆記(三):建立<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>屬于</b><b class='flag-5'>自己</b>的AVR的RTOS(1)

    51操作系統(tǒng)學(xué)習(xí)筆記(四):建立個(gè)屬于自己的AVR的RTOS(2)

    承接51操作系統(tǒng)學(xué)習(xí)筆記(三):建立個(gè)屬于自己的AVR的RTOS(1),在avr中調(diào)試下下面
    發(fā)表于 11-15 21:06 ?7次下載
    51<b class='flag-5'>操作系統(tǒng)</b>學(xué)習(xí)筆記(四):建立<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>屬于</b><b class='flag-5'>自己</b>的AVR的RTOS(2)

    Linux是實(shí)時(shí)系統(tǒng)還是分時(shí)操作系統(tǒng)?

    我們平時(shí)分享的μC/OS、FreeRTOS、RT-Thread、ThreadX這些都是實(shí)時(shí)操作系統(tǒng)(RTOS),那么有讀者問(wèn):什么是分時(shí)操作系統(tǒng)Linux屬于實(shí)時(shí)
    的頭像 發(fā)表于 12-28 11:39 ?1521次閱讀

    linux屬于什么操作系統(tǒng)

    Linux屬于種類UNIX操作系統(tǒng)Linux,全稱GNU/Linux,是
    的頭像 發(fā)表于 11-08 11:01 ?4305次閱讀