本篇來源:Google找到的~原始出處未知


正需要這個,下載來好好研究下。

普通版製作過程

大致分以下幾步:安裝一個ubuntu,並按需求定製系統;壓縮成 squashfs 映像;搭配內核和定製過的initrd文件,即可啟動。

最佔時間的是第一步——定製系統,因為既要儘量壓縮體積,又要保證系統正常運行,還要適當美化,
需要耐下心慢慢搞。大致說一下我的製作過程,明白了原理,就隨便你發揮了。

1.定製系統

一開始是用 desktop 版安裝系統,後來發現精簡效果不好,做出來的系統映像有400多M,汗……
於是改用 alternat 最小化安裝,一點點添加軟件,這次好多了。

安裝源用的 ubuntu-7.04-dvd-i386.iso 和 用雕兄的方法製作的一個本地源。本地源裡是一些 DVD 中沒包括、
而自己又希望安裝的包,如 xfce4、xfce4-terminal、xfce4-mixer、w32codec、mplayer 等等。
具體製作方法請參照雕兄原作:http://forum.ubuntu.org.cn/viewtopic.php?t=32554

當然如果網速比較快的話,也可以直接從網上安裝。

做好了準備,下面正式開始。

安裝基本系統:方法一,刻盤安裝,從光盤啟動後選 Install a command-line system ,
語言選 簡體中文 ,按提示安裝即可,中間不用配置網卡,也不用連接網絡。方法二,硬盤安裝,
下載合適的硬盤引導文件,引導安裝。不同之處在於,方法一安裝的只是基本系統, 而方法二會額外裝一些軟件,如 open office 等。

裝好後重啟,設置好源,開始定製系統:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xorg xfce4 synaptic fcitx firefox …

具體裝哪些包,按需而定,總之裝的越多功能越全,但體積也越大。默認安裝的,用不著的就 remove 。中文字體我只裝了一個 ttf-arphic-uming 。

然後做各種配置,如 面板、主題、圖標、程序字體 等等。

最後,
sudo apt-get install discover1 xresprobe (輔助硬件檢測)
sudo apt-get autoremove (清理無用包)
sudo apt-get clean (清理緩存包)

2.製作系統映像

需在另一個系統中操作。

先安裝工具:apt-get install squashfs-tools

對目標系統進行適當清理,如 清空 /etc/fstab、/etc/mtab,配置 sources.list ,刪除 /etc/X11/xorg.conf 等。

製作映像:進入 目標系統 所掛載的目錄,運行 sudo mksquashfs . /ubuntu704m.squashfs ,
這樣將在本系統根目錄下生成映像文件。可用其它文件名,但擴展名必須為 .squashfs ,因為啟動時會以該擴展名作為特徵來搜索系統映像。

3.定製 initrd 文件

其實就是把 /boot/initrd.img-2.6.20-15-generic 拿來稍作修改。
ubuntu 的 initrd 文件中都包含 Live CD 模式啟動腳本,而本系統啟動正是模仿了 Live CD ,所以可以直接借用這些腳本。

解開 initrd.img-2.6.20-15-generic:

mkdir /boot/initrd
cd /boot/initrd
cat ../initrd.img-2.6.20-15-generic | gzip -d | cpio -i

/boot/initrd 目錄中就是 initrd 裡的文件,其實是一個微型的根系統,由 GRUB 加載到內存,內核運行其中的 init
,若檢測到啟動參數中有 boot=casper ,便調用 /scripts/casper 腳本,尋找系統映像,並與 tmpfs 組成 unionfs ,
作為真實根系統啟動。而啟動前會運行 /scripts/casper-bottom 中的腳本,對系統進行配置。
從腳本的名字和註釋大致可以猜到它的功能,我們要做的就是留下有用的,去掉沒用甚至有害的。

我留下了
02_timezone 13swap 22screensaver 31disable_update_notifier
05mountpoints 20xconfig 23networking 32disable_hibernation
12fstab 22gnome_panel_data 25configure_init 40install_driver_updates

可能有些還是顯得多餘,自己斟酌吧。

然後重新打包:
cd /boot/initrd
find . | cpio -L -o -H newc | gzip > ../initrd.gz

OK,東西都齊了,至於如何放置、如何啟動,就請參考您下載的 ubuntu 7.04-m 吧 :)

匆匆寫就,不甚詳盡,有問題找 google ,應該都能搞定。祝願大家順利做出自己個性化的 ubuntu 。

創作者介紹

胖虎的祕密基地

idobest 發表在 痞客邦 PIXNET 留言(0) 人氣()