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 ของเราเองแล้วครับ

DSL-N

ตอนนี้กำลังพัฒนา SUTinRAM โดยจะเป็น linux ที่ระบบทั้งหมดทำงานในแรม โดยใช้ Damn Small Linux (DSL) เป็น base เพิ่มเติมระบบภาษาไทยเพราะระบบเดิมไม่สนันสนุนภาษาไทย แต่ติดปัญหาอยู่ที่เรื่องการอินพุทภาษาไทยใช้ได้บางโปรแกรมในตอนนี้ พอดีทาง DSL ออก version ใหม่คือ DSL-N จะมีขนาดใหญ่ขึ้นแต่เปลี่ยนจาก gtk-1 มาเป็น gtk-2 น่าจะทำให้เซตระบบภาษาง่ายขึ้นตอนนี้กำลังลองอยู่ครับถ้าได้ก็คงเปลี่ยน base

Codefest

วันนี้ได้มาร่วมกิจกรรม CodeFest ดีครับได้รู้จักกับนักพัฒนาท่านอื่นได้แลกเปลี่ยนความรู้กัน แล้วยังได้ฝึกการทำงานร่วมกันเป็นทีมกลุ่มของผมได้ทำโปรแกรมอ่านแบบฟอร์ม (Check Mark) แล้วก็มีอีกกลุ่มที่น่าสนใจก็คือ Vihicle Tracking System (ระบบติดตามพาหนะ) ที่นำทีมโดยพี่ป๊อก

Linux Timeline

ไปอ่านเจอใน Linux Journal น่าสนใจดีครับเหตุการณ์ที่สำคัญ ๆ ของ Linux ตั่งแต่ปี 1991 - 2002 ลองเข้าไปอ่านดูนะครับ http://www.linuxjournal.com/article/9065

ความทรงจำที่ ม.ข.

เสร็จเรียบร้อยแล้วครับการอบรม java มีพิธีปิดไปเมื่อวันที่ 22 ที่ผ่านมา ตัวผมก็สามารถสอบผ่านมาได้สำหรับ SCJP 1.4 ด้วย score 70 % แต่ผมเห็นน้องหลายคนได้คะแนนกัน 80 % ขึ้นตั้งหลายคนที่สำคัญมีนอ้งผู้หญิงคนหนึ่งได้ตั้ง 95 % เห็นแล้วดีใจครับเด็กรุ่นน้อง ๆ มีเก่ง ๆ กันเยอะดีครับ กลับมาแล้วก็ยังคิดถึงเพื่อนที่อบรมด้วยกันครับถึงแม้จะเป็นเพื่อนที่มาจากมหาลัยเดีี๋ยวกันก็ตาม แต่มาอยู่ที่ม.ข. ได้ใช้เวลาอยู่ด้วยกันตลอด คิดถึงจัง

Java Programmer Certification Boot Camp

หลังจากเดินทางมาค่าย อบรมภาษาจาวา เพื่อเตรียมตัวสอบ certification ของบริษัท Sun ตั่งแต่วันที่ 15 พฤษภาคม 2549 ตอนนี้ก็ผ่านไป 4 วันแล้ว ได้ความรู้ดีครับแต่ไม่ค่อยมีเวลาทำอะไรเรียนตั้งแต่ 9.00 -20.00 น. ตอนนี้อยู่ที่ ม.ขอนแก่น ถ้ามีโอกาสว่าจะลองเข้าไปคุยกับเจ้าของ เว็ป kitty.in.th อยากเจอตัวจริงนะครับบ ตอนนี้ก็ต้องตั้งใจทบทวนจาวา ใกล้แล้วจะสอบ cert วันที่ 22 นี้ ได้ผลยังไงจะเล่าให้ฟังครับ

Damnsmall Linux + thai

