Remastering Ubuntu 6.10 (Edgy) Livecd

ตอนนี้มาฝึกงานอยู่ที่เนคเทคครับ ได้มาช่วยพี่โชคดูในส่วนการติดตั้ง Ubuntu แบบ livecd ตอนนี้ก็ศึกษาขั้นตอนจนสามารถทำการ remaster ได้แล้วโดยมีขั้นตอนต่าง ๆ ดังนี้


1. คัดลอก LiveCD


ทำการ download iso ของ edgy-desktop-i386.iso กำหนดค่าไดเรคทอรีที่จะใช้ในการพัฒนา (export work=~/remaster)



#mkdir ~/remaster

#export work=~/remaster



จากนั้นทำการ mount และคัดลอกข้้อมูลใน iso ลงในไดเรคทอรี่ที่ใช้พัฒนา



#mkdir $work/cdrom-org

#mount -o loop edgy-desktop-i386 $work/cdrom-org

#mkdir $work/cdrom-cust

#cp -a $work/cdrom-org $work/cdrom-cust



2. Mount compressed filesystem


ไฟล์ระบบของ ubuntu livecd นั้น ถูกบีบอัดด้วย squashfs



#mkdir $work/filesystem.org

#mount -t squashfs -o loop $work/cdrom-org/casper/filesystem.squashfs $work/filesystem.org




3. สร้าง image สำหรับใช้ในการปรับแต่ง compress filesystem


ขั้นตอนนี้ต้องการเนื้อที่ว่างประมาณ 2 GB ในการสร้างไฟล์ image



#dd if=/dev/zero of=$work/filesystem.img bs=1M count=2147

#mke2fs $work/filesystem.img

#mkdir $work/filesystem.cust

#moutn -o loop $work/filesystem.img $work/filesystem.cust



ทำการคัดลอกไฟล์ระบบเดิมมายังไฟล์ image ที่เราสร้างขึ้นมาใหม่



#cp -af $work/filesystem.org/. $work/filesystem.cust

#umount $work/filesystem.org



4. Chroot เพื่อทำการแก้ไขระบบต่าง ๆ



#cp /etc/resolv.conf $work/filesystem.cust/etc/

#mount -t proc -o bind /proc $work/filesystem.cust/proc

#chroot $work/filesystem.cust /bin/bash



ขณะนี้เราอยู่ในระบบที่จะต้องการแก้ไข ในตัวอย่างนี้ผมจะทำการติดตั้ง language-support-th



#apt-get update

#apt-get install language-support-th

#apt-get clean

#exit



ขณะนี้ได้ออกจากระบบที่ทำการแก้ไขแล้ว



#umount $work/filesystem.cust/proc

#rm $work/filesystem.cust/etc/resolv.conf



5. แก้ไขเสร็จแล้ว


ต้องอัพเดทรายการ package และทำการ ลบข้อมูลที่ไม่ได้ใช้ออกจากระบบ


#
chroot $work/filesystem.cust dpkg-query -W --showformat='${Package} ${Version}\n' \
> $work/iso-cust/casper/filesystem.manifest

#dd if=/dev/zero of=$work/filesystem.cust/dummyfile

#rm $work/filesystem.cust/dummyfile



6. บีบอัดไฟล์ระบบ


#rm $work/iso-cust/casper/filesystem.squashfs

#cd $work/filesystem.cust

#mksquashfs . $work/iso-cust/casper/filesystem.squashfs

#cd ../

#umount filesystem.cust



7. สร้าง iso ไฟล์


#cd $work/iso-cust

#find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt

#cd ../

#mkisofs
-o edgy-desktop-cust.iso \

-b isolinux/isolinux.bin \

-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "Custom Edgy Desktop" -cache-inodes -J -l iso-cust



เมื่อเสร็จแล้วจะได้ไฟล์ iso มา ก็นำไปเขียนลงแผ่น cd เท่านี้เราก็จะได้ แผ่น ubuntu livecd ของเราเองแล้วครับ

2 comments:

veer said...

เจ๋งดี เดี๋ยวผมลองทำตามดู :-)

พยายามอ่านใน web ของ ubuntu ผมก็ไม่รู้เรื่องซักที :-P

PPhetra said...

เยี่ยม
post ความรู้แบบนี้เรื่อยๆนะ