| ÂÛ̳ע²á| ¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³| RSS
Google
Äúµ±Ç°µÄλÖãºÊ×Ò³ > LinuxƵµÀ > Linux¿ª·¢Çø > Ç¶ÈëÓ¦ÓÃ

ǶÈëʽÉ豸É쵀 Linux ϵͳ¿ª·¢

ʱ¼ä£º2006-08-16 09:36:40  À´Ô´£ºÈüµÏÍø  ×÷Õߣº
£ NTKLinuxÁªÃË

ΪÁ˽øÐÐÕâ¸ö²Ù×÷£¬¿ÉÄÜÐèÒª´´½¨·ÖÇø±í½«ÉÁ´æÉ豸·Ö²ðµ½Òýµ¼×°ÔسÌÐò½Ú¡¢Äں˽ںÍÎļþϵͳ½ÚÖС£Ñù±¾·ÖÇø±í¿ÉÄܰüº¬ÒÔÏÂÐÅÏ¢£º NTKLinuxÁªÃË

Çåµ¥ 5. MTD µÄ¼òµ¥ÉÁ´æÉ豸·ÖÇø struct mtd_partition sample_partition = { NTKLinuxÁªÃË

{ NTKLinuxÁªÃË

/* First partition */ NTKLinuxÁªÃË

name : bootloader, /* Bootloader section */ NTKLinuxÁªÃË

size : 0x00010000, /* Size */ NTKLinuxÁªÃË

offset : 0, /* Offset from start of flash- location 0x0*/ NTKLinuxÁªÃË

mask_flags : MTD_WRITEABLE /* This partition is not writable */ NTKLinuxÁªÃË

}, NTKLinuxÁªÃË

{ /* Second partition */ NTKLinuxÁªÃË

name : Kernel, /* Kernel section */ NTKLinuxÁªÃË

size : 0x00100000, /* Size */ NTKLinuxÁªÃË

offset : MTDPART_OFS_APPEND, /* Append after bootloader section */ NTKLinuxÁªÃË

mask_flags : MTD_WRITEABLE /* This partition is not writable */ NTKLinuxÁªÃË

}, NTKLinuxÁªÃË

{ /* Third partition */ NTKLinuxÁªÃË

name : JFFS2, /* JFFS2 filesystem */ NTKLinuxÁªÃË

size : MTDPART_SIZ_FULL, /* Occupy rest of flash */ NTKLinuxÁªÃË

offset : MTDPART_OFS_APPEND /* Append after kernel section */ NTKLinuxÁªÃË

} NTKLinuxÁªÃË

} NTKLinuxÁªÃË

ÉÏÃæµÄ·ÖÇø±íʹÓÃÁË MTD_BLOCK ½Ó¿Ú¶ÔÉÁ´æÉ豸½øÐзÖÇø¡£ÕâЩ·ÖÇøµÄÉ豸½ÚµãÊÇ£º NTKLinuxÁªÃË

¼òµ¥ÉÁ´æ·ÖÇøµÄÉ豸½Úµã NTKLinuxÁªÃË

User device node Major number Minor number NTKLinuxÁªÃË

Bootloader /dev/mtdblock0 31 0 NTKLinuxÁªÃË

Kernel /dev/mtdblock1 31 1 NTKLinuxÁªÃË

Filesystem /dev/mtdblock2 31 2 NTKLinuxÁªÃË

ÔÚ±¾ÀýÖУ¬Òýµ¼×°ÔسÌÐò±ØÐ뽫ÓÐ¹Ø root É豸½Úµã£¨/dev/mtdblock2£©ºÍ¿ÉÒÔÔÚÉÁ´æÖÐÕÒµ½ÎļþϵͳµÄµØÖ·£¨±¾ÀýÖÐÊÇ FLASH_BASE_ADDRESS + 0x04000000£©µÄÕýÈ·²ÎÊý´«µÝµ½Äںˡ£Ò»µ©Íê³É·ÖÇø£¬ÉÁ´æÉ豸¾Í×¼±¸×°Èë»ò¹Ò×°Îļþϵͳ¡£ NTKLinuxÁªÃË

Linux ÖÐ MTD ×ÓϵͳµÄÖ÷ҪĿ±êÊÇÔÚϵͳµÄÓ²¼þÇý¶¯³ÌÐòºÍÉϲ㣬»òÓû§Ä£¿éÖ®¼äÌṩͨÓýӿڡ£Ó²¼þÇý¶¯³ÌÐò²»ÐèÒªÖªµÀÏó JFFS2 ºÍ FTL ÄÇÑùµÄÓû§Ä£¿éʹÓõķ½·¨¡£ËùÓÐËüÃÇÕæÕýÐèÒªÌṩµÄ¾ÍÊÇÒ»×é¶Ôµ×²ãÉÁ´æÏµÍ³½øÐÐ read¡¢ write ºÍ erase ²Ù×÷µÄ¼òµ¥Àý³Ì¡£ NTKLinuxÁªÃË

ǶÈëʽÉ豸µÄÎļþϵͳ NTKLinuxÁªÃË

ϵͳÐèÒªÒ»ÖÖÒԽṹ»¯¸ñʽ´æ´¢ºÍ¼ìË÷ÐÅÏ¢µÄ·½·¨£»Õâ¾ÍÐèÒªÎļþϵͳµÄ²ÎÓë¡£Ramdisk£¨Çë²ÎÔIJο¼×ÊÁÏ£©ÊÇͨ¹ý½«¼ÆËã»úµÄ RAM ÓÃ×÷É豸À´´´½¨ºÍ¹Ò×°ÎļþϵͳµÄÒ»ÖÖ»úÖÆ£¬Ëüͨ³£ÓÃÓÚÎÞÅÌϵͳ£¨µ±È»°üÀ¨Î¢ÐÍǶÈëʽÉ豸£¬ËüÖ»°üº¬×÷ΪÓÀ¾Ã´æ´¢Ã½ÖʵÄÉÁ´æÐ¾Æ¬£©¡£ NTKLinuxÁªÃË

