วันนี้ทำการคอมไพล์เคอร์เนลของ gumstix ให้สามารถรองรับ SquashFS 2.2 นะครับ ซึ่งตัว gumstix ก็เป็นลินุกซ์ตัวหนึ่ง ที่มีขนาดเล็กมากๆ ทำงานอยู่บน Intel xScale (arm) และสำหรับ squashfs นั้นก็เป็นคอมเพรสไฟล์ซิสเต็ม แบบอ่านได้อย่างเดียว ซึ่งส่วนมากนิยมใช้กับ LiveCD ทั้งหลาย เริ่มกันเลยดีกว่าครับ เวลามีน้อย อิอิ
ก่อนอื่นก็ทำการขยายไฟล์ ที่ดาวน์โหลดมาครับ
#tar xvfj gumstix-buildroot.bz2
#cd gumstix-buildroot/build_arm/linux-2.6.11gum/
จากนั้นทำการแพทช์เคอร์เนลด้วย squashfs2.2.patch ซึ่งได้มาจาก http://squashfs.sf.net ครับ
#patch -p1 < squashfs2.2-patch
ก่อนที่จะทำการคอมไพล์ ก็อย่าลืมเซ็ตพาธล่ะกันครับ ตรง path-to นั้นให้ระบุพาธของ gumstix-buildroot นะครับ
#export PATH=$PATH:/path-to/gumstix-buildroot/build_arm/staging_dir/bin
จากนั้นก็สั่งคอมไพล์ครับ โดยระบุพารามิเตอร์ดังข้างล่าง
จากนั้นจะมีหน้าต่างขึ้นมาให้เลือกออพชันต่างๆ เหมือนกับการคอมไพล์เคอร์เนลทั่วไปแหละครับ ไปที่ File Systems => Miscellaneous Filesystems => SquashFS 2.0 จากนั้นก็ออกจากหน้าออบชัน แล้วก็บันทึกเคอร์เนลไฟล์ครับ ต่อมาทำการคอมไพล์เคอร์เนล
#make ARCH=arm CROSS_COMPILE=arm-linux- uImage
อิอิ เสร็จแล้วครับ ลองตรวจสอบดูนะครับว่า ได้ผลเป็นไงบ้าง
[root@apc linux-2.6.11gum]# mkimage -l arch/arm/boot/uImage
Image Name: Linux-2.6.11gum
Created: Mon Aug 15 23:19:46 2005
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 715320 Bytes = 698.55 kB = 0.68 MB
Load Address: 0xA0008000
Entry Point: 0xA0008000
[root@apc linux-2.6.11gum]#
ต่ออีกนะครับ เราจะทำการคอมไพล์โมดูลเข้าไปด้วย
#make ARCH=arm CROSS_COMPILE=arm-linux- modules
รอซักพัก ต่อจากนั้น ก็ไปที่ไดเรคเทอรี gumstix-buildroot ครับ แล้วก็สั่งคอมไพล์ และรวม uImage กับ โมดูลเข้าด้วยกัน รวมทั้งไบรารีทั้งหมดด้วย
#cd ../../
#make
รออีกซักพักเหมือนกันครับ พอเสร็จแล้วเราก็จะได้ไฟล์ root_fs_arm ขึ้นมา และนำไปใช้งานต่อครับ อิอิ :- )
ลืมคอมไพล์เคอร์เนลโมดูล ... เดี๋ยวจะมาทำต่อครับ
เพิ่มเข้าไปแล้วนะครับ