ºìÁªLinuxÃÅ»§
Linux°ïÖú

isolinux

·¢²¼Ê±¼ä:2007-10-20 00:40:16À´Ô´:ºìÁª×÷Õß:wmbodbc
ÓÃSYSLINUX»òISOLINUXÖÆ×÷Æô¶¯UÅÌ»ò¹âÅÌ

Ò»¡¢Òýµ¼³ÌÐò¸ÅÊö
ÈκÎÒ»¸ö²Ù×÷ϵͳÔÚÈκÎÒ»¸öÓ²¼þƽ̨ÉϵÄÔËÐж¼ÐèÒªÒ»¸öÒýµ¼µÄ¹ý³Ì£¬¼´£¬³õʼ»¯Èí¼þ»·¾³¡¢°ÑÄں˴Ӵ洢½éÖʷŵ½ÄÚ´æµ±ÖÐÈ¥£¬²¢¿ªÊ¼ÔËÐС£µ±È»¶ÔÓÚijЩ¼òµ¥ÈíÓ²¼þϵͳ£¬Õâ¸ö¹ý³Ì¿ÉÄܼ°Æä¼òµ¥£¬¶ø¶ÔÓÚ PC ¾ÍÒªÂÔ΢¸´ÔÓһЩÁË¡£

PC µÄÒýµ¼³ÌÐòÉϳРBIOS£¬Ï½ÓÄں˵ijõʼ»¯´úÂ룬ËäÈ»¿ªÒ»´Î»úÖ»ÔËÐÐÒ»´Îºó¾Í²»ÁôºÛ¼£ÁË£¬²»¹ý»¹ÊÇÏàµ±ÖØÒªµÄ¡£ËùÓеÄÒýµ¼³ÌÐò¶¼ÔÚ×öÀàËÆµÄÊÂÇé:

פÁôÔÚ´æÖü½éÖʵÄÌØÊâλÖÿÉÒÔ±» BIOS Æô¶¯£¬»òÊÇ×Ô¼ºÊÇijһϵͳµÄ¿ÉÖ´ÐÐÎļþ£¬¿ÉÒÔ±»Óû§ÏÔʽ»òÒþʽÔÚ¸Ãϵͳ£¨ËÞÖ÷ϵͳ£©ÄÚÆô¶¯£»Á˽âÒª±»Æô¶¯µÄ±ØÒªÆô¶¯ÎļþµÄλÖ㬰üÀ¨ÏµÍ³Äںˡ¢ramdisk µÈ£¬²¢°ÑËüÃǶÁÈ¡³öÀ´¡¢×°Ôص½ÄÚ´æÖ®ÖУ»¹¹Ôì»·¾³¡¢ÔËÐвÙ×÷ϵͳµÄÄںˣ¬×Ô¼ºÔò¾Í´ËÍ˳öÀúÊ·Îę̀¡£

ÀúÊ·ÉÏ£¬ÓÃÓÚ Linux µÄ×îÖøÃûµÄÒýµ¼³ÌÐòιýÓÚ LILO ºÍ Grub ÁË£¬×÷ΪͨÓõÄÒýµ¼³ÌÐò£¬¶þÕßÓÃ;¹ã·º£¬µ«¶ÔÓÚÒ»Ð©ÌØÊâµÄ³¡ºÏ£¬Æ©ÈçÒýµ¼³ÌÐò¿ÉÀûÓõĿռä±È½ÏÓÐÏ޵ĿÉÒÆ¶¯´æ´¢½éÖÊ (ͨË×µØËµ£¬°üÀ¨¹âÅÌ¡¢ÈíÅÌ¡¢u Å̵È)£¬ËüÃÇÓÐЩ¹ýÓÚºñÖØÁË£¬Õâ¾ÍÒý³öÁËÎÒÃǽñÌìµÄÖ÷½Ç --- SYSLINUX/ISOLINUX£¬ÏÖÔÚ£¬ÄãÖ»ÒªÖªµÀËûÃÇÊÇÒýµ¼³ÌÐò¾Í×ã¹»ÁË£¬½ÓÏÂÀ´£¬ÎÒÃÇ»¹Òª²åÈëһЩ·Ï»°¡£

¶þ¡¢initrd
initrd = init ramdisk, ¹ËÃû˼Ò壬¾ÍÊÇÔÚÆô¶¯Ê±Ê¹ÓõÄÒ»¸öÄÚ´æÐéÄâ´ÅÅÌ£¬ËüÊÇϵͳ¹ã·ºµÄÓ²¼þÖ§³ÖÐԵıØÐèÆ·¡£

