青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-20  評論-12  文章-0  trackbacks-0

1.基礎知識

一個操作系統可以簡單的抽象為,引導程序 內核 文件系統。

 

vmlinuz是Linux 內核的鏡像文件,可以被引導程序加載,從而啟動Linux系統。

 

initrd的全稱是boot loader initialized RAM disk,它是系統啟動時所使用的根文件系統映像文件,這個文件系統中包含幾個驅動模塊,用來裝載實際的根文件系統,比如一個IDE或SCSI硬盤的驅動 模塊,內核裝入這個模塊之后用它來驅動硬盤,掛接硬盤到ramdisk的某個子目錄,然后再用其中的pivot_root命令,將硬盤文件系統變成根文件 系統,并開始執(zhí)行init進程,此時init ram disk被umount,壽終正寢。

 

由此可見,我們可以用vmlinuz initrd.img做一個文件系同長駐內存的迷你Linux。

 

現在進入正題了:

 

2.編譯內核

cd /usr/src/....----進入內核源代碼目錄,沒有的話去官方網站,隨便下

make menuconfig-----配置編譯選項請注意一定加入RAM disk support 和initial RAM disk

(initrd) support 的支持(在block device中)。另外最好將ext3文件系統編入內核,不要編成模塊。配置完畢后保存為.config(默認)

make bzImage----編譯

 

在許多內核編譯參考中還有

make modules

make modules_install兩步

但我們這里沒有加入對modules的支持,所以不需要。生成的bzImage文件在 usr/src/linux/arch/.../boot中,省略的根據你的機器架構決定,make過程中會有提示,比如我的是x86_64. 注意這個文件非常重要,其實就是我們最終的vmlinuz.

 

3.busybox

busybox是一個集成了一百多個最常用linux命令和工具的軟件,它甚至還集成了一個 http服務器和一個telnet服務器,而所有這一切功能卻只有區(qū)區(qū)1M左右的大小.我們平時用的那些linux命令就好比是分力式的電子元件,而 busybox就好比是一個集成電路,把常用的工具和命令集成壓縮在一個可執(zhí)行文件里,功能基本不變,而大小卻小很多倍,在嵌入式linux應用 中,busybox有非常廣的應用,另外,大多數linux發(fā)行版的安裝程序中都有busybox的身影,安裝linux的時候案ctrl alt F2就能得到一個控制臺,而這個控制臺中的所有命令都是指向busybox的鏈接.在我們的迷你Linux中,需要的也正是busybox的命令和工具。

 

下載 http://busybox.net/downloads/

使用過程中許多高版本都出現編譯錯誤,所以用了一個最原始的版本busybox-1.00

#cp busybox-1.00.tar.gz /tmp/bunny

#cd /tmp/bunny

#tar xvfz busybox-1.00.tar.gz

#cd busybox-1.00

#make menuconfig ----編譯配置

 

下面是需要編譯進busybox的功能選項,其他的可以根據需要自選.

General Configuration應該選的選項

Show verbose applet usage messages

Runtime SUID/SGID configuration via /etc/busybox.conf

Build Options

Build BusyBox as a static binary (no shared libs)

 

這個選項是一定要選擇的,這樣才能把busybox編譯成靜態(tài)鏈接的可執(zhí)行文件,運行時才獨立于其他函數庫.否則必需要其他庫文件才能運行,在單一個linux內核不能使他正常工作.

 

Installation Options

Don't use /usr

 

這個選項也一定要選,否則make install 后busybox將安裝在原系統的/usr下,這將覆蓋掉系統原有的命令.選擇這個選項后,make install后會在busybox目錄下生成一個叫_install的目錄,里面有busybox和指向它的鏈接.

 

其他選項都是一些linux基本命令選項,自己需要哪些命令就編譯進去,一般用默認的就可以了.

配置好后退出并保存.config.

make

make install

編譯好后在busybox目錄下生成子目錄_install,里面的內容:

bin

linuxrc -> bin/busybox

sbin

其中可執(zhí)行文件busybox在bin目錄下,其他的都是指向他的符號鏈接.

 

4.制作自己的root fs

1)目錄結構

mkdir /tmp/myOS/rootfs

cd /tmp/myOS/rootfs

mkdir etc usr var tmp proc home root dev

其中etc,proc和dev是一定要建的,bin和sbin不用建,因為busybox中已經有了.