หลังจากการนั่งศึกษา damnsmall linux อย่างจริงจังมาหลายวัน ทำให้ต้องศึกษาสิ่งใหม่ ๆ อีกมากมาย เช่น
Xvesa , Fluxbox ซึ่ง distro ส่วนใหญ่จะไม่ใช้กัน และยังพวกระบบ keyboard กับ font ก็ยังใช้ระบบเก่า เพราะต้องการทำให้ระบบมีขนาดกะทัดรัด ไม่ใช้ xkb แต่ใช้ xmodmap แทน ส่วนพวก font ก็ไม่ใช้พวก mkfontdir ต้องมานั่งทำ fonts.dir เองอีก เล่นเอางงไปหลายวัน กว่าจะทำให้อ่านไทยและ input ไืทยได้แต่ก็ยังไม่ค่อยสมบูรณ์นักต้องปรับปรุงอีก เดี๋ยวถ้าเสร็จว่าจะทำเอกสารสำหรับการใช้ภาษาไทยบน DSL เพื่อใครสนใจใช้จะได้ง่าย

Translation BMP

ว่าจะแปลตั้งนานแล้วครับสำหรับ Beem Media Player พอดีช่วงนี้ปิดเทอมเลยได้แปลซะที โดยดูตัวอย่างการแปล XMMS ของพี่โชค ใช้เวลาแปลประมาณ 2 วัน ตอนนี้ submit ไฟล์ไปแล้วรอการตอบรับครับ

Kororaa Xgl Live CD 0.2

คงเคยได้ยินกันนะครับสำหรับ linux xgl ที่บริษัท Novell นำมาเปิดตัว มี live ออกมาแล้วที่ใช้ xgl
ที่ http://kororaa.org/

This is life.

นี่หรือ ชีวิต ยิ่งอายุมากขึ้นเท่าผมก็คิดว่าชีวิตเราก็ยิ่งยุ่งขึ้นเท่า นั้น หรือ อาจเป็นเพราะผมยังจัดการชีวิตไม่ดีพอ ตอนนี้อายุก็ จะ 22 แล้วทำไม ช่วงนี้เหมือนชีวิตไร้จุดยืน จากครั้งอดีตเราคิดเราค้นพบว่าชีวิตของเราต้องการอะไรรัก ที่ จะทำอะไร ชอบ อะไร แล้วเราก็ได้พาตัวเรามายืนอยู่นะจุดนั้นแล้ว แต่ก็ไม่เข้าใจอีกละว่าทำไมต้องทำให้ตัวเราตกลงไปอยู่ในจุดที่ตำลงกว่าเดิม จึงทำให้ต้องพยายามทำให้ตัวเองกลับไปในจุดนั้นให้ได้ มันก็คือการเสียเวลาดี นี่เอง แต่ถ้ามองดี ๆ แล้ว เวลาไม่เคยเสียไปโดยไร้ประโยชน์ เพียงแต่เราจะมองย้อนกลับไปดูในสิ่งที่เราทำในอดีตว่ามันสอนอะไรเราบ้างในอนาคตเราจะได้ไม่ทำตัวเช่นนั้นอีก ผ่านชีวิตมาตั้งนานนะ ก็คิดว่าช่วงอายุ 21 ปี นี่แหละ ที่มีอะไรเกิดขึ้นในชีวิตมากที่สุด ทั้งดีและร้าย ปน ๆ กันไป ไม่รู้เหมือนกันว่าพลังต่าง ๆ ในชีวิตมันหายไปไหนหมด เหมือนชีวิตมันหดหู่ไร้กำลังใจ เหมือนคนกำลังหมดไฟไม่น่าเชื่อนะว่าจะกำลังเกิดกับ คน ๆ นี้ในช่วงเวลาอายุเท่านี้เอง เฮ้อออเหนื่อยทั้ง ๆ ที่ ไม่ค่อยได้ทำอะไร คำที่เขากล่าวไว้ว่าชีวิตมีทั้งทุกข์และสุขปน ๆ กัน แต่ไม่เข้าใจว่าทำไมชีวิตในช่วงนี้มักจะมีแต่ทุกข์ จากที่เขียนมามีแต่ความสับสน มีแต่ คำว่า "ทำไม" "อะไร" "ไม่รู้" เต็มไปหมด
--- เหนื่อยกายนะพอทน แต่เหนื่อยใจไม่รู้จะทนยังไง
--- ชีวิตยังไม่สิ้นก็ต้อง ดิ้นกันต่อไป
--- คนที่ไม่เคยลำบากแล้วจะสบายมันไม่มี

Hacker