Óû§¿ÉÒÔ¸ù¾Ý¿É¿¿ÐÔ¡¢½¡×³ÐԺͣ¯»òÔöÇ¿µÄ¹¦ÄܵÄÐèÇóÀ´Ñ¡ÔñÎļþϵͳµÄÀàÐÍ¡£ÏÂÒ»½Ú½«ÌÖÂÛ¼¸¸ö¿ÉÓÃÑ¡Ïî¼°ÆäÓÅȱµã¡£ NTKLinuxÁªÃË

µÚ¶þ°æÀ©Õ¹Îļþϵͳ£¨Ext2fs£© NTKLinuxÁªÃË

Ext2fs ÊÇ Linux ÊÂʵÉϵıê×¼Îļþϵͳ£¬ËüÒѾ­È¡´úÁËËüµÄǰÈÎ ¡ª À©Õ¹Îļþϵͳ£¨»ò Extfs£©¡£Extfs Ö§³ÖµÄÎļþ´óС×î´óΪ 2 GB£¬Ö§³ÖµÄ×î´óÎļþÃû³Æ´óСΪ 255 ¸ö×Ö·û ¡ª ¶øÇÒËü²»Ö§³ÖË÷Òý½Úµã£¨°üÀ¨Êý¾ÝÐÞ¸Äʱ¼ä±ê¼Ç£©¡£Ext2fs ×öµÃ¸üºÃ£»ËüµÄÓŵãÊÇ£º NTKLinuxÁªÃË

¡¤Ext2fs Ö§³Ö´ï 4 TB µÄÄÚ´æ¡£ NTKLinuxÁªÃË

Ext2fs ÎļþÃû³Æ×¿ÉÒÔµ½ 1012 ¸ö×Ö·û¡£ NTKLinuxÁªÃË

µ±´´½¨Îļþϵͳʱ£¬¹ÜÀíÔ±¿ÉÒÔÑ¡ÔñÂß¼­¿éµÄ´óС£¨Í¨³£´óС¿ÉÑ¡Ôñ 1024¡¢2048 ºÍ 4096 ×Ö½Ú£©¡£ NTKLinuxÁªÃË

¡¤Ext2fs ÁËʵÏÖ¿ìËÙ·ûºÅÁ´½Ó£º²»ÐèҪΪ´ËÄ¿µÄ¶ø·ÖÅäÊý¾Ý¿é£¬²¢ÇÒ½«Ä¿±êÃû³ÆÖ±½Ó´æ´¢ÔÚË÷Òý½Úµã£¨inode£©±íÖС£ÕâʹÐÔÄÜÓÐËùÌá¸ß£¬ÌرðÊÇÔÚËÙ¶ÈÉÏ¡£ NTKLinuxÁªÃË

ÒòΪ Ext2 ÎļþϵͳµÄÎȶ¨ÐÔ¡¢¿É¿¿ÐԺͽ¡×³ÐÔ£¬ËùÒÔ¼¸ºõÔÚËùÓлùÓÚ Linux µÄϵͳ£¨°üÀ¨Ì¨Ê½»ú¡¢·þÎñÆ÷ºÍ¹¤×÷Õ¾ ¡ª ²¢ÇÒÉõÖÁһЩǶÈëʽÉ豸£©É϶¼Ê¹Óà Ext2 Îļþϵͳ¡£È»¶ø£¬µ±ÔÚǶÈëʽÉ豸ÖÐʹÓà Ext2fs ʱ£¬ËüÓÐһЩȱµã£º NTKLinuxÁªÃË

Ext2fs ÊÇΪÏó IDE É豸ÄÇÑùµÄ¿éÉ豸Éè¼ÆµÄ£¬ÕâЩÉ豸µÄÂß¼­¿é´óСÊÇ 512 ×Ö½Ú£¬1 K ×Ö½ÚµÈÕâÑùµÄ±¶Êý¡£Õⲻ̫ÊʺÏÓÚÉÈÇø´óСÒòÉ豸²»Í¬¶ø²»Í¬µÄÉÁ´æÉ豸¡£ NTKLinuxÁªÃË

Ext2 ÎļþϵͳûÓÐÌṩ¶Ô»ùÓÚÉÈÇøµÄ²Á³ý£¯Ð´²Ù×÷µÄÁ¼ºÃ¹ÜÀí¡£ÔÚ Ext2fs ÖУ¬ÎªÁËÔÚÒ»¸öÉÈÇøÖвÁ³ýµ¥¸ö×Ö½Ú£¬±ØÐ뽫Õû¸öÉÈÇø¸´ÖƵ½ RAM£¬È»ºó²Á³ý£¬È»ºóÖØÐ´Èë¡£¿¼Âǵ½ÉÁ´æÉ豸¾ßÓÐÓÐÏ޵IJÁ³ýÊÙÃü£¨´óÔ¼ÄܽøÐÐ 100,000 ´Î²Á³ý£©£¬ÔÚ´ËÖ®ºó¾Í²»ÄÜʹÓÃËüÃÇ£¬ËùÒÔÕâ²»ÊÇÒ»¸öÌØ±ðºÃµÄ·½·¨¡£ NTKLinuxÁªÃË

ÔÚ³öÏÖµçÔ´¹ÊÕÏʱ£¬Ext2fs ²»ÊÇ·À±ÀÀ£µÄ¡£ NTKLinuxÁªÃË

Ext2 Îļþϵͳ²»Ö§³ÖËðºÄƽºâ£¬Òò´ËËõ¶ÌÁËÉÈÇø£¯ÉÁ´æµÄÊÙÃü¡££¨ËðºÄƽºâÈ·±£½«µØÖ··¶Î§µÄ²»Í¬ÇøÓòÂÖÁ÷ÓÃÓÚдºÍ£¯»ò²Á³ý²Ù×÷ÒÔÑÓ³¤ÉÁ´æÉ豸µÄÊÙÃü¡££© NTKLinuxÁªÃË