ÎÒÃÇÖªµÀ£¬Linux µÄÇý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬ËüÃÇÌṩÁËÓ²¼þÏòÉϲãµÄ³éÏó½Ó¿Ú£¬Linux Äں˵ĺËÐÄ×Óϵͳ --- ÐéÄâÎļþϵͳ²¿·ÖµÄ¹¤×÷Ç¿ÁÒÒÀÀµÓڵײãÓ²¼þÇý¶¯³ÌÐòµÄÖ§³Ö£¬ÔÚÆô¶¯¹ý³Ìµ±ÖУ¬µ±Ä³Ð©±Ø±¸µÄÇý¶¯³ÌÐòÎÞ·¨Ê¹ÓõÄʱºò£¬±ÈÈç EXT2 Îļþϵͳ¡¢IDE Ó²ÅÌÊÊÅäÆ÷µÈÎÞ·¨¹¤×÷µÄʱºò£¬ÏµÍ³Æô¶¯½«¾Í´ËÖÐÖ¹£¬·¢ÉúËùνµÄ``Kernel Panic''£¬ÕâÒ²ÊdzõѧÕß±àÒëÄÚºË×î³£Óöµ½µÄÀ§ÄÑ¡£

È»¶ø£¬ÎÒÃǵ±È»²»Äܽ«ËùÓеÄÇý¶¯¶¼±àÒëµ½Äں˵±ÖÐÈ¥£¬ÒòΪÎÒÃDz»ÄÜÎÞÏÞÖÆµØ¼Ó´óÄں˵ijߴ磬Õâ¶ÔÓÚϵͳ×ÊÔ´£¬ÓÈÆäÊÇÒýµ¼¹ý³ÌÖзdz£ÓÐÏ޵ĿÉÓô洢×ÊÔ´ÊÇÄÑÒÔ³ÐÊܵġ£ÎÒÃÇ¿ÉÒ԰ѺܶàÇý¶¯³ÌÐò±àÒë³ÉÄ£¿é£¬ËæÓÃËæ¼ÓÔØ¼«ÉÙÊýÇé¿ö£¬Ä³Ð©Ä£¿éÊÇÏ໥³åÍ»µÄ£¬±ÈÈç 2.4 Äں˵ÄijЩ°æ±¾Ö®ÖУ¬reiserfs ºÍ ext3 Á½ÖÖÇý¶¯²»ÄÜͬʱ±»±àÒëµ½Äں˵±ÖС£ËùÒÔ£¬ÎÒÃÇÖ»ÄÜÔÚÄÚºËÖзÅÈë±ØÒªµÄÇý¶¯³ÌÐò£¬ÆäÓàµÄ²»ÄÇôÐèÒªµÄ²¿·Ö±àÒë³ÉÄ£¿é·Åµ½ /lib/modules/`uname -r`/ Ö®ÖУ¬ÔÚÐèÒªµÄʱºò»á±»¼ÓÔØ¡£

µ«ÊÇ£¬¶ÔÓÚ¾ßÓÐͨÓÃÐÔµÄÄںˣ¬ÊǺÜÄÑÂ۶ϳöÄļ¸ÖÖÇý¶¯³ÌÐò²ÅÊÇÕæÕý±ØÐëµÄ£¬¾¿¾¹ÊÇ Intel µÄ IDE ´ÅÅÌ¿ØÖÆÆ÷»¹ÊÇ AMD/nVidia µÄ£¬ÒÖ»òÊÇ VIA µÄ£¬ÄËÖÁ¹âÏËͨµÀSCSI ´ÅÅÌ¡­¡­Êǰ¢£¬ÕâÕæÊǸöºÜÀ§ÈÅÈ˵ÄÎÊÌ⣬ûÓÐÒ»¸öÇý¶¯¿ÉÒÔÔÚÕ¼Óþø¶ÔÉٵĿռäµÄǰÌáÏÂÓ¦¸¶ËùÓеÄÉ豸£¬ÓÚÊÇ£¬ÎÒÃÇÍ˶øÇóÆä´Î£¬Ñ°ÇóÒ»¸öÖмä½éÖÊ --- ramdisk