ใครสนใจเรื่อง hacker ลองอ่านที่นี่ดูนะครับ
http://www.thaiadmin.org/board/index.php?topic=16979.0

Compiling firefox แบบ static library

ตอนนี้กำลัง compile firefox บน linux TLE แบบ static ใช้
1. Firefox 1.5
2. Mozilla ICU Thai patch 2.0
3. Mozilla with-icu patch 0.6
กว่าจะผ่านแต่ละขั้นงงดี ติดโน้นติดนี่กว่าจะ ./configure ผ่าน แล้วยังมาติดตอน compile อีกต้องใช้ autoconf 2.13 อีก
เดียวถ้าเสร็จแล้วจะมาเขียนวิธีการ compile อีกที

Ajax (programming)

Ajax ย่อมาจาก Asynchronous JavaScript and XML เป็นวิธีการพัฒนาโปรแกรมเว็บโดยใช้หลาย ๆ เทคโนโลยีมาร่วมกันดังต่อไปนี้
  • XHTML หรือ HTML และ CSS สำหรับ สร้างและกำหนดรูปแบบข้อมูล
  • Document Object Model ใช้ JavaScript ในการสร้าง, ติดต่อกับผู้ใช้และแสดงหน้าเว็บแบบ dynamic
  • XMLHttpRequest สำหรับให้ object แลกเปลี่ยนข้อมูลแบบ asynchronously กับ web server ส่วนมากจะใช้ XML แต่รูปแบบอื่นก็ใช้ได้ดังนี้ HTML, plain text, JSON, EBML

ตัวของ Ajax นั้นไม่ใช่ technology แต่เป็นการใช้หลาย ๆ เทคโนโลยีมาทำงานร่วมกัน ข้อดีของการนำ Ajax ไปใช้งานนั้นจะทำให้ web application ของเรานั้นทำงานได้เร็วขึ้นเพราะเมื่อ user ต้องการข้อมูลในส่วนไหนก็จะ update เฉพาะส่วนนั้นไม่ต้อง update ทั้งหมด

^-^ : วันนี้นำมาเล่าเท่านี้ก่อนเดี๋ยวถ้าศึกษาเพิ่มอีกแล้วจะนำมาเล่าต่อครับ

PHP 5.1.0 Released

PHP5 ออกเวอร์ชันใหม่แล้ว 5.1.0 สามารถโหลดได้ที่ http://www.php.net

Google logos

สามารถเข้าไปดู Logo เก่าของ google ได้ที่ http://www.google.com/holidaylogos.html

NLC6

การแข่งขันระบบปฏิบัติการลินุกซ์ (NECTEC Linux Competition: NLC ) ครั้งที่ 6 ได้เปิดรับสมัครแล้ว
ดูรายละเอียดได้ที่ http://ccp.nectec.or.th/activity/nlc6/

Web Badges / Buttons

ลองเข้าไปดูมีวิธีทำ web badges/buttons และ buttons ที่เกี่ยวกับ linux / opensource ได้ที่http://www.zwahlendesign.ch/en/node/19

Symphony OS

ขอแนะนำ Symphony OS เป็น linux แบบ desktop พัฒนาจาก Debian และ Knoppix และจุดเด่นของ linux ตัวนี้คือได้มีการสร้าง Desktop environment ขึ้นมาใช้งานเองคือ Mezzo Desktop environment และมีหน้าตาที่สวยงามและแปลกไปจาก KDE & Gnome สามารถดูรายละเอียดเพิ่มเติมได้ที่ www.symphonyos.com

Run anaconda on X

สร้าง folder สำหรับ stage2 แล้ว copy ข้อมูลภายในไฟล์จาก stage2 ของตัวติดตั้งมาใส่ใน folder ที่สร้างขึ้น
ทำการ export folder ที่จะแก้ไข
#export PYTHONPATH=/lab/work/edit/stage2/usr/lib/anaconda
#export BASE=:/lab/work/edit/stage2/usr/lib/anaconda
#export PATH=$PATH:/lab/work/edit/stage2/usr/lib/anaconda-runtime/

คำสั่งที่ใช้รัน anaconda บน X ดังนี้

#anaconda --test -m nfs://lab/work/edit/stage2/usr/lib/anaconda