Ext2fs ûÓÐÌØ±ðÍêÃÀµÄÉÈÇø¹ÜÀí£¬ÕâʹÉè¼Æ¿éÇý¶¯³ÌÐòÊ®·ÖÀ§ÄÑ¡£ NTKLinuxÁªÃË

ÓÉÓÚÕâЩԭÒò£¬Í¨³£Ïà¶ÔÓÚ Ext2fs£¬ÔÚǶÈëʽ»·¾³ÖÐʹÓà MTD/JFFS2 ×éºÏÊǸüºÃµÄÑ¡Ôñ¡£ NTKLinuxÁªÃË

Óà Ramdisk ¹Ò×° Ext2fs NTKLinuxÁªÃË

ͨ¹ýʹÓà Ramdisk µÄ¸ÅÄ¿ÉÒÔÔÚǶÈëʽÉ豸Öд´½¨²¢¹Ò×° Ext2 Îļþϵͳ£¨ÒÔ¼°ÓÃÓÚÕâһĿµÄµÄÈκÎÎļþϵͳ£©¡£ NTKLinuxÁªÃË

Çåµ¥ 6. ´´½¨Ò»¸ö¼òµ¥µÄ»ùÓÚ Ext2fs µÄ Ramdisk mke2fs -vm0 /dev/ram 4096 NTKLinuxÁªÃË

mount -t ext2 /dev/ram /mnt NTKLinuxÁªÃË

cd /mnt NTKLinuxÁªÃË

cp /bin, /sbin, /etc, /dev ... files in mnt NTKLinuxÁªÃË

cd ../ NTKLinuxÁªÃË

umount /mnt NTKLinuxÁªÃË

dd if=/dev/ram bs=1k count=4096 of=ext2ramdisk NTKLinuxÁªÃË

mke2fs ÊÇÓÃÓÚÔÚÈκÎÉ豸ÉÏ´´½¨ ext2 ÎļþϵͳµÄʵÓóÌÐò ¡ª Ëü´´½¨³¬¼¶¿é¡¢Ë÷Òý½ÚµãÒÔ¼°Ë÷Òý½Úµã±íµÈµÈ¡£ NTKLinuxÁªÃË

ÔÚÉÏÃæµÄÓ÷¨ÖУ¬/dev/ram ÊÇÉÏÃæ¹¹½¨ÓÐ 4096 ¸ö¿éµÄ ext2 ÎļþϵͳµÄÉ豸¡£È»ºó£¬½«Õâ¸öÉ豸£¨/dev/ram£©¹Ò×°ÔÚÃûΪ /mnt µÄÁÙʱĿ¼Éϲ¢ÇÒ¸´ÖÆËùÓбØÐèµÄÎļþ¡£Ò»µ©¸´ÖÆÍêÕâЩÎļþ£¬¾ÍжװÕâ¸öÎļþϵͳ²¢ÇÒÉ豸£¨/dev/ram£©µÄÄÚÈݱ»×ª´¢µ½Ò»¸öÎļþ£¨ext2ramdisk£©ÖУ¬Ëü¾ÍÊÇËùÐèµÄ Ramdisk£¨Ext2 Îļþϵͳ£©¡£ NTKLinuxÁªÃË

ÉÏÃæµÄ˳Ðò´´½¨ÁËÒ»¸ö 4 MB µÄ Ramdisk£¬²¢ÓñØÐèµÄÎļþʵÓóÌÐòÀ´Ìî³äËü¡£ NTKLinuxÁªÃË

һЩҪ°üº¬ÔÚ Ramdisk ÖеÄÖØÒªÄ¿Â¼ÊÇ£º NTKLinuxÁªÃË

¡¤/bin ¡ª ±£´æ´ó¶àÊýÏó init¡¢busybox¡¢shell¡¢Îļþ¹ÜÀíʵÓóÌÐòµÈ¶þ½øÖÆÎļþ¡£ NTKLinuxÁªÃË

¡¤/dev ¡ª °üº¬ÓÃÔÚÉ豸ÖеÄËùÓÐÉ豸½Úµã NTKLinuxÁªÃË

¡¤/etc ¡ª °üº¬ÏµÍ³µÄËùÓÐÅäÖÃÎļþ NTKLinuxÁªÃË

¡¤/lib ¡ª °üº¬ËùÓбØÐèµÄ¿â£¬Èç libc¡¢libdl µÈ NTKLinuxÁªÃË

ÈÕÖ¾ÉÁ´æÎļþϵͳ£¬°æ±¾ 2£¨JFFS2£© NTKLinuxÁªÃË

ÈðµäµÄ Axis Communications ¿ª·¢ÁË×î³õµÄ JFFS£¬Red Hat µÄ David Woodhouse ¶ÔËü½øÐÐÁ˸Ľø¡£ µÚ¶þ¸ö°æ±¾£¬JFFS2£¬×÷ΪÓÃÓÚ΢ÐÍǶÈëʽÉ豸µÄԭʼÉÁ´æÐ¾Æ¬µÄʵ¼ÊÎļþϵͳ¶ø³öÏÖ¡£JFFS2 ÎļþϵͳÊÇÈÕÖ¾½á¹¹»¯µÄ£¬ÕâÒâζ×ÅËü»ù±¾ÉÏÊÇÒ»³¤Áнڵ㡣ÿ¸ö½Úµã°üº¬ÓйØÎļþµÄ²¿·ÖÐÅÏ¢ ¡ª ¿ÉÄÜÊÇÎļþµÄÃû³Æ¡¢Ò²ÐíÊÇһЩÊý¾Ý¡£Ïà¶ÔÓÚ Ext2fs£¬JFFS2 ÒòΪÓÐÒÔÏÂÕâЩÓÅµã¶øÔÚÎÞÅÌǶÈëʽÉ豸ÖÐÔ½À´Ô½ÊÜ»¶Ó­£º NTKLinuxÁªÃË

¡¤JFFS2 ÔÚÉÈÇø¼¶±ðÉÏÖ´ÐÐÉÁ´æ²Á³ý£¯Ð´£¯¶Á²Ù×÷Òª±È Ext2 ÎļþϵͳºÃ¡£ NTKLinuxÁªÃË

