2005/Oct/07

หลังจากเมื่อก่อนเคย คอมไพล์ gumstix ให้ใช้ squashfs แล้ว ผมก็จะใช้คอนฟิกไพล์เดิม นี้ มาปรับปรุงให้สามารถใช้ I2C Bus นะครับ เนื่องจากมีความจำเป็นต้องใช้งาน ถ้ามีเวลาว่างพอ ก็คงจะมาเขียนรายละเอียดเพิ่มเติมนะครับ สำหรับวันนี้ก็เอาอย่างย่อ ไปก่อนก็แล้วกัน

ผมเก็บ gumstix-buildroot ไว้ที่ โฮมของตัวเองนะครับ สมมติพาธเป็น /home/apc/gumstix-buildroot
# cd /home/apc/gumstix-buildroot/build_arm/linux-2.6.11gum/
# export PATH=$PATH:
/home/apc/gumstix-buildroot/build_arm/staging_dir/bin

จากนั้นก็ทำการแก้ไขคอนฟิกไพล์เดิมนะครับ
# vi .config

เพิ่มข้อมูลเข้าไปดังนี้
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ISA is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_PCA_ISA is not set
CONFIG_I2C_PXA=m


จากนั้นก็คอนฟิก โดยทำการโหลดเคอร์เนลคอนฟิก ที่อยู่ในไฟล์ .config ครับ
# make ARCH=arm CROSS_COMPILE=arm-linux- oldconfig

ต่อมาก็จะมีคำถามว่า จะให้เข้ากันได้กับอุปกรณ์ไหนบ้าง ก็เลือกเอาตามสบายครับ แล้วแต่อุปกรณ์ที่เรามี จากนั้นก็สั่งสร้างเคอร์เนลอิเมจ
# make ARCH=arm CROSS_COMPILE=arm-linux- uImage

ลองทดสอบดูว่า เคอร์เนล อิเมจ มีการเปลี่ยนแปลงไปหรือไม่
# mkimage -l arch/arm/boot/uImage
Image Name: Linux-2.6.11gum
Created: Fri Oct 7 14:42:42 2005
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 729704 Bytes = 712.60 kB = 0.70 MB
Load Address: 0xA0008000
Entry Point: 0xA0008000

จากนั้นก็คอมไพล์เคอร์เนลโมดูลครับ
#
make ARCH=arm CROSS_COMPILE=arm-linux- modules

เสร็จแล้วก็ คอมไพล์ root_fs_arm ขึ้นมาใหม่ (ไม่แน่ใจนะ ว่า ถ้าไม่คอมไพล์ root_fs_arm แต่เอาไปแค่โมดูลที่จำเป็น มันจะทำงานได้หรือไม่) เหอๆ แต่ก็คอมไพล์ไว้ก่อนล่ะกัน ปลอดภัยที่สุดแล้ว

# cd ../../
# make

เสร็จแล้ว ก็ทำการนำ root_fs_arm ไปใส่ใน gumxtix เลยครับ ขึ้นตอนเยอะเหมือนกันนะ จะใช้ ckermit หรือ minicom ก็แล้วแต่สะดวกครับ ขนาดของ root_fs_arm ที่ผมได้ จะมีขนาด 3.0 MB นะครับ เพราะคอมไพล์ให้สามารถใช้งาน อื่นๆ เยอะแยะเหมือนกัน พื้นที่ของ gumstix ที่ผมใช้อยู่ จะเป็น 3.8 MB ครับ ก็เหลือพื้นที่ให้ใช้งานอีกพอสมควร และใส่ SD CARD 128 MB เข้าไปหนึ่งตัว เพื่อเก็บโปรแกรม เอาไว้ทดสอบ

แหล่งที่มา

:- )

Comment

Comment:

Tweet


ให้ความรู้ดีคับ
#1 by Mollyontour At 2007-02-26 23:01,