ÔÚÄÚºËÆô¶¯Ç°£¬Òýµ¼³ÌÐòÊ×ÏÈÔÚÄÚ´æÖ®Öй¹½¨Ò»¸ö ramdisk£¬³ÉΪһ¸ö»ù±¾Îļþϵͳ£¬È»ºó Linux ÄÚºËÒÔ´ËΪ×Ô¼ºµÄ¸ùÎļþϵͳÆô¶¯£¬ÕâÑùµÄºÃ´¦ÊÇ¿ÉÒÔ²»±ØÀí»á´ÅÅÌÇý¶¯µÄÎÊÌ⣬ֻҪÄÜÇý¶¯ ramdisk ¾Í¿ÉÒÔÁË¡£

Óà ramdisk Æô¶¯Ö®ºó£¬ÔÚ ramdisk µÄÆô¶¯½Å±¾ (Ò»°ã½Ð /linuxrc) Ö®ÖУ¬Õë¶ÔÓ²¼þ³¢ÊÔ ramdisk ÀïÃæµÄ /lib/modules/`uname -r`/£¬¼ÓÔØÇ¡µ±µÄÇý¶¯£¬ÕâʱϵͳÒѾ­¾ß±¸ÁËÇл»µ½Ó²ÅÌ»òÆäËû½éÖÊÉϵÄÎļþϵͳµÄÌõ¼þÁË¡£

»ú²»¿Éʧ£¬Õâʱ£¬ÎÒÃÇÊ×ÏȼÓÔØÓ²ÅÌ»ò¹âÅÌ¡¢u ÅÌµÈÆô¶¯½éÖÊ£¬È»ºóÉè¸Ã½éÖÊΪ¸ù·ÖÇø£¬²¢ÔËÐÐÆä init ½ø³ÌΪ 1 ½ø³Ì£¬Ö®ºó£¬ÔÚ init ½Å±¾ÖУ¬Êͷŵô initrd µÄ¿Õ¼ä£¬Õâ¾ÍÊǽèÖú initrd µÄÒýµ¼¹ý³Ì¡£ÔÚÕâ¸ö¹ý³ÌÖ®ÖÐ Òýµ¼³ÌÐò°ïÎÒÃǶà×öÁËÒ»¼þÊ --- ¹¹½¨ ramdisk, °Ñ initrd ·ÅÈëÄÚ´æ¡£

Èý¡¢Óà SYSLINUX/ISOLINUX Òýµ¼ÈíÅ̺͹âÅÌ
ÉÏÎÄÒѾ­Ëµ¹ýÁË£¬SYSLINUX/ISOLINUX ÊÇרÃÅÓÃÀ´Òýµ¼¿ÉÒÆ¶¯½éÖʵÄÇáÁ¿¼¶Òýµ¼³ÌÐò£¬ÒòΪÕâÑùµÄ½éÖÊͨ³£²»»á¹Ì¶¨Ö»Õë¶ÔÒ»ÖÖÓ²¼þ£¬initrd µ±È»ÊÇ SYSLINUX/ISOLINUX ±ØÐëÖ§³ÖµÄ¹¦ÄÜÁË¡£ÕâÁ½ÖÖÒýµ¼³ÌÐòÆäʵÊÇÒ»ÑùµÄ£¬Ã»Óжà´óÇø±ð£¬Ö»ÊÇ·ÅÔÚ²»Í¬µÄÉ豸µÄÒýµ¼Çø°ÕÁË¡£

3.1 ÅäÖÃ SYSLINUX/ISOLINUX
¶ÔÓÚÕâÁ½ÖÖÒýµ¼³ÌÐò£¬¶¼»áÓÐÒ»¶ÎÒýµ¼´úÂ룬дÈëÒýµ¼´úÂëµÄʱºò£¬»¹Í¬Ê±ÐèÒªÒ»¸öÅäÖÃÎļþ: syslinux.cfg/isolinux.cfg£¬Í¬Ñù£¬ÕâÁ½¸öÎļþÒ²ÊÇÒ»ÑùµÄ£¬Î¨Ò»µÄÇø±ðÔÚÓÚÎļþÃû£¬Æä¸÷¸ö×ֶεÄд·¨ÈçÏÂ:

DISPLAY xxx.txt
ÕâÖ¸¶¨ÁËÒ»¸öÎļþÃû£¬»áÔÚÆô¶¯µÄʱºòÏÔʾµÄÄÚÈÝ£¬¸ÃÎļþÉõÖÁ¿ÉÒÔ°üº¬Ò»¸ö RLE ±àÂëµÄͼÐÎÎļþ£¬Ò²¾ÍÊÇ´ó¼ÒÔÚ°²×°¹âÅÌÆô¶¯Ê±¿´µ½µÄÄǸö£»²»¹ýÕâ¸ö×ֶβ»ÉõÖØÒª£¬ÎÒÃǾÍÂÔ¹ýÁË¡£

