แนะนำกล้อง: Canon's new 16.7MP Digital SLR, with WiFi
ข้อมูลเพิ่มเติมคิดว่าอ่านเองดีกว่า ขี้เกียจแปล (จริงๆแล้วกลัวแปลผิด)
รายละเอียดใน dpreview
รายละเอียดใน cannon
ถกกันใน /.
ปล. อีกหน่อยกล้องถ่ายรูปจะโดน hacked ไม๊เนี่ย วัยรุ่นกลุ้มใจเจงๆ
#define MODULE #include <linux/module.h> #include <linux/kernel.h> int init_module(void) { printk(KERN_INFO "Hello World\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO "Goodbye cruel world\n"); }โมดุลสวัสดีโลกง่ายๆนี้ อาจจะดูธรรมดา แต่จากรุ่นหนึ่งสู่รุ่นหนึ่ง จากยุคของ ๒.๔ ถึง ๒.๖ เราต้องแปลงโฉมโมดุลนี้ซะใหม่ เปลี่ยนกันตั้งแต่บรรทัดแรกเลย
#define MODULEไม่จำเป็นอีกแล้วสำหรับมาโคร MODULE ตัวนี้ เพราะใน ๒.๖ นั้น ใช้ระบบการ build kernel/module แบบใหม่ และมาโครนี้จะถูก define แล้วโดยอัติโนมัติ (เรื่อง ระบบ build kernel จะพูดถึงกันอีกที)
#include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> static int hello_init(void) { printk(KERN_ALERT "Hello World\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye cruel world\n"); } module_init(hello_init); module_exit(hello_exit);
โมดุลของเราตอนนี้ก็พร้อมจะถูก compile แล้ว แต่เอาไว้ว่ากันต่อคราวหน้าดีกว่า.. อ่อ โมดุลสวัสดีโลกของเราตอนนี้ ถ้าถูกโหลดเข้าไปใน Kernel เรานอกจาก "Hello World\n" แล้ว ยังจะได้ message นี้ด้วย
hello: module license 'unspecified' taints kernel.ซึ่งจะว่าไปก็ไม่ซีเรียสอะไรมาก แค่บ่นๆว่าทำไมเอาโมดุลไลเซนส์น่าเกลียดมาทำให้ kernel เปรอะเปรื้อน (แปลแล้วน่าเกลียดแฮะ) ถ้าจะไม่ให้มีเมสเซสนี้ก็แค่ประกาศ
MODULE_LICENSE("Dual BSD/GPL");เรื่อง module license ก็ไม่ใช่เรื่องใหม่อะไร มีมานานแล้วแต่บางครั้งก็หลงลืมไม่ได้ใส่กัน มาตอนนี้แนะนำให้ใส่กันได้แล้ว และการประกาศไลเซนส์แบบนี้ยังจะช่วยให้เราสามารถเข้าไปเรียกใช้งาน GPL-only symbols ได้ด้วย (มีอะไรบ้างอย่าถาม แปลมา)
# apt-get install bittornado-gui
# apt-get install global
bash$ grep XXX *หรือถ้าจะเข้าไปหาถึงข้างในก็เติม -R เป็น grep -R XXXX *
bash$ find ./ -name YYYหรือถ้าจะใช้ wildcard ให้ YYY เป็นส่วนนึงในไฟล์ก็ได้เป็น find ./ -name *YYY*
bash$ find ./ -name *XXX* -exec grep YYY -l {} \;
for i in `ls DSC*.JPG ¦ grep ^D ¦ sed -e "s/DSC//" ¦ sed -e "s/.JPG/./"`; do echo mv DSC"$i"JPG dsc"$i"jpg ; doneเอ่อ คำสั่งนี้ยาวหน่อย แล้วคำสั่งก็ไม่เหมาะจะเอาไป execute มั่วๆเพราะมีบั๊กอยู่บ้าง เหมาะใช้ใน folder ที่มี file pattern เดิมๆ อย่างไฟล์ที่ออกมาจากกล้องดิจิทัล
RedBoot> fis list Name FLASH addr Mem addr Length Entry point RedBoot 0x00000000 0x00000000 0x00040000 0x00000000 RedBoot config 0x01F80000 0x01F80000 0x00001000 0x00000000 FIS directory 0x01FC0000 0x01FC0000 0x00040000 0x00000000 rootfs 0x00040000 0x00040000 0x006C0000 0xA0100000 linux 0x01E80000 0xA0108000 0x00100000 0xA0108000 userfs 0x006C0000 0x006C0000 0x01780000 0xA0100000 RedBoot>นี่คือ partition table เจ้าปัญหา สังเกตุที่ rootfs มันเข้าไปทับกับ user คือขนาดของ rootfs ต้องเป็น 0x00680000 ถึงจะถูก ไม่รู้แม่งกลายเป็น 0x006C0000 ได้ไง rootfs ที่เต็มปรี่ผสมกับเริ่ม Initialize userfs กลายเป็นตูด rootfs และ หัว userfs ทับกันส่งผลให้เกิดเหตุการณ์ filesystem corruptiong นรกแตกครั้งนี้