¡¤JFFS2 ÌṩÁË±È Ext2fs ¸üºÃµÄ±ÀÀ££¯µôµç°²È«±£»¤¡£µ±ÐèÒª¸ü¸ÄÉÙÁ¿Êý¾Ýʱ£¬Ext2 Îļþϵͳ½«Õû¸öÉÈÇø¸´ÖƵ½Äڴ棨DRAM£©ÖУ¬ÔÚÄÚ´æÖкϲ¢ÐÂÊý¾Ý£¬²¢Ð´»ØÕû¸öÉÈÇø¡£ÕâÒâζ×ÅΪÁ˸ü¸Äµ¥¸ö×Ö£¬±ØÐë¶ÔÕû¸öÉÈÇø£¨64 KB£©Ö´ÐжÁ£¯²Á³ý£¯Ð´Àý³Ì ¡ª ÕâÑù×öµÄЧÂʷdz£µÍ¡£ÒªÊÇÔËÆø²î£¬µ±ÕýÔÚ DRAM Öкϲ¢Êý¾Ýʱ£¬·¢ÉúÁ˵çÔ´¹ÊÕÏ»òÆäËüʹʣ¬ÄÇô½«¶ªÊ§Õû¸öÊý¾Ý¼¯ºÏ£¬ÒòΪÔÚ½«Êý¾Ý¶ÁÈë DRAM ºó¾Í²Á³ýÁËÉÁ´æÉÈÇø¡£JFFS2 ¸½¼ÓÎļþ¶ø²»ÊÇÖØÐ´Õû¸öÉÈÇø£¬²¢ÇÒ¾ßÓбÀÀ££¯µôµç°²È«±£»¤ÕâÒ»¹¦ÄÜ¡£ NTKLinuxÁªÃË

¡¤Õâ¿ÉÄÜÊÇ×îÖØÒªµÄÒ»µã£ºJFFS2 ÊÇרÃÅΪÏóÉÁ´æÐ¾Æ¬ÄÇÑùµÄǶÈëʽÉ豸´´½¨µÄ£¬ËùÒÔËüµÄÕû¸öÉè¼ÆÌṩÁ˸üºÃµÄÉÁ´æ¹ÜÀí¡£ NTKLinuxÁªÃË

ÒòΪ±¾ÎÄÖ÷ÒªÊÇд¹ØÓÚÉÁ´æÉ豸µÄʹÓã¬ËùÒÔÔÚǶÈëʽ»·¾³ÖÐʹÓà JFFS2 µÄȱµãºÜÉÙ£º NTKLinuxÁªÃË

µ±ÎļþϵͳÒÑÂú»ò½Ó½üÂúʱ£¬JFFS2 »á´ó´ó·ÅÂýÔËÐÐËÙ¶È¡£ÕâÊÇÒòΪÀ¬»øÊÕ¼¯µÄÎÊÌ⣨¸ü¶àÐÅÏ¢£¬Çë²ÎÔIJο¼×ÊÁÏ£©¡£ NTKLinuxÁªÃË

´´½¨ JFFS2 Îļþϵͳ NTKLinuxÁªÃË

ÔÚ Linux Ï£¬Óà mkfs.jffs2 ÃüÁî´´½¨ JFFS2 Îļþϵͳ£¨»ù±¾ÉÏÊÇʹÓà JFFS2 µÄ Ramdisk£©¡£ NTKLinuxÁªÃË

Çåµ¥ 7. ´´½¨ JFFS2 Îļþϵͳ mkdir jffsfile NTKLinuxÁªÃË

cd jffsfile NTKLinuxÁªÃË

/* copy all the /bin, /etc, /usr/bin, /sbin/ binaries and /dev entries NTKLinuxÁªÃË

that are needed for the filesystem here */ NTKLinuxÁªÃË

/* Type the following command under jffsfile directory to create the JFFS2 Image */ NTKLinuxÁªÃË

./mkfs.jffs2 -e 0x40000 -p -o ../jffs.image NTKLinuxÁªÃË

ÉÏÃæÏÔʾÁË mkfs.jffs2 µÄµäÐÍÓ÷¨¡£-e Ñ¡ÏîÈ·¶¨ÉÁ´æµÄ²Á³ýÉÈÇø´óС£¨Í¨³£ÊÇ 64 ǧ×Ö½Ú£©¡£-p Ñ¡ÏîÓÃÀ´ÔÚÓ³ÏñµÄÊ£Óà¿Õ¼äÓÃÁãÌî³ä¡£-o Ñ¡ÏîÓÃÓÚÊä³öÎļþ£¬Í¨³£ÊÇ JFFS2 ÎļþϵͳӳÏñ ¡ª ÔÚ±¾ÀýÖÐÊÇ jffs.image¡£Ò»µ©´´½¨ÁË JFFS2 Îļþϵͳ£¬Ëü¾Í±»×°ÈëÉÁ´æÖÐÊʵ±µÄλÖã¨Òýµ¼×°ÔسÌÐò¸æÖªÄں˲éÕÒÎļþϵͳµÄµØÖ·£©ÒÔ±ãÄÚºËÄܹÒ×°Ëü¡£ NTKLinuxÁªÃË

tmpfs NTKLinuxÁªÃË