DEFAULT linux
Ö¸¶¨ label ÊÇ linux µÄÆô¶¯Ñ¡ÏîΪȱʡ£¬µ±È»Ò²¿ÉÒÔÊDZðµÄ¡£

LABEL linux
kernel vmlinuz
append initrd=initrd26.gz ramdisk_size=1000000 vga=791

Õâ¾ÍÊÇÒ»¸öÆô¶¯ÃèÊö£¬Ç°ÃæµÄ label ´ó¼Ò¶¼ÈÏʶÁË£¬Ö®ºó·Ö±ðÊÇÖ¸¶¨ kernel ºÍÄں˲ÎÊý£¬ÆäÖÐÖØÒªµÄ²ÎÊý¾ÍÊÇ initrd= Ö¸¶¨ initrd µÄÎļþºÍ ramdisk_size= Ö¸¶¨ initrd µÄ³ß´çÉÏÏÞ¡£ÆäÓàµÄÄں˲ÎÊý»¹¿ÉÄÜÓкܶ࣬²»¹ýÕâÀïµÄ²ÎÊýÎÒÃÇÒ»°ã¶¼¿ÉÒÔ³­¹ýÀ´¡£ÕâÑùµÄÆô¶¯Ñ¡ÏîÃèÊöÊÇ¿ÉÒÔÓÐÈô¸É¸öµÄ¡£

PROMPT=1
ÕâÊÇ˵£¬ÏòÓû§ÌáʾÊäÈëÑ¡Ôñ£¬Ö±½Ó»Ø³µ¾ÍÊÇȱʡѡÏîÁË

TIMEOUT=0
ûÓÐʱ¼äÏÞÖÆ£¬µ±È»Ò²¿ÉÒÔÖ¸¶¨Ò»¶¨Ê±¼äÖ®ºó×Ô¶¯½øÈëȱʡѡÏî¡£

ºÃÁË£¬¾ÍÕâô¶à£¬Èç¹ûÄã»áÓà LILO µÄ»°£¬ÓÃÕâ¸öÒ»¶¨µÃÐÄÓ¦ÊÖ£¬ËµÊµ»° grub Ò²²î²»ÁËÌ«¶à¡£

3.2 °²×° SYSLINUX/ISOLINUX
ÅäÖÃÎļþдÍêÁË£¬ÏÖÔÚ½øÈëʵÖʽ׶Σ¬ÕâÀÁ½ÖÖÒýµ¼³ÌÐò»¹ÊÇÂÔÓвî±ðµÄ£¬Ê×ÏȽéÉÜSYSLINUX:

Ê×Ïȸñʽ»¯Òýµ¼½éÖÊΪ FAT16 ¸ñʽ (ÈíÅÌËÆºõÓ¦¸ÃÊÇ FAT12)£¬ÎÒÃǵÄÀý×ÓÀïÃæÊÇ U ÅÌ£¬mkdosfs -F16 -I /dev/sda

ÎÒÃÇÊDzÙ×÷Õû¸ö U ÅÌ£¬¶ø²»ÊÇÀïÃæµÄΨһ·ÖÇø£¬ÕâÖÖÇé¿ö²»ÊǺܶà¼û£¬Ö»ÊÇÊÖÉ쵀 U Å̱ȽÏÌØÊ⣬´ó²¿·ÖÇé¿öÏ£¬ÎÒÃÇÒ²¿ÉÒÔmkdosfs -F16 /dev/sda1

È»ºó¹ÒÔڸà U ÅÌ£¬·ÅÈëÎÒÃÇµÄ syslinux.cfg ÒÔ¼° kernel ºÍ initrd.gz£¬»¹ÓÐÆäËûÆô¶¯ËùÐèÒªµÄ¶«¶«£¬Ö®ºó umount ¸Ã U ÅÌ¡£

Ö´ÐÐÏÂÃæ²Ù×÷֮ǰ£¬±ØÐë umount U ÅÌ£¡*

È»ºóдÒýµ¼Çø:
syslinux /dev/sda (»ò syslinux /dev/sda1£¬Èç¹ûÊǸñʽ»¯µÄ /dev/sda1 µÄ»°)ÖÁ´Ë¾ÍÍê³ÉÁË¡£

