ตอนนี้มาฝึกงานอยู่ที่เนคเทคครับ ได้มาช่วยพี่โชคดูในส่วนการติดตั้ง 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 ของเราเองแล้วครับ
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:
เจ๋งดี เดี๋ยวผมลองทำตามดู :-)
พยายามอ่านใน web ของ ubuntu ผมก็ไม่รู้เรื่องซักที :-P
เยี่ยม
post ความรู้แบบนี้เรื่อยๆนะ
Post a Comment