µ± Linux ÔËÐÐÓÚǶÈëʽÉ豸ÉÏʱ£¬¸ÃÉ豸¾Í³ÉΪ¹¦ÄÜÆëÈ«µÄµ¥Ôª£¬Ðí¶àÊØ»¤½ø³Ì»áÔÚºǫ́ÔËÐв¢Éú³ÉÐí¶àÈÕÖ¾ÏûÏ¢¡£ÁíÍ⣬ËùÓÐÄÚºËÈÕÖ¾¼Ç¼»úÖÆ£¬Ïó syslogd¡¢dmesg ºÍ klogd£¬»áÔÚ /var ºÍ /tmp Ŀ¼ÏÂÉú³ÉÐí¶àÏûÏ¢¡£ÓÉÓÚÕâЩ½ø³Ì²úÉúÁË´óÁ¿Êý¾Ý£¬ËùÒÔÔÊÐí½«ËùÓÐÕâЩд²Ù×÷¶¼·¢ÉúÔÚÉÁ´æÊDz»¿ÉÈ¡µÄ¡£ÓÉÓÚÔÚÖØÐÂÒýµ¼Ê±ÕâЩÏûÏ¢²»ÐèÒª³Ö¾Ã´æ´¢£¬ËùÒÔÕâ¸öÎÊÌâµÄ½â¾ö·½°¸ÊÇʹÓà tmpfs¡£ NTKLinuxÁªÃË

tmpfs ÊÇ»ùÓÚÄÚ´æµÄÎļþϵͳ£¬ËüÖ÷ÒªÓÃÓÚ¼õÉÙ¶ÔϵͳµÄ²»±ØÒªµÄÉÁ´æÐ´²Ù×÷ÕâһΨһĿµÄ¡£ÒòΪ tmpfs פÁôÔÚ RAM ÖУ¬ËùÒÔд£¯¶Á£¯²Á³ýµÄ²Ù×÷·¢ÉúÔÚ RAM Öжø²»ÊÇÔÚÉÁ´æÖС£Òò´Ë£¬ÈÕÖ¾ÏûϢдÈë RAM ¶ø²»ÊÇÉÁ´æÖУ¬ÔÚÖØÐÂÒýµ¼Ê±²»»á±£ÁôËüÃÇ¡£tmpfs »¹Ê¹ÓôÅÅ̽»»»¿Õ¼äÀ´´æ´¢£¬²¢ÇÒµ±Îª´æ´¢Îļþ¶øÇëÇóÒ³ÃæÊ±£¬Ê¹ÓÃÐéÄâÄڴ棨VM£©×Óϵͳ¡£ NTKLinuxÁªÃË

tmpfs µÄÓŵã°üÀ¨£º NTKLinuxÁªÃË

¶¯Ì¬Îļþϵͳ´óС ¡ª Îļþϵͳ´óС¿ÉÒÔ¸ù¾Ý±»¸´ÖÆ¡¢´´½¨»òɾ³ýµÄÎļþ»òĿ¼µÄÊýÁ¿À´Ëõ·Å¡£Ê¹µÃÄܹ»×îÀíÏëµØÊ¹ÓÃÄÚ´æ¡£ NTKLinuxÁªÃË

ËÙ¶È ¡ª ÒòΪ tmpfs פÁôÔÚ RAM£¬ËùÒÔ¶ÁºÍд¼¸ºõ¶¼ÊÇ˲ʱµÄ¡£¼´Ê¹ÒÔ½»»»µÄÐÎʽ´æ´¢Îļþ£¬I/O ²Ù×÷µÄËÙ¶ÈÈԷdz£¿ì¡£ NTKLinuxÁªÃË

tmpfs µÄÒ»¸öȱµãÊǵ±ÏµÍ³ÖØÐÂÒýµ¼Ê±»á¶ªÊ§ËùÓÐÊý¾Ý¡£Òò´Ë£¬ÖØÒªµÄÊý¾Ý²»ÄÜ´æ´¢ÔÚ tmpfs ÉÏ¡£ NTKLinuxÁªÃË

¹Ò×° tmpfs NTKLinuxÁªÃË

ÖîÈç Ext2fs ºÍ JFFS2 µÈ´ó¶àÊýÆäËüÎļþϵͳ¶¼×¤ÁôÔڵײã¿éÉ豸֮ÉÏ£¬¶ø tmpfs ÓëËüÃDz»Í¬£¬ËüÖ±½ÓλÓÚ VM ÉÏ¡£Òò¶ø£¬¹Ò×° tmpfs ÎļþϵͳÊǺܼòµ¥µÄÊ£º NTKLinuxÁªÃË

Çåµ¥ 8. ¹Ò×° tmpfs /* Entries in /etc/rc.d/rc.sysinit for creating/using tmpfs */ NTKLinuxÁªÃË

# mount -t tmpfs tmpfs /var -o size=512k NTKLinuxÁªÃË

# mkdir -p /var/tmp NTKLinuxÁªÃË

# mkdir -p /var/log NTKLinuxÁªÃË

# ln -s /var/tmp /tmp NTKLinuxÁªÃË

ÉÏÃæµÄÃüÁÔÚ /var ÉÏ´´½¨ tmpfs ²¢½« tmpfs µÄ×î´ó´óСÏÞÖÆÎª 512 K¡£Í¬Ê±£¬tmp/ ºÍ log/ Ŀ¼³ÉΪ tmpfs µÄÒ»²¿·ÖÒÔ±ãÔÚ RAM Öд洢ÈÕÖ¾ÏûÏ¢¡£ NTKLinuxÁªÃË

Èç¹ûÄúÏ뽫 tmpfs µÄÒ»¸öÏîÌí¼Óµ½ /etc/fstab£¬ÄÇôËü¿ÉÄÜ¿´ÆðÀ´ÏóÕâÑù£º NTKLinuxÁªÃË

tmpfs /var tmpfs size=32m 0 0 NTKLinuxÁªÃË

Õ⽫ÔÚ /var ÉϹÒ×°Ò»¸öÐ嵀 tmpfs Îļþϵͳ¡£ NTKLinuxÁªÃË

ͼÐÎÓû§½çÃæ£¨GUI£©Ñ¡Ïî NTKLinuxÁªÃË