¶ÔÓÚ¹âÅÌ£¬Í¬Ñù²»¸´ÔÓ£¬ÎÒÃÇÓà ISOLINUX:

ÔÚ×¼±¸ÖÆ×÷ ISO µÄĿ¼ÀïÌí¼ÓÒ»¸ö×ÓĿ¼£¬±ÈÈç boot/isolinux/ £¬È»ºó·ÅÈë isolinux.cfg ºÍÒ»¸ö¶ÔËùÓйâÅ̶¼Ò»ÑùµÄ isolinux ÌṩµÄÒýµ¼½éÖÊ isolinux.bin£¬µ±È»»¹Òª·ÅÈëÏàÓ¦µÄ kernel, initrd µÈµÈ£¬È»ºó£¬ÖÆ×÷ iso µÄʱºòҪʹÓà -b ²ÎÊý:

mkisofs -o output.iso \
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
for-iso-dir/

×îºóµÄ²ÎÊý¾ÍÊÇÖ¸¶¨µÄ¹âÅ̵ÄĿ¼ÁË£¬-c ²ÎÊýµÄÄǸöÎļþÊÇ×Ô¶¯Éú³ÉµÄ£¬²»ÓÃÌ«µ£ÐÄ£¬ÆäÓà²ÎÊý¶¼Êǹ̶¨µÄ¡£ÊÂʵÉÏ£¬Ò²³£³£ÓÐÈËÓà isolinux/ ¶ø²»ÊÇ boot/isolinux/ £¬Õâ¶¼ÊÇÔ¼¶¨Ë׳ɵģ¬ÄãÍêÈ«¿ÉÒÔÓÃ×Ô¼ºµÄ¡£ÕâÀïµÄ·¾¶¶¼ÊÇÏà¶ÔÓÚ¹âÅ̵ĸùµÄ£¬¶øºÍÖÆ×÷¹âÅÌʱµÄ¹¤×÷Ŀ¼ûÓйØÏµ¡£

ÖÁ´Ë£¬ÄãÒ²»áÓà SYSLINUX/ISOLINUX ÁË¡£

ËÄ¡¢ÊµÕ½ --- damn small linux + debian installer, 2 in 1 usb disk
1 ÏÂÔØ di µÄ hd-image ÀïµÄ kernel image ºÍ initrd£¬·ÅÈë U ÅÌ£¬Í¬Ê±°Ñ businesscard iso Ò²·Å½øÈ¥£¬´Ó iso ÀïÕÒµ½ isolinux.cfg£¬¼ÇÏÂÀïÃæµÄÆôÉèÖÃ

2 ÏÂÔØ dsl£¬°Ñ KNOPPIX Ŀ¼°áµ½ÎÒÃÇµÄ U ÅÌÀ°Ñ boot/isolinux/ ÀïÃæµÄ kernel image ºÍ initrd Ò²·ÅÈë U Å̵ĸùĿ¼£¬Õâʱ£¬U Å̸ùĿ¼ÀïͬʱÓжþÕߵįô¶¯ÎļþÁË£¬Ò²¼Çס dsl ÀïÃæµÄ isolinux.cfg µÄÆô¶¯Ñ¡Ïî¡£

3 ÒÔÆäÖÐÒ»¸öµÄ isolinux.cfg Ϊ»ù´¡£¬¼ÓÈëÁíÒ»¸öµÄÆô¶¯²ÎÊý£¬×¢Òâ label ÃüÃû²»Òª³åÍ»Á˾ͿÉÒÔÁË¡£

4 umount UÅÌ£¬È»ºó¶Ô U ÅÌÔËÐÐ syslinux£¬Ð´Òýµ¼Çø£¬´ó¹¦¸æ³É¡£ÈçÇ°ÃæÌû×Ó˵¹ý£¬dsl µÄ initrd Ö®ÖУ¬Ö»ËÑË÷ /dev/sda[1-9] ¶ø²»ËÑ/dev/sda£¬ËùÒÔ£¬Èç¹ûÈç¹ûÏñÎÒÃÇÒ»Ñù±»ÆÈÓà /dev/sda µÄ»°£¬¾Í²»µÃ²»ÐÞ¸ÄһϠdsl µÄ initrd ÀïÃæµÄ linuxrc ÁË£¬³ý´ËÖ®Í⣬ûÓÐʲôÆäËüÖµµÃ´óÊéÌØÊéµÄÁË¡£

Enjoy it!
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. fman ÓÚ 2009-03-25 21:34:09·¢±í:

    ѧϰ.....