LinuxÊÇUnix²Ù×÷ϵͳµÄÒ»ÖÖ±äÖÖ£¬ÔÚLinuxϱàдÇý¶¯³ÌÐòµÄÔÀíºÍ˼ÏëÍêÈ«ÀàËÆÓÚÆäËûµÄUnixϵͳ£¬µ«Ëüdos»òwindow»·¾³ÏµÄÇý¶¯³ÌÐòÓкܴóµÄÇø±ð¡£ÔÚLinux»·¾³ÏÂÉè¼ÆÇý¶¯³ÌÐò£¬Ë¼Ïë¼ò½à£¬²Ù×÷·½±ã£¬¹¦ÄÜÒ²ºÜÇ¿´ó£¬µ«ÊÇÖ§³Öº¯ÊýÉÙ£¬Ö»ÄÜÒÀÀµkernelÖеĺ¯Êý£¬ÓÐЩ³£ÓõIJÙ×÷Òª×Ô¼ºÀ´±àд£¬¶øÇÒµ÷ÊÔÒ²²»·½±ã¡£
ÒÔϵÄһЩÎÄ×ÖÖ÷ÒªÀ´Ô´ÓÚkhg£¬johnsonmµÄWrite linux device driver£¬Brennan's Guide to Inline Assembly£¬The Linux A-Z£¬»¹ÓÐÇ廪BBSÉϵÄÓйØdevice driverµÄһЩ×ÊÁÏ¡£
Ò»¡¢Linux device driver µÄ¸ÅÄî
¡¡¡¡ÏµÍ³µ÷ÓÃÊDzÙ×÷ϵͳÄں˺ÍÓ¦ÓóÌÐòÖ®¼äµÄ½Ó¿Ú£¬É豸Çý¶¯³ÌÐòÊDzÙ×÷ϵͳÄں˺ͻúÆ÷Ó²¼þÖ®¼äµÄ½Ó¿Ú¡£É豸Çý¶¯³ÌÐòΪӦÓóÌÐòÆÁ±ÎÁËÓ²¼þµÄϸ½Ú£¬ÕâÑùÔÚÓ¦ÓóÌÐò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷¡£É豸Çý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬ËüÍê³ÉÒÔÏµĹ¦ÄÜ:
¡¡¡¡1¡£¶ÔÉ豸³õʼ»¯ºÍÊÍ·Å¡£
¡¡¡¡2¡£°ÑÊý¾Ý´ÓÄں˴«Ë͵½Ó²¼þºÍ´ÓÓ²¼þ¶ÁÈ¡Êý¾Ý¡£
¡¡¡¡3¡£¶ÁȡӦÓóÌÐò´«Ë͸øÉ豸ÎļþµÄÊý¾ÝºÍ»ØËÍÓ¦ÓóÌÐòÇëÇóµÄÊý¾Ý¡£
¡¡¡¡4¡£¼ì²âºÍ ......
×òÌìÓиö¹«Ë¾µÄÍøÕ¾£¬ÒªÉÏ´«linux·þÎñÆ÷ÍøÕ¾´ó¸ÅÓÐ1¸ö¶àG£¬ÓÃÓÚ¹«Ë¾ÍøËÙµÄÎÊÌ⣬ÓÃwinscpÉÏ´«ÂýµÄÒªËÀ£¬ËùÒÔÅܵ½»ú·¿±¾´òËãͨ¹ý¿Í»§µÄÒÆ¶¯Ó²ÅÌ¿½±´ÉÏÈ¥£¬µ«ÊÇÊÔÁ˺ܾÃҲûÓÐmountµ½»úÆ÷ÉÏ£¬ÊµÔÚÓôÃÆ¡£ÓÉÓÚʱ¼äÌ«ÍíËùÒԾͻؼÒÁË£¬ËùÒÔÖ»ÄÜͨ¹ýÈí¼þÉÏ´«ÁË£¬½ñÌìÀ´Á˰ÑÒÆ¶¯Ó²Å̲åÔÚµçÄÔÉÏ¿´µ½Ã»ÓÐÏÔʾÎļþ¸ñʽ£¬Í¨¹ý¸ñʽ»¯¿´µ½¾ÍÓÐÒ»¸öexFAT¸ñʽ£¬¶øÕâ¸öÒÆ¶¯Ó²ÅÌÓÐ1.5TʵÔÚ²»Ð¡°¡£¬¶øÕâÖÖÎļþ¸ñʽlinuxÊDz»Ö§³Ö£¬¹Ö²»µÃŪÁ˰ëÌì¡£
½ñÌìÔÚÍøÉϲéÁËÏÂÔÀ´ÊÇ΢ÈíÔÚWindows Vista SP1Öб»ÒýÈëµÄÎļþϵͳ¡£¾ßÌå˵Ã÷ÈçÏ£º
LinuxÏÂʵÏÖ¶Ô΢ÈíÐÂÎļþϵͳexFATµÄÖ§³Ö
΢ÈíÐÂÎļþϵͳexFATÔÚWindows Vista SP1Öб»ÒýÈ룬ÉÏÖÜWindows XP¸üÐÂʵÏÖÁËÖ§³Ö¡£exFATÊÇΪÁËÔÚÒÆ¶¯É豸ÖÐʹÓã¬Èç´óÈÝÁ¿USBÉÁÅÌ¡£exFATÍ»ÆÆÁËÏÈǰFAT32Îļþ´óСºÍ·ÖÇøµÄÏÞÖÆ£¬ÒÔ¼°ÆäËûµÄ¸Ä½ø¡£exFATÊÇ˽Óеģ¬LinuxÄں˶ÔexFAT»¹Ã»ÓÐʵÏÖ¶Áд֧³Ö£¬µ«LinuxϵÄÖ»¶Á²¹¶¡ÒѾ³öÏÖ¡£
ËäȻ΢ÈíûÓз¢²¼exFAT¼¼Êõ¹æ¸ñ£¬µ«ÊÇÒ» ......
Ò»¡¢linuxµÄÉ豸Çý¶¯³ÌÐòÓëÍâ½çµÄ½Ó¿Ú¿ÉÒÔ·ÖΪÈý¸ö²¿·Ö£º
¡¡¡¡1£®Çý¶¯³ÌÐòÓë²Ù×÷ϵͳÄں˵Ľӿڡ£Í¨¹ýfile_operations(include/linux/fs.h)Êý¾Ý½á¹¹À´Íê³ÉµÄ¡£
¡¡¡¡2£®Çý¶¯³ÌÐòÓëϵͳÒýµ¼µÄ½Ó¿Ú¡£Õⲿ·ÖÀûÓÃÇý¶¯³ÌÐò¶ÔÉ豸½øÐгõʼ»¯¡£
¡¡¡¡3£®Çý¶¯³ÌÐòÓëÉ豸µÄ½Ó¿Ú¡£Õⲿ·ÖÃèÊöÁËÇý¶¯³ÌÐòÈçºÎÓëÉ豸½øÐн»»¥£¬Óë¾ßÌåµÄÉ豸ÃÜÇÐÏà¹Ø¡£
¡¡¡¡¶þ¡¢¸ù¾Ý¹¦ÄÜ»®·Ö£¬É豸Çý¶¯³ÌÐòµÄ´úÂëÓÐÒÔϼ¸²¿·Ö£º
¡¡¡¡1£®Çý¶¯³ÌÐòµÄ×¢²áºÍ×¢Ïú¡£
¡¡¡¡2£®É豸µÄ´ò¿ªºÍÊÍ·Å¡£
¡¡¡¡3£®É豸µÄ¶Áд²Ù×÷¡£
¡¡¡¡4£®É豸µÄ¿ØÖƲÙ×÷¡£
¡¡¡¡5£®É豸µÄÖжϺÍÂÖѯ´¦Àí¡£
¡¡¡¡Èý¡¢Çý¶¯³ÌÐòµÄ×¢²áºÍ×¢Ïú£º
¡¡¡¡É豸Çý¶¯³ÌÐò¿ÉÒÔÔÚϵͳÆô¶¯µÄʱºò³õʼ»¯£¬Ò²¿ÉÒÔÔÚÐèÒªµÄʱºò¶¯Ì¬¼ÓÔØ¡£×Ö·ûÉ豸µÄ³õʼ»¯ÓÉchr_dev_init()Íê³É£¬°üÀ¨¶ÔÄڴ棨devfs_register_chrdev(MEM_MAJOR,"mem",&memory_fops)£©£¬ÖÕ¶Ë£¨tty_init()£©£¬´òÓ¡»ú£¨lp_init()£©£¬Êó±ê£¨misc_init()£©µÈ×Ö·ûÉ豸µÄ³õʼ»¯¡£
¡¡¡¡¿éÉ豸³õʼ»¯ÓÉblk_dev_init()Íê³É£¬Õâ°üÀ¨¶ÔIDEÓ²ÅÌ£¨ide_init()£©£¬ÈíÅÌ£¨floppy_init()£©£¬¹âÇýµÈ¿éÉ豸µÄ³õʼ»¯¡£
¡¡¡¡Ã¿¸ö×Ö·ûÉ豸»òÊÇ¿éÉ豸µÄ³õʼ»¯¶¼ÊÇͨ¹ýdevfs_register_chrdev()» ......
×ªÔØÊ±Çë×¢Ã÷³ö´¦ºÍ×÷ÕßÁªÏµ·½Ê½
×÷ÕßÁªÏµ·½Ê½£ºÀîÏȾ² <xianjimli at hotmail dot com>
LinuxÊÖ»úµÄÇ°Í¾ËÆºõºÜÉÙÓÐÈË»³Òɹý¡£Ôø¾×ö¹ýµÄ£¬ÏÖÔÚÕýÔÚ×öµÄ£¬¼´½«´òËã×öµÄ£¬ÔÚ¹úÄÚ¹À¼Æ²»ÏÂÊýÊ®¼Ò¹«Ë¾¡£´ó¼Ò¶¼Ïë´ÓÖÐÌÔһͰ½ð£¬²»¹ý´ó¶àÊdzËÐ˶øÀ´°ÜÐ˶ø¹é£¬ÉÙÔòËðʧ¼¸°ÙÍò£¬¶àÔòÊýǧÍò£¬ÓеÄÉõÖÁÕû¸ö¹«Ë¾Òò´ËÒ»ØÊ²»Õñ¡£ÔÚÕæÕýÒâÒå°ÑLinuxÊÖ»ú×ö³É¹¦µÄ£¬
ÔÚ¹úÄÚ
¿ÉÒÔ˵ÇúÖ¸¿ÉÊý¡£±¾À´ÒÔΪ¿ÉÒÔ¿¿¿ªÔ´Èí¼þÓë¹úÍâ´ó¹«Ë¾Õ¾ÔÚͬһÆðÅÜÏßÉϵ쬽á¹û»¹ÊÇÆðÁË´óÔç¸ÏÁËÍí¼¯¡£
LinuxÊÖ»úÑз¢ÊÇÒ»ÏîºÆ´óµÄ¹¤³Ì£¬¾Ý˵¹úÍâÒ»°ãµÄ¹À¼ÆÊÇ£¬LinuxÊÖ»úƽ̨µÄÑз¢ÖÁÉÙÒªºÄ×Ê2000ÍòÃÀÔª£¬Àúʱ3£5Äêʱ¼ä²Å¿ÉÄÜÈ¡µÃ³É¹¦¡£µ±ÎÒÃÇ¿ªÊ¼bronchoÏîĿʱ£¬ÓиöTrolltech
¹«Ë¾µÄÀÏÍâ·¢Óʼþ¸øÎÒÃÇ˵£¬²»Òª°ÑÄãÃǵÄʱ¼äºÍ×ʽðÀË·ÑÔÚGTKÉÏÁË£¬MOTOºÍXXX£¨Íü¼ÇÁË£©¹«Ë¾ºÄ×ʼ¸ÒÚÃÀ½ð£¬½á¹û»¹ÊÇÂòÁËQT²Å¸ã³É¹¦µÄ¡£
ÓÐÄÇô¶à¿ªÔ´Èí¼þ¿ÉÒÔÃâ·ÑʹÓ㬿´ËÆÖ»ÐèÒª×öϼòµ¥µÄ¼¯³É¾ÍÐÐÁË£¬ÎªÊ²Ã´»¹»áÄÇÑùÄÑÄØ£¿¾Ý±ÊÕߵľÑéÀ´¿´£¬¹úÄÚLinuxÊÖ»úÑз¢Òª¹ýÎå´óÄѹأº
È˲ŹØ
£º
ÈËÎÞÒÉÊÇÈí¼þ¿ª·¢ÖÐ×îÖØÒªµÄÒòËØ£¬¶ø¹úÄÚLinux¿ª·¢·½ÃæµÄÈ˲Åϡȱ£¬ÕæÕý²ÎÓëµ½¿ªÔ´ÏîÄ¿ÖеÄÈ˸üÊÇ·ïë÷ë½Ç¡£¾ÝÕ⼸ÄêµÄÃæÊÔ¾ÑéÀ´¿´£ ......
ac
--Êä³öÓû§Á¬½Óʱ¼ä
access
--È·¶¨ÎļþÊÇ·ñ¿ÉÒÔ´æÈ¡·ÃÎÊ
ali
--list mail aliases
apm
--²éѯ¸ß¼¶µçÔ´¹ÜÀí(APM)BIOS
apropos
--search the whatis database for strings
at
-- (batch,atq,atrm)ÅŶӡ¢¼ì²é»òɾ³ýÒÔºóÒªÖ´ÐеÄ×÷Òµ¡£
autorun
--
×Ô¶¯×°ÔØ/Ð¶ÔØCDROMs²¢ÔÚ×°ÔØºóÖ´ÐÐ/path/to/cdrom/autorun
biff
--е½ÓʼþÌáÐÑ
builtins2
--bashÄÚ½¨ÃüÁî
bzip2
--(bunzip2)Ò»ÖÖ¿éÅÅÐòÎļþѹËõÈí¼þ£¬v0.9.5
cal
--ÏÔʾһ¸öÈÕÀú
cat
--Á¬½ÓÎļþ²¢ÔÚ±ê×¼Êä³öÉÏÊä³ö
cce
--¿ØÖÆÌ¨ÖÐÎÄ»·¾³
chattr
-- ÐÞ¸ÄÎļþÔÚLinuxµÚ¶þÀ©Õ¹Îļþϵͳ(E2fs)ÉϵÄÌØÓÐÊôÐÔ
charset
--Set an ACM for use in one of the G0/G1
charset slots.
chgrp
--¸Ä±äÎļþµÄ×éËùÓÐȨ
chmod
--¸Ä±äÎļþµÄ·ÃÎÊȨÏÞ
chown
--ÐÞ¸ÄÎļþËùÓÐÕߺÍ×é±ð
chsh
--¸Ä±äÄãµÄµÇ¼ shell&nbs ......
×î½üÕýÔÚ¿ª·¢ÀàËÆä¯ÀÀÆ÷µÄRender£¬ÔÀ´Ñ¡ÔñÁËFLTK£¬ºóÀ´ÊµÏÖµÄЧ¹û²»ÊǺܺ㬶øÇÒ½çÃæÒ²±È½Ï¼òµ¥£¬ËùÒÔ×¼±¸Ñо¿Ò»Ï¿ªÔ´ä¯ÀÀÆ÷ÓõÄRender£¬Êµ¼ÊʹÓ÷¢ÏÖGoogle ChromeµÄRender±ÈFirefox¿ì£¬ËùÒÔ×îºóÑ¡ÔñÁËChromeËù»ùÓÚµÄWebKit£¨RenderÖ»ÊÇÆäÖеÄÒ»¸ö²¿·Ö£©£¬°æÈ¨ÊÇLGPL£¬·Ç³£ºÃ¡£
ÏÂÃæÊÇÔÚUbuntu 9.10ÉÏÄãÓÃQT±àÒëWebKitµÄ¹ý³Ì£¨²Î¿¼Á˹ٷ½µÄhttp://trac.webkit.org/wiki/BuildingQtOnLinuxºÍJonathan ChristopherµÄhttp://mondaybynoon.com/2007/04/23/installing-and-running-webkit-in-linux-using-qt/£©¡£±È½Ï˳Àû£¬¾ÍÊÇ»¨·ÑµÄʱ¼äÓе㳤¡£
1. È·ÈÏÒÔϰüÒѾ°²×°£º
sudo aptitude install libqt4-dev gperf bison flex libicu36-dev libphonon-dev libsqlite3-dev
2. ´ÓWebKitÍøÕ¾»ñµÃ×îеÄWebKitÔ´´úÂë·¢²¼£¬Ê¹ÓÃsvn£¬ËùÒÔûÓÐsvnµÄ»¹Òªsudo apt-get subversion¡£ÎҰѵõ½µÄÒªÄã´úÂë·ÅÔÚÎÒ×Ô¼ºµÄ¹¤×÷Ŀ¼µÄ£¬¾ÍÊÇ/home/rafael/workspace/cpp/Ï£¬Õâ¸ö¹ý³ÌÐèÒªºÜ³¤Ê±¼ä£º
cd /home/rafael/workspace/cpp
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
3. ÉèÖÃÏà¹ØµÄ»·¾³£¬È»ºó ......