´ÓÓû§µÄ¹ÛµãÀ´¿´£¬Í¼ÐÎÓû§½çÃæ£¨GUI£©ÊÇϵͳµÄÒ»¸ö×îÖÁ¹ØÖØÒªµÄ·½Ã棺Óû§Í¨¹ý GUI Óëϵͳ½øÐн»»¥¡£ËùÒÔ GUI Ó¦¸ÃÒ×ÓÚʹÓò¢Çҷdz£¿É¿¿¡£µ«Ëü»¹ÐèÒªÊÇÓÐÄÚ´æÒâʶµÄ£¬ÒÔ±ãÔÚÄÚ´æÊÜÏ޵ġ¢Î¢ÐÍǶÈëʽÉ豸ÉÏ¿ÉÒÔÎÞ·ìÖ´ÐС£ËùÒÔ£¬ËüÓ¦¸ÃÊÇÇáÁ¿¼¶µÄ£¬²¢ÇÒÄܹ»¿ìËÙ×°Èë¡£ NTKLinuxÁªÃË

ÁíÒ»¸öÒª¿¼ÂǵÄÖØÒª·½ÃæÉæ¼°Ðí¿ÉÖ¤ÎÊÌ⡣һЩ GUI ·Ö·¢°æ¾ßÓÐÔÊÐíÃâ·ÑʹÓõÄÐí¿ÉÖ¤£¬ÉõÖÁÔÚһЩÉÌÒµ²úÆ·ÖÐÒ²ÊÇÈç´Ë¡£ÁíһЩÐí¿ÉÖ¤ÒªÇóÈç¹ûÏ뽫 GUI ºÏ²¢ÈëÏîÄ¿ÖÐÔòÒªÖ§¸¶°æË°¡£ NTKLinuxÁªÃË

×îºó£¬´ó¶àÊý¿ª·¢ÈËÔ±¿ÉÄÜ»áÑ¡Ôñ XFree86£¬ÒòΪ XFree86 ΪËûÃÇÌṩÁËÒ»¸öÄÜʹÓÃËûÃÇϲ»¶µÄ¹¤¾ßµÄÊìϤ»·¾³¡£µ«ÊÇÊг¡ÉϽÏÐ嵀 GUI£¬Ïó Century Software µÄ Microwindows£¨Nano-X£©ºÍ Trolltech µÄ QT/Embedded£¬Óë X ÔÚǶÈëʽ Linux µÄ¾º¼¼Îę̀ÖÐÕ¹¿ªÁ˼¤ÁÒ¾ºÕù£¬ÕâÖ÷ÒªÊÇÒòΪËüÃÇÕ¼ÓúÜÉÙµÄ×ÊÔ´¡¢Ö´ÐеÄËٶȺܿ첢ÇÒ¾ßÓж¨ÖÆ´°¿Ú¹¹¼þµÄÖ§³Ö¡£ NTKLinuxÁªÃË

ÈÃÎÒÃÇ¿´Ò»¿´ÕâЩѡÏîÖеÄÿһ¸ö¡£ NTKLinuxÁªÃË

Xfree86 4.X£¨´øÖ¡»º³åÇøÖ§³ÖµÄ X11R6.4£© NTKLinuxÁªÃË

XFree86 Project, Inc. ÊÇÒ»¼ÒÉú²ú XFree86 µÄ¹«Ë¾£¬¸Ã²úÆ·ÊÇÒ»¸ö¿ÉÒÔÃâ·ÑÖØ¸´·Ö·¢¡¢¿ª·ÅÔ´ÂëµÄ X Window ϵͳ¡£X Window ϵͳ£¨X11£©ÎªÓ¦ÓóÌÐòÒÔͼÐη½Ê½½øÐÐÏÔʾÌṩÁË×ÊÔ´£¬²¢ÇÒËüÊÇ UNIX ºÍÀà UNIX µÄ»úÆ÷ÉÏ×î³£ÓõĴ°¿Úϵͳ¡£ËüºÜСµ«ºÜÓÐЧ£¬ËüÔËÐÐÔÚΪÊýÖÚ¶àµÄÓ²¼þÉÏ£¬Ëü¶ÔÍøÂç͸Ã÷²¢ÇÒÓÐÁ¼ºÃµÄÎĵµËµÃ÷¡£X11 Ϊ´°¿Ú¹ÜÀí¡¢Ê¼þ´¦Àí¡¢Í¬²½ºÍ¿Í»§»ú¼äͨÐÅÌṩǿ´óµÄ¹¦ÄÜ ¡ª ²¢ÇÒ´ó¶àÊý¿ª·¢ÈËÔ±ÒѾ­ÊìϤÁËËüµÄ API¡£Ëü¾ßÓжÔÄÚºËÖ¡»º³åÇøµÄÄÚÖÃÖ§³Ö£¬²¢Õ¼Ó÷dz£ÉÙµÄ×ÊÔ´ ¡ª Õâ·Ç³£ÓÐÖúÓÚÄÚ´æÏà¶Ô½ÏÉÙµÄÉ豸¡£X ·þÎñÆ÷Ö§³Ö VGA ºÍ·Ç VGA ͼÐ﨣¬Ëü¶ÔÑÕÉ«Éî¶È 1¡¢2¡¢4¡¢8¡¢16 ºÍ 32 Ìṩ֧³Ö£¬²¢¶ÔäÖȾÌṩÄÚÖÃÖ§³Ö¡£×îеķ¢ÐаæÊÇ XFree86 4.1.0¡£ NTKLinuxÁªÃË

ËüµÄÓŵã°üÀ¨£º NTKLinuxÁªÃË

Ö¡»º³åÇøÌåϵ½á¹¹µÄʹÓÃÌá¸ßÁËÐÔÄÜ¡£ NTKLinuxÁªÃË

Õ¼ÓõÄ×ÊÔ´Ïà¶ÔºÜС ¡ª ´óСÔÚ 600 K µ½ 700 K ×ֽڵķ¶Î§ÄÚ£¬ÕâʹËüºÜÈÝÒ×ÔÚСÐÍÉ豸ÉÏÔËÐС£ NTKLinuxÁªÃË

·Ç³£ºÃµÄÖ§³Ö£ºÔÚÏßÓÐÐí¶àÎĵµ¿ÉÓ㬻¹ÓÐÐí¶àרÓÃÓÚ XFree86 ¿ª·¢µÄÓʵÝÁÐ±í¡£ NTKLinuxÁªÃË

