導讀 | 二十一世紀到了,每一個人都強調本身的個性,因而一種叫作DIY的東西悄然興起。操做系統做爲全人類智慧的結晶,天然DIY起來難度極大,於是DIY出一個操做系統成就感絕對比買宜家的東西的成就感大。 |
爲了避免至於從頭開始編寫一個操做系統,咱們固然把採用現成的操做系統做爲一個底線。固然,咱們能夠經過LFS讓咱們爽到底,可是,可以作到LFS的人可真的是百裏挑一。並且更重要的是LFS簡直在挑戰個人忍耐程度。html
個人這篇文章,教你們如何DIY一個本身的ubuntu發行版。在很是節省時間的狀況下,達到耍酷的目的。就比如LFS同樣,咱們須要一個創做基地。咱們首先創建一個變量。創建這個變量的好處很明顯,即便你不用~/diy_ubuntu這個目錄,同樣能夠照着這個文章繼續作下去。node
$ export WORK=~/diy_ubuntu $ mkdir -p $WORK
而後咱們把光盤鏡像文件掛到/mntlinux
$ sudo mount -t iso9660 -o loop dapper-live-i386.iso /mnt $ cd $WORK
複製文件光盤文件ubuntu
$ mkdir ubuntu-livecd $ cp -a /mnt/. ubuntu-livecd $ chmod -R u+w ubuntu-livecd $ sudo umount /mnt
因爲光盤中包含了不少windows下面的自由軟件,咱們來把沒必要要的文件刪除。固然你能夠保留。windows
$ rm -rf $WORK/ubuntu-livecd/programs
把光盤中的壓縮文件掛起來,這個樣子之後你能夠在$WORK/old目錄中看到一個完整的linux操做系統的目錄。bash
$ mkdir $WORK/old $ sudo mount -t squashfs -o loop,ro $WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old
咱們創建一個2GB大小的文件系統,而後把這個文件看成一個設備文件格式化,結果系統給出了一個警告,別理會它,選擇是就是。app
$ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2147 $ sudo mke2fs $WORK/ubuntu-fs.ext2
而後咱們把這個空文件系統掛起來。oop
$ mkdir $WORK/new $ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new
複製linux操做系統的文件.因爲咱們事先獲得的linux是壓縮的,因此咱們把它解壓了。操作系統
$ sudo cp -a $WORK/old/. $WORK/new
固然如今$WORK/old就沒有用處了。廢掉它.net
$ sudo umount $WORK/old
咱們首先進入剛纔獲得的那個操做系統
$ sudo cp /etc/resolv.conf $WORK/new/etc/ $ sudo mount -t proc -o bind /proc $WORK/new/proc $ sudo chroot $WORK/new /bin/bash
如今你就進入系統了,高喊linux for human beings,大煉ubuntu,想幹什麼就幹什麼。
# vi /etc/apt/sources.list #選擇適合你的源 # apt-get update # apt-get dist-upgrade # apt-get install 你想裝的軟件 # apt-get clean .... #更多的配置
最後離開你的那個操做系統
# exit $ sudo umount $WORK/new/proc $ sudo rm $WORK/new/etc/resolv.conf
如今你已經回到了你的初始狀態中,把manifest從新整一遍。
$ sudo chroot $WORK/new dpkg-query -W --showformat='${Package} ${Version}\n' > $WORK/ubuntu-livecd/casper/filesystem.manifest
而後作一下「磁盤清理」
$ sudo dd if=/dev/zero of=$WORK/new/dummyfile $ sudo rm $WORK/new/dummyfile
從新壓縮系統
$ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs $ cd $WORK/new $ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs
你的改動都保存了。如今把$WORK/new廢掉
$ cd $WORK $ sudo umount $WORK/new
把文件的md5從新算一下
$ cd $WORK/ubuntu-livecd $ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt
創建光盤鏡像,命令很長,忍受着點。
$ cd $WORK $ sudo mkisofs -o ubuntu-new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "My Cool Ubuntu Live CD" -cache-inodes -J -l ubuntu-livecd
而後你就能夠用iso把光盤燒了
原文來自:http://linux.chinaunix.net/techdoc/beginner/2007/05/13/957560.shtml