其他的可以象征性的建幾個就可以了.

拷貝busybox

#cp -R /tmp/bunny/busybox-1.00/_install/* /tmp/myOS/rootfs/

 

2)設備文件

我是直接從FC系統/dev目錄里cp的,方法如下:

#cp -R /dev/console /tmp/myOS/rootfs/dev/

#cp -R /dev/null /tmp/myOS/rootfs/dev/

#cp -R /dev/zero /tmp/myOS/rootfs/dev/

你認為需要的都cp過來

有的參考文獻說fd0,hda,ram,ram1,tty1,loop1,fb0,fb,tty等是必備的,但是好像有些文件并沒有

 

3)建立etc目錄下的配置文件

我是直接拷貝busybox自帶的例子

cp -R tmp/bunny/busybox-1.00/examples/bootfloppy/etc/* /tmp/myOS/rootfs/etc

 

4)制作initrd.img映象文件

cd /tmp/myOS/

dd if=/dev/zero of=/tmp/disk bs=1M count=32 ------初始化32M內存空間

mkfs.ext3 -m0 /tmp/disk ------格式化為ext3

mkdir /mnt/ram

mount -o loop /tmp/disk /mnt/ram ------掛載到/mnt/ram

cp -R rootfs/* /mnt/ram ------把rootfs寫入內存

umount /mnt/ram

dd if=/tmp/disk of=/tmp/myOS/initrd.img ------把內存中的內容以映象方式取出

ok,這個initrd.img就是我們的rootfs

有的文獻使用ram0,也就是將上述過程的/tmp/disk改為/dev/ram0,雖然制作過程沒有問題,但是它存在大小限制

 

5.整合,啟動

1)kernel

cp /usr/src/linux/arch/x86_64/bzImage /boot/vmlinuz

2)rootfs 一般命名為initrd.img

cp /tmp/myOS/initrd.img /boot

3)有了上述兩個文件,已經可以通過網絡dhcp, tftp服務器啟動,tftp服務器中添加啟動腳本如下

DEFAULT linux

PROMPT 0

LABEL linux

KERNEL vmlinuz

append initrd=initrd.img devfs=nomount ramdisk_size=52000

 

問題:理論上這個小Linux也應該可以從grub引導。

posted on 2009-02-26 14:36 宋振華 閱讀(807) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合电影一区| 国产欧美综合在线| 亚洲高清资源综合久久精品| 狂野欧美激情性xxxx欧美| 欧美一区二区三区在线看| 亚洲一区二区在线免费观看视频 | 亚洲毛片在线看| 欧美日韩一区二区三区视频 | 在线日韩一区二区| 亚洲欧洲在线免费| 欧美日韩激情小视频| 亚洲欧美日本另类| 久久精品亚洲| 国产精品99久久久久久人| 亚洲一区欧美激情| 亚洲大胆在线| 在线亚洲观看| 亚洲国产精品久久久久秋霞蜜臀 | 国产欧美日韩在线| 欧美二区在线播放| 国产精品chinese| 久久婷婷人人澡人人喊人人爽| 欧美激情第三页| 久久久久国产精品一区| 欧美肥婆在线| 久久久久久黄| 欧美日韩精品免费观看视频完整| 久久精品一区中文字幕| 欧美日本精品| 麻豆久久精品| 国产精品一区二区男女羞羞无遮挡 | 一级成人国产| 欧美主播一区二区三区美女 久久精品人 | 欧美日韩国产免费| 另类av导航| 美女视频黄a大片欧美| 欧美精品免费播放| 模特精品在线| 国产色综合久久| 日韩视频免费看| 亚洲美女电影在线| 日韩视频三区| 亚洲一区二区视频在线| 日韩视频免费| 久久天堂精品| 久久人人97超碰人人澡爱香蕉| 欧美性开放视频| 亚洲精品国精品久久99热| 极品少妇一区二区三区精品视频| 亚洲综合成人婷婷小说| 这里只有精品视频| 欧美人与禽猛交乱配视频| 欧美高清在线播放| 亚洲大片av| 久久亚洲精品一区| 久久一综合视频| 国产又爽又黄的激情精品视频 | 一本久久a久久免费精品不卡| 最新日韩在线视频| 牛牛国产精品| 亚洲国产99| 99视频一区二区| 欧美日韩国产首页| 99视频一区| 亚洲欧美春色| 国产欧美日韩综合一区在线播放| 亚洲欧美日韩直播| 久久久久久婷| 亚洲国产岛国毛片在线| 美日韩丰满少妇在线观看| 亚洲高清三级视频| 这里只有精品视频| 国产精品视频你懂的| 午夜视频一区在线观看| 久久综合影视| 亚洲剧情一区二区| 欧美日韩精品免费观看视一区二区 | 99re6热只有精品免费观看| 欧美紧缚bdsm在线视频| 一区二区三欧美| 久久se精品一区二区| 黄网站免费久久| 欧美精品日韩| 亚洲一区二区三区涩| 久久久91精品国产一区二区精品| 永久免费毛片在线播放不卡| 欧美激情一二三区| 亚洲网站在线观看| 免费观看不卡av| 亚洲视频一区二区免费在线观看| 国产精品综合| 欧美不卡视频一区| 亚洲综合电影| 嫩草影视亚洲| 亚洲伊人色欲综合网| 国产揄拍国内精品对白| 欧美岛国在线观看| 亚洲欧美韩国| 亚洲国产成人porn| 欧美在线国产| 99国产精品久久久久久久久久 | 欧美激情影音先锋| 欧美一二三视频| 日韩视频免费在线| 欧美成人精品不卡视频在线观看 | 亚洲综合国产激情另类一区| 久久精品视频99| 一本色道久久88综合亚洲精品ⅰ| 久久av资源网站| 在线一区免费观看| 亚洲第一主播视频| 国产欧美视频一区二区三区| 欧美片第一页| 久久综合网色—综合色88| 亚洲宅男天堂在线观看无病毒| 欧美激情自拍| 猫咪成人在线观看| 欧美综合国产| 亚洲欧美日本精品| 亚洲视频精品在线| 日韩亚洲不卡在线| 亚洲国产精品电影在线观看| 亚洲第一页在线| 麻豆成人91精品二区三区| 午夜精品亚洲| 亚洲一区二区高清| 一区二区黄色| 日韩一级免费| 亚洲美女视频网| 亚洲欧洲日产国产网站| 揄拍成人国产精品视频| 国产综合久久久久影院| 国产午夜精品一区二区三区视频| 国产精品久久综合| 国产精品久久午夜| 国产精品露脸自拍| 国产精品卡一卡二| 国产农村妇女毛片精品久久莱园子| 欧美偷拍另类| 国产精品拍天天在线| 国产日韩精品一区| 国产日韩一区二区三区在线播放| 国产精品视频观看| 国产有码一区二区| 在线观看av一区| 亚洲国产综合91精品麻豆| 91久久久久久久久| 9色精品在线| 亚洲一区成人| 久久精品视频在线观看| 久久综合影视| 亚洲国产综合在线| 在线视频你懂得一区| 先锋a资源在线看亚洲| 久久久久久久波多野高潮日日| 另类天堂av| 欧美日韩亚洲一区二区三区在线 | 久久全球大尺度高清视频| 你懂的国产精品| 亚洲人精品午夜| 亚洲一区二区三区四区视频| 欧美在线国产| 久久综合伊人77777蜜臀| 欧美片在线播放| 国产日韩在线播放| 亚洲日本成人| 午夜一区二区三区在线观看| 久久五月婷婷丁香社区| 91久久精品国产91久久性色| 99视频精品| 久久精品夜色噜噜亚洲aⅴ| 欧美激情精品久久久六区热门 | 中文精品视频| 久久精视频免费在线久久完整在线看| 欧美二区在线| 亚洲永久免费精品| 午夜精品国产更新| 玖玖综合伊人| 国产精品羞羞答答xxdd| 亚洲福利视频免费观看| 午夜精品久久久久久久99水蜜桃| 免费亚洲电影在线| 一区二区三区国产在线观看| 久久久久久国产精品mv| 国产精品九九| 亚洲精品一区二区在线观看| 久久精品二区三区| 99re8这里有精品热视频免费| 久久久久se| 国产精品入口麻豆原神| 日韩亚洲欧美精品| 欧美 日韩 国产 一区| 亚洲一区二区在线免费观看| 欧美国产视频在线| 亚洲高清电影| 久久久久一本一区二区青青蜜月| 一区二区三区免费网站| 欧美精彩视频一区二区三区| 在线播放一区| 久久国产欧美精品|