VMware中編譯最小系統(tǒng)

https://blog.csdn.net/yejingx/article/details/6525405

一. 最小系統(tǒng)要求

1. 接受鍵盤(pán)輸入蜒滩,能顯示字符信息

2. 能處理普通linux發(fā)行版中的大部分基本命令,如:ls, mv...

3. 具有網(wǎng)絡(luò)功能

4. 不使用ramdisk, 所需驅(qū)動(dòng)全部編譯進(jìn)內(nèi)核


二. 主機(jī)環(huán)境

1. VMware 7.0 / windows 7

2. 主機(jī)系統(tǒng)Ubuntu 10.04 x86 (kernel version 2.6.32)

3. 最小系統(tǒng)內(nèi)核版本 linux-2.6.38


三. 詳細(xì)構(gòu)建過(guò)程

1. 下載linux-2.6.38內(nèi)核

[c-sharp] view plain copy

#cd?/usr/src??

#wget?http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz??

#tar?xvf?linux-2.6.38.tar.gz??

#cd?linux-2.6.38???



2.編譯內(nèi)核

這一步主要就是內(nèi)核的配置苟蹈,如果配置錯(cuò)了可能導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)扣孟,因此需要非常仔細(xì)钓丰。

[c-sharp] view plain copy

#make?mrproper???????????????

#make?allnoconfig??

#make?menuconfig???


首先利用lspci查看硬件信息:

[c-sharp] view plain copy

#lspci????

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)

00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)

00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)

00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)

00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)

00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)

00:0f.0 VGA compatible controller: VMware SVGA II Adapter

00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)

00:11.0 PCI bridge: VMware PCI bridge (rev 02)

00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)

................... ......................... .......................

00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)

02:00.0 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB

02:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)

02:02.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)

02:03.0 USB Controller: VMware USB2 EHCI Controller


根據(jù)查到的硬件型號(hào)配置.config文件


以下詳細(xì)介紹內(nèi)核的配置(除以下選項(xiàng)外其它都可以不選)

General setup --->

[*] System V IPC

[*] Enable loadable module support --->

Processor type and features --->

Processor family (Pentium Pro) --->

[*] Generuc x86 support

Bus options (PCI etc.) --->

[*] PCI support

PCI access mode (Any) --->

Executable file formats / Emulations --->

[*] Kernel support for ELF binaries

[*] Write ELF core dumps with partial segments

[*] Networking support? --->

Networking options --->

<*> Packet socket

<*> Unix domain sockets (NEW)

[*] TCP/IP networking

<*>?? IP: IPsec transport mode (NEW)

<*>?? IP: IPsec tunnel mode (NEW)

<*>?? IP: IPsec BEET mode (NEW)

<*>?? Large Receive Offload (ipv4/tcp) (NEW)

<*>?? INET: socket monitoring interface (NEW)

Device Drivers? --->

[*] Block devices --->

<*> Loopback device support

SCSI device support --->

<*> SCSI device support

[*] legacy /proc/scsi/ support (NEW)

<*> SCSI disk support

[*] SCSI low-level drivers (NEW) --->

<*> BusLogic SCSI support

[*] Fusion MPT device support --->

<*> Fusion MPT ScsiHost drivers for SPI

<*> Fusion MPT ScsiHost drivers for FC

<*> Fusion MPT ScsiHost drivers for SAS

<*> Fusion MPT misc device (ioctl) driver

[*] Network device support --->

[*] Ethernet (10 or 100Mbit) --->

[*] EISA, VLB, PCI and on board controllers

<*> AMD PCnet32 PCI support

Graphics support? --->

<*> Support for frame buffer devices --->

File systems? --->

<*> Second extended fs support

[*]?? Ext2 extended attributes

[*]???? Ext2 POSIX Access Control Lists?

[*]???? Ext2 Security Labels

[*] Ext2 execute in place support

<*> Ext3 journalling file system support

[*]?? Default to 'data=ordered' in ext3 (NEW)