X API ·Ç³£ÊʺÏÀ©Õ¹¡£ NTKLinuxÁªÃË

ËüµÄȱµã°üÀ¨£º NTKLinuxÁªÃË

±È×î½ü³öÏÖµÄǶÈëʽ GUI ¹¤¾ßÐÔÄܲ NTKLinuxÁªÃË

´ËÍ⣬µ±Óë GUI ÖÐ×îеĿª·¢ ¡ª ÏóרÃÅΪǶÈëʽ»·¾³Éè¼ÆµÄ Nano-X »ò QT/Embedded ¡ª Ïà±Èʱ£¬XFree86 ËÆºõÐèÒª¸ü¶àµÄÄÚ´æ¡£ NTKLinuxÁªÃË

Microwindows NTKLinuxÁªÃË

Microwindows ÊÇ Century Software µÄ¿ª·ÅÔ´´úÂëÏîÄ¿£¬Éè¼ÆÓÃÓÚ´øÐ¡ÐÍÏÔʾµ¥ÔªµÄ΢ÐÍÉ豸¡£ËüÓÐÐí¶àÕë¶ÔÏÖ´úͼÐÎÊÓ´°»·¾³µÄ¹¦Äܲ¿¼þ¡£Ïó X Ò»Ñù£¬ÓжàÖÖÆ½Ì¨Ö§³Ö Microwindows¡£ NTKLinuxÁªÃË

Microwindows Ìåϵ½á¹¹ÊÇ»ùÓÚ¿Í»§»ú£¯·þÎñÆ÷µÄ²¢ÇÒ¾ßÓзֲãÉè¼Æ¡£×îµ×²ãÊÇÆÁÄ»ºÍÊäÈëÉ豸Çý¶¯³ÌÐò£¨¹ØÓÚ¼üÅÌ»òÊó±ê£©À´Óëʵ¼ÊÓ²¼þ½»»¥¡£ÔÚÖмä²ã£¬¿ÉÒÆÖ²µÄͼÐÎÒýÇæÌṩ¶ÔÏߵĻæÖÆ¡¢ÇøÓòµÄÌî³ä¡¢¶à±ßÐΡ¢²Ã¼ôÒÔ¼°ÑÕɫģÐ͵ÄÖ§³Ö¡£ NTKLinuxÁªÃË

ÔÚ×îÉϲ㣬Microwindows Ö§³ÖÁ½ÖÖ API£ºWin32/WinCE API ʵÏÖ£¬³ÆÎª Microwindows£»ÁíÒ»ÖÖ API Óë GDK ·Ç³£ÏàËÆ£¬Ëü³ÆÎª Nano-X¡£Nano-X ÓÃÔÚ Linux ÉÏ¡£ËüÊÇÏó X µÄ API£¬ÓÃÓÚÕ¼ÓÃ×ÊÔ´ÉÙµÄÓ¦ÓóÌÐò¡£ NTKLinuxÁªÃË

Microwindows Ö§³Ö 1¡¢2¡¢4 ºÍ 8 bpp£¨Ã¿ÏñËØµÄλÊý£©µÄ palletized ÏÔʾ£¬ÒÔ¼° 8¡¢16¡¢24 ºÍ 32 bpp µÄÕæ²ÊÉ«ÏÔʾ¡£Microwindows »¹Ö§³ÖʹËüËٶȸü¿ìµÄÖ¡»º³åÇø¡£Nano-X ·þÎñÆ÷Õ¼ÓõÄ×ÊÔ´´óÔ¼ÔÚ 100 K µ½ 150 K ×Ö½Ú¡£ NTKLinuxÁªÃË

ԭʼ Nano-X Ó¦ÓóÌÐòµÄƽ¾ù´óСÔÚ 30 K µ½ 60 K¡£ÓÉÓÚ Nano-X ÊÇΪÓÐÄÚ´æÏÞÖÆµÄµÍ¶ËÉ豸Éè¼ÆµÄ£¬ËùÒÔËü²»Ïó X ÄÇÑùÖ§³ÖºÜ¶àº¯Êý£¬Òò´ËËüʵ¼ÊÉϲ»ÄÜ×÷Ϊ΢ÐÍ X£¨Xfree86 4.1£©µÄÌæ´úÆ·¡£ NTKLinuxÁªÃË

¿ÉÒÔÔÚ Microwindows ÉÏÔËÐÐ FLNX£¬ËüÊÇÕë¶Ô Nano-X ¶ø²»ÊÇ X ½øÐÐÐÞ¸ÄµÄ FLTK£¨¿ìËÙÇáÇɹ¤¾ßÏä(Fast Light Toolkit)£©Ó¦ÓóÌÐò¿ª·¢»·¾³µÄÒ»¸ö°æ±¾¡£±¾ÎÄÖÐÃèÊö FLTK¡£ NTKLinuxÁªÃË

Nano-X µÄÓŵã°üÀ¨£º NTKLinuxÁªÃË

Óë Xlib ʵÏÖ²»Í¬£¬Nano-X ÈÔÔÚÿ¸ö¿Í»§»úÉÏͬ²½ÔËÐУ¬ÕâÒâζ×ÅÒ»µ©·¢ËÍÁ˿ͻ§»úÇëÇó°ü£¬·þÎñÆ÷ÔÚΪÁíÒ»¸ö¿Í»§»úÌṩ·þÎñ֮ǰһֱµÈ´ý£¬Ö±µ½Õû¸ö°ü¶¼µ½´ïΪֹ¡£Õâʹ·þÎñÆ÷´úÂë·Ç³£¼òµ¥£¬¶øÔËÐеÄËÙ¶ÈÈԷdz£¿ì¡£ NTKLinuxÁªÃË

Õ¼ÓúÜСµÄ×ÊÔ´ NTKLinuxÁªÃË

Nano-X µÄȱµã°üÀ¨£º NTKLinuxÁªÃË

ÁªÍø¹¦Äܲ¿¼þÖÁ½ñûÓо­¹ýÊʵ±µØµ÷Õû£¨ÌرðÊÇÍøÂç͸Ã÷ÐÔ£©¡£ NTKLinuxÁªÃË