[*]?? Ext3 extended attributes (NEW)?

[*]???? Ext3 POSIX Access Control Lists??

[*]???? Ext3 Security Labels??

CD-ROM/DVD Filesystems --->

<*> ISO 9660 CDROM file system support

<*> Native language support --->

<*> Codepage 437 (United States, Canada)

<*> Simplified Chinese charset (CP936, GB2312)


配置完成后就可以開(kāi)始編譯了:

[c-sharp] view plain copy

#make?bzImage????

注意:在make menuconfig的時(shí)候一定要選對(duì)磁盤(pán)驅(qū)動(dòng)疹蛉,否則會(huì)出現(xiàn)

kernel panic -- VFS error: unable to mount …

這里我用的是SCSI的磁盤(pán)磺平,IDE的要做相應(yīng)修改靴姿。



3. 制作根文件系統(tǒng)

為簡(jiǎn)單起見(jiàn)沃但,我們利用busybox制用根文件系統(tǒng)。

[c-sharp] view plain copy

#wget?http://busybox.net/downloads/busybox-1.18.4.tar.bz2??

#tar?xvf?busybox-1.18.4.tar.bz2??

#cd?busybox-1.18.4??

#make?menuconfig??


下面是需要編譯進(jìn)busybox的功能選項(xiàng)佛吓。

  General Configuration應(yīng)該選的選項(xiàng)

   Don't use /usr

????? 這個(gè)選項(xiàng)一定要選,否則make install 后busybox將安裝在原系統(tǒng)的/usr下宵晚,這將覆蓋掉系統(tǒng)原有的命令垂攘。

  Build Options

   Build BusyBox as a static binary (no shared libs)

  這個(gè)選項(xiàng)也是一定要選擇的,這樣才能把busybox編譯成靜態(tài)鏈接的可執(zhí)行文件,運(yùn)行時(shí)才獨(dú)立于其他函數(shù)庫(kù).否則必需要其他庫(kù)文件才能運(yùn)行淤刃,在單一個(gè)linux內(nèi)核不能使它正常工作晒他。

其它選項(xiàng)都是一些linux基本命令選項(xiàng),自己需要哪些命令就編譯進(jìn)去逸贾,一般用默認(rèn)的就可以了陨仅,配置好后退出并保存。

編譯并安裝busybox

[c-sharp] view plain copy

#make??

#make?install???


make install后會(huì)在busybox目錄下生成一個(gè)叫_install的目錄铝侵,里面有busybox和指向它的鏈接灼伤。

接下來(lái)給虛擬機(jī)添加一塊SCSI磁盤(pán)并分區(qū),假設(shè)根分區(qū)為sdb1

[c-sharp] view plain copy

#mount?/dev/sdb1?/mnt???????將根分區(qū)掛載到/mnt????

#cp?_install/*?/mnt/????????????將_install下的文件全復(fù)制到sdb1????

#rm?-f?linuxrc????

#cp?-r?./examples/bootfloppy/etc?/mnt???????將etc下的配置文件拷到sdb1下????

#cd?/mnt/????

#mkdir?proc?mnt?usr?var?tmp?dev?sys?????????創(chuàng)建目錄????

#cp?-a?/dev/{console,tty,tty2}?dev/??




4. 更新grub

這步既可以在ubuntu的grub中引導(dǎo)也可以在sdb上裝上grub咪鲜,從sdb1進(jìn)行引導(dǎo)狐赡。

為簡(jiǎn)單起見(jiàn)我們就用ubuntu中的grub來(lái)引導(dǎo)。

修改/boot/grub/grub.cfg

[c-sharp] view plain copy

#gedit?/boot/grub/grub.cfg??


新添加

menuentry "My Linux-2.6.38" {

insmod ext2

set root='(hd1,1)'

linux /bzImage ro root=/dev/sdb1

}



5. 最后重啟一下(啟動(dòng)時(shí)按住shift疟丙,否則不進(jìn)入grub2引導(dǎo)菜單)

[c-sharp] view plain copy

#reboot????

選擇My Linux-2.6.38

如果一切順利颖侄,就會(huì)出現(xiàn)下圖的信息, ----- 啟動(dòng)成功享郊。



---------------------

作者:yejingx

來(lái)源:CSDN

原文:https://blog.csdn.net/yejingx/article/details/6525405

版權(quán)聲明:本文為博主原創(chuàng)文章览祖,轉(zhuǎn)載請(qǐng)附上博文鏈接!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拂蝎,一起剝皮案震驚了整個(gè)濱河市穴墅,隨后出現(xiàn)的幾起案子惶室,更是在濱河造成了極大的恐慌温自,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皇钞,死亡現(xiàn)場(chǎng)離奇詭異悼泌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)夹界,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)馆里,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人可柿,你說(shuō)我怎么就攤上這事鸠踪。” “怎么了复斥?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵营密,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我目锭,道長(zhǎng)评汰,這世上最難降的妖魔是什么纷捞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮被去,結(jié)果婚禮上主儡,老公的妹妹穿的比我還像新娘。我一直安慰自己惨缆,他們只是感情好糜值,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著坯墨,像睡著了一般臀玄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畅蹂,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天健无,我揣著相機(jī)與錄音,去河邊找鬼液斜。 笑死累贤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的少漆。 我是一名探鬼主播臼膏,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼示损!你這毒婦竟也來(lái)了渗磅?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤检访,失蹤者是張志新(化名)和其女友劉穎始鱼,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體脆贵,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡医清,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卖氨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片会烙。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖筒捺,靈堂內(nèi)的尸體忽然破棺而出柏腻,到底是詐尸還是另有隱情,我是刑警寧澤系吭,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布五嫂,位于F島的核電站,受9級(jí)特大地震影響村斟,放射性物質(zhì)發(fā)生泄漏贫导。R本人自食惡果不足惜抛猫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孩灯。 院中可真熱鬧闺金,春花似錦、人聲如沸峰档。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)讥巡。三九已至掀亩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間欢顷,已是汗流浹背槽棍。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抬驴,地道東北人炼七。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像布持,于是被迫代替她去往敵國(guó)和親豌拙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 背景 一月中旬题暖,ZDI宣布了2017年比賽的規(guī)則按傅,其中包括了攻破VMware,完成虛擬機(jī)逃逸的隊(duì)伍會(huì)獲得相當(dāng)高額的...
    0f534b43b700閱讀 32,617評(píng)論 0 3
  • 今天開(kāi)始胧卤,小區(qū)上方的空域大概開(kāi)了新的航線(xiàn)唯绍,三不五時(shí)的,就有飛機(jī)劃過(guò)的“轟隆隆”聲灌侣。 早午飯后推捐,走在去加班的路上,快...
    小周老師閱讀 301評(píng)論 0 0
  • 靈修記錄20171203 讀經(jīng) 希伯來(lái)書(shū)第三章 研經(jīng) 耶穌超越摩西 摩西只是仆人侧啼,耶穌是神子。 曠野悖逆摩西的人堪簿,...
    他不在這里閱讀 730評(píng)論 0 0
  • 我有四個(gè)媽媽?zhuān)謩e是廚師媽媽痊乾、美發(fā)師媽媽、大書(shū)蟲(chóng)媽媽和攝影師媽媽椭更。 我的媽媽是一個(gè)廚師哪审。她愛(ài)做各種各樣的美食:有黃...
    思思Linda閱讀 229評(píng)論 0 2
  • 每個(gè)人都有自己的軟肋吧,也許在別人看來(lái)不是什么事可是自己卻很在意虑瀑。每當(dāng)有人觸碰到這一點(diǎn)湿滓,不論是有意還是無(wú)意都會(huì)覺(jué)得...
    一不小心成了大哥閱讀 229評(píng)論 0 0