»¹Ã»ÓÐÌ«¶àÏֳɵÄÓ¦ÓóÌÐò¿ÉÓᣠNTKLinuxÁªÃË

Óë X Ïà±È£¬Nano-X ËäÈ»½üÀ´ÕýÔÚ¼ÓËÙ¿ª·¢£¬µ«ÈÔûÓÐÄÇô¶àÎĵµËµÃ÷¶øÇÒûÓкܺõÄÖ§³Ö£¬µ«ÕâÖÖÇéÐλáÓÐËù¸Ä±ä¡£ NTKLinuxÁªÃË

Microwindows É쵀 FLTK API NTKLinuxÁªÃË

FLTK ÊÇÒ»¸ö¼òµ¥µ«Áé»îµÄ GUI ¹¤¾ßÏ䣬ËüÔÚ Linux ÊÀ½çÖÐÓ®µÃÔ½À´Ô½¶àµÄ¹Ø×¢£¬ËüÌØ±ðÊÊÓÃÓÚÕ¼ÓÃ×ÊÔ´ºÜÉٵĻ·¾³¡£ËüÌṩÁËÄúÆÚÍû´Ó GUI ¹¤¾ßÏäÖлñµÃµÄ´ó¶àÊý´°¿Ú¹¹¼þ£¬Èç°´Å¥¡¢¶Ô»°¿ò¡¢Îı¾¿òÒÔ¼°³öÉ«µÄ¡°¸³ÖµÆ÷¡±Ñ¡Ôñ£¨ÓÃÓÚÊäÈëÊýÖµµÄ´°¿Ú¹¹¼þ£©¡£»¹°üÀ¨»¬¶¯Æ÷¡¢¹ö¶¯Ìõ¡¢¿Ì¶ÈÅÌºÍÆäËüһЩ¹¹¼þ¡£ NTKLinuxÁªÃË

Õë¶Ô Microwindows GUI ÒýÇæµÄ FLTK µÄ Linux °æ±¾±»³ÆÎª FLNX¡£FLNX ÓÉÁ½¸ö×é¼þ¹¹³É£ºFl_Widget ºÍ FLUID¡£Fl_Widget ÓÉËùÓлù±¾´°¿Ú¹¹¼þ API ×é³É¡£FLUID£¨¿ìËÙÇáÇɵÄÓû§½çÃæÉè¼ÆÆ÷(Fast Light User Interface Designer, FLUID)£©ÊÇÓÃÀ´²úÉú FLTK Ô´´úÂëµÄͼÐα༭Æ÷¡£×ܵÄÀ´Ëµ£¬FLNX ÊÇÄÜÓÃÀ´ÎªÇ¶Èëʽ»·¾³´´½¨Ó¦ÓóÌÐòµÄÒ»¸ö³öÉ«µÄ UI ¹¹½¨Æ÷¡£ NTKLinuxÁªÃË

Fl_Widget Õ¼ÓõÄ×ÊÔ´´óÔ¼ÊÇ 40 K µ½ 48 K£¬¶ø FLUID£¨°üÀ¨ÁËÿ¸ö´°¿Ú¹¹¼þ£©´óÔ¼Õ¼Óà 380 K¡£ÕâЩ·Ç³£Ð¡µÄ×ÊÔ´Õ¼ÓÃÂÊʹ Fl_Widget ºÍ FLUID ÔÚǶÈëʽ¿ª·¢ÊÀ½çÖзdz£ÊÜ»¶Ó­¡£ NTKLinuxÁªÃË

Óŵã°üÀ¨£º NTKLinuxÁªÃË

ϰ¹ßÓÚÔÚÏó Windows ÕâÑùÒѽ¨Á¢µÃ½ÏºÃµÄ»·¾³Öпª·¢»ùÓÚ GUI µÄÓ¦ÓóÌÐòµÄÈκÎÈ˶¼»á·Ç³£ÈÝÒ×µØÊÊÓ¦ FLTK »·¾³¡£ NTKLinuxÁªÃË

ËüµÄÎĵµ°üÀ¨Ò»±¾Ê®·ÖÍêÕûÇÒ±àдÁ¼ºÃµÄÊֲᡣ NTKLinuxÁªÃË

ËüʹÓà LGPL ½øÐзַ¢£¬ËùÒÔ¿ª·¢ÈËÔ±¿ÉÒÔÁé»îµØ·¢·ÅËûÃÇÓ¦ÓóÌÐòµÄÐí¿ÉÖ¤¡£ NTKLinuxÁªÃË

FLTK ÊÇÒ»¸ö C++ ¿â£¨Perl ºÍ Python °ó¶¨Ò²¿ÉÓã©¡£ÃæÏò¶ÔÏóÄ£Ð͵ÄÑ¡ÔñÊÇÒ»¸öºÃµÄÑ¡Ôñ£¬ÒòΪ´ó¶àÊýÏÖ´ú GUI »·¾³¶¼ÊÇÃæÏò¶ÔÏóµÄ£»ÕâҲʹ½«±àдµÄÓ¦ÓóÌÐòÒÆÖ²µ½ÀàËÆµÄ API ÖбäµÃ¸üÈÝÒס£ NTKLinuxÁªÃË

Century Software µÄ»·¾³ÌṩÁ˼¸¸öÓÐÓõŤ¾ß£¬ÖîÈç ScreenToP ºÍ ViewML ä¯ÀÀÆ÷¡

À´¶¥Ò»ÏÂ
½ü»ØÊ×Ò³
·µ»ØÊ×Ò³
·¢±íÆÀÂÛ ¹²ÓÐÌõÆÀÂÛ
Óû§Ãû: ÃÜÂë:
ÑéÖ¤Âë: ÄäÃû·¢±í
Ïà¹ØÎÄÕÂ
    ÎÞÏà¹ØÐÅÏ¢
À¸Ä¿¸üÐÂ
À¸Ä¿ÈÈÃÅ