LinuxÒÁµéÔ°ÂÛ̳'s Archiver

pkkj ·¢±íÓÚ 2004-9-16 22:15

ת£ºÖÆ×÷LinuxµÄÓÅÅÌÆô¶¯ÅÌ

ÖÆ×÷LinuxµÄÓÅÅÌÆô¶¯ÅÌ

2003Äê03ÔÂ14ÈÕ 09:19:47 LinuxAid  

¡¡¡¡USBÉÁ´æ´æ´¢×°ÖÃ(ÓÅÅÌ)Ò»°ãÖ»ÓÐÔ¿³×¿Û´óС£¬´æ´¢ÈÝÁ¿¶àΪ32MBºÍ64MB¡£ÓÉÓÚ¾ßÓÐÇáÇɾ«Ö¡¢Ê¹Ó÷½±ã¡¢±ãÓÚЯ´øµÈÓÅµã£¬ÌØ±ðÊǶԱÈÈíÅ̾ßÓÐÈÝÁ¿½Ï´ó¡¢°²È«¿É¿¿¡¢¶ÁÈ¡ËٶȽϿìµÈÌØÐÔ£¬Ô½À´Ô½¶àÈËʹÓÃÕâÖÖ×°ÖÃÈ¡´úÁËÈíÇýÓëÈíÅÌ£¬ÔÚPCÖ®¼ä½»»»Îļþ¡£Ä¿Ç°Ð³öµÄÖ÷°åBIOS¶¼Ö§³ÖUSBÈíÅ̺ÍÓ²ÅÌµÄÆô¶¯·½Ê½£¬ÕâÑù¶ÔÓÚWindows 98µÄϵͳά»¤Óë°²×°¹¤×÷Ô½À´Ô½·½±ã¡£µ«ÊÇ£¬³§¼Ò½öÌá¹©ÖÆ×÷Windows 98Æô¶¯Å̵ÄÖÆ×÷¹¤¾ß£¬²¢²»ÌṩlinuxÆô¶¯Å̵ÄÖÆ×÷¹¤¾ß¡£ÔÚÓÅÅÌÉϽ¨Á¢LinuxÆô¶¯ÅÌ£¬¶ÔÓÚϵͳά»¤ÈËÔ±¾ßÓиü¼ÓʵÓõÄÒâÒ壬Äã¿ÉÒÔʹÓÃLinux½¨Á¢Ð¡ÇɵÄÄںˣ¬½¨Á¢ÍøÂç»·¾³£¬¿ìËÙµØÅжϺÍÅųýÍøÂç¹ÊÕÏÓë´«ËÍÎļþ¡£±¾ÎÄÒÔRed Hat 8.0ΪÀý£¬Ê¹ÓÃÀʿƵÄË«Æô¶¯ÐÍÓÅÅ̽¨Á¢ÓÅÅ̵ÄLinuxÆô¶¯ÅÌ¡£

¡¡¡¡ÏÂÔØÏà¹ØÈí¼þ£ºe3£¬bvi£¬LiuuxÄںˡ£

±àÒëÄÚºË

¡¡¡¡Ê×ÏȼÆËã»úµÄÖ÷°å±ØÐëÒªÖ§³ÖUSBÓ²ÅÌµÄÆô¶¯·½Ê½£¬²¢ÇÒËùʹÓõÄÓÅÅÌÊÇÆô¶¯ÐÍÓÅÅÌ¡£

¡¡¡¡ÎÒÒÔLinux-2.4.20ΪÀý˵Ã÷¡£±àÒëʱһ¶¨Òª×¢Òâ²»Òª±àÒë²»±ØÒªµÄÄ£¿é£¬ÈçÉù¿¨Çý¶¯µÈÇý¶¯Ä£¿é£¬Ê¹±àÒëµÄÄں˾¡¿ÉÄÜСһЩ¡£ÓÉÓÚÒªÖ§³ÖÓÅÅÌÆô¶¯£¬±ØÐ뽫SCSIÉ豸¡¢usbcore¡¢usb-storage¡¢Loopback device support¡¢RAM disk supportºÍinitrdµÈ±àÒëµ½ÄÚºËÖС£

¡¡¡¡Ðí¶àÈË»áÎÊ£¬usb-storageÄ£¿éÒѾ­°üÀ¨ÔÚÄÚºËÁËΪʲô»¹Òª½¨Á¢initrd.imgÎļþ£¿ÕâÊÇÓÉÓÚÓÅÅ̵ijõʼ»¯¹ý³Ì±ÈÖ´ÐÐ/sbin/initÂý,µ¼ÖÂÄÚºËÒѾ­Æô¶¯Íê³ÉÁË£¬ÓÅÅÌ»¹Ã»ÓÐÍê³É³õʼ»¯¹¤×÷£¬Òò´Ë¸ùÎļþϵͳûÓмÓÔØ£¬ÕâʱִÐÐ/sbin/initÃüÁî¿Ï¶¨²»³É¹¦¡£Í¨¹ý½¨Á¢initrd.imgÎļþ£¬ÔÚÆô¶¯ÄÚºËʱ¼ÓÔØinitrd.imgÎļþµ½ÄÚ´æÖУ¬µÈ´ý3ÃëʹÓÅÅÌÍê³É³õʼ»¯¹¤×÷£¬ÔÙÖ´ÐÐ/sbin/initÖ¸Áî¡£¾ßÌå²Ù×÷²½ÖèÈçÏ¡£

1.½¨Á¢initrd.imgÎļþ


¡¡¡¡# mkdir -p /mnt/initrd
¡¡¡¡# cd /tmp
¡¡¡¡# mkinitrd  /tmp/initrd.gz 2.4.20-usb



¡¡¡¡2.½âѹinitrd.imgÎļþ£¬ÐÞ¸ÄÆô¶¯½Å±¾linuxrc


¡¡¡¡# gunzip initrd.gz
¡¡¡¡# mount -o loop /tmp/initrd  /mnt/initrd
¡¡¡¡# cp /sbin/busybox /mnt/initrd/bin
¡¡¡¡# cd /mnt/initrd/bin
¡¡¡¡# ln -s busybox sleep
¡¡¡¡# vi /mnt/initrd/linuxrc



¡¡¡¡¼ÓÈëÈçÏÂÄÚÈÝ£º


¡¡¡¡echo  'wait 3 seconds.....'
¡¡¡¡/bin/sleep 3



¡¡¡¡3.ÖØÐÂÉú³Éinitrd.imgÎļþ

¡¡¡¡ÓÉÓÚȱʡ½¨Á¢µÄinitrdÎļþ±È½Ï´ó(Ϊ4MB)£¬ÎªÁ˼ӿìÓÅÅÌµÄÆô¶¯£¬±ØÐë¼õСËü¡£¾ßÌå²Ù×÷ÈçÏ£º


¡¡¡¡# mkdir -p /mnt/initrdusb
¡¡¡¡# cd  /tmp
¡¡¡¡# dd if =/dev/zero of= /tmp/initrdusb bs=1M count=1
¡¡¡¡# mke2fs  -m 0 initrdusb
¡¡¡¡# mount -o loop /tmp/initrdusb  /mnt/initrdusb
¡¡¡¡# cp -a  /mnt/initrd/* /mnt/initrdusb
¡¡¡¡# umount /mnt/initrd
¡¡¡¡# umount /mnt/initrdusb
¡¡¡¡# cd /tmp
¡¡¡¡# gzip -9  initrdusb
¡¡¡¡# cp  initrdusb.gz  /boot/initrd-2.4.20-usb.img



¡¡¡¡4.²âÊÔ±àÒëµÄÄÚºËÊÇ·ñÕý³£Æô¶¯

¡¡¡¡²âÊÔ±àÒëµÄÄÚºËÊÇ·ñÕý³£Æô¶¯£¬ÒÔ¼°ÔÚÆô¶¯¹ý³ÌÖÐÊÇ·ñ¿É¿´¼ûÓÅÅ̵ÄÏà¹ØÐÅÏ¢¡£

½¨Á¢ÓÅÅÌÆô¶¯ÅÌ

¡¡¡¡1.½«ÓÅÅÌ·Ö³ÉÁ½¸ö·ÖÇø

¡¡¡¡Áô¸øLinux·ÖÇøÈÝÁ¿´óСÍêȫȡ¾öÓÚ°²×°ÄÄЩϵͳά»¤¹¤¾ß£¬½á¹ûÈçÏ£º


¡¡¡¡# modprobe usb-storage
¡¡¡¡# fdisk  -l /dev/sda
¡¡¡¡Disk /dev/sda: 16 heads, 63 sectors, 126 cylinders
¡¡¡¡Units = cylinders of 1008 * 512 bytes
¡¡¡¡Device Boot    Start     End    Blocks   Id  System
¡¡¡¡/dev/sda1      1         102    51376+   6   FAT16
¡¡¡¡/dev/sda2      103       126    12096    83  Linux



¡¡¡¡×¢Ò⣺Èç¹ûÐèҪʹÓÃÓÅÅÌÒýµ¼Windows 98£¬ÉÈÇø´óС±ØÐëÉèÖÃΪ63¸öÉÈÇø£¬¿ÉÒÔͨ¹ýfdiskµÄxÃüÁîÀ©Õ¹ÐÞ¸Äheads¡¢sectorsºÍcylinders²ÎÊý¡£

¡¡¡¡2.½¨Á¢ÓëÉú³Éext2·ÖÇø


¡¡¡¡# mke2fs -m 0 /dev/sda2
¡¡¡¡# mkdir -p /mnt/sda2
¡¡¡¡# mount  /dev/sda2 /mnt/sda2
¡¡¡¡# cd /mnt/sda2



¡¡¡¡3.½¨Á¢bootĿ¼

¡¡¡¡½«±àÒëºÃµÄÄÚºËÓëinitrd-2.4.20-usb.imgÎļþ¿½±´µ½bootĿ¼¡¢±àÒëºÃµÄÄ£¿é¿½±´µ½lib/modulesĿ¼,ÒÔ¼°½«/boot/grubµÄÎļþ¿½±´µ½bootĿ¼,±à¼­boot/grub/menu.lstÎļþ,ÄÚÈÝÈçÏÂ:


¡¡¡¡timeout 10
¡¡¡¡color 0x17 0x70
¡¡¡¡default 0
¡¡¡¡title Windows 98
¡¡¡¡rootnoverify (hd0,0)
¡¡¡¡makeactive
¡¡¡¡chainloader  +1
¡¡¡¡title GNU/Linux Redhat 8.0 (2.4.20-usb)
root (hd0,1)
¡¡¡¡kernel /boot/vmlinuz-2.4.20-usb ro root=/dev/sda2
¡¡¡¡initrd /boot/initrd-2.4.20-usb.img



¡¡¡¡°²×°grub,¾ßÌå²Ù×÷ÈçÏ£º


¡¡¡¡grub> root (hd1,1)
¡¡¡¡grub> setup (hd1)



¡¡¡¡4.½¨Á¢binĿ¼

¡¡¡¡¸ù¾Ý×Ô¹¤×÷µÄÐèÒª¿½±´ÏµÍ³Î¬»¤¹¤¾ß£¬Èçinsmod¡¢fsckºÍmkdosfsµÈʵÓóÌÐò¡£Ò»¶¨Òª×¢ÒâʹÓÃlddÃüÁî¼ì²éÄÇЩ¹²Ïí¿âÎļþ,ÕâЩÎļþÐèÒª°´ÕÕÔ­À´µÄ·¾¶¿½±´µ½libĿ¼¡£ ÓÉÓÚÊܵ½´ÅÅ̿ռäµÄÏÞÖÆ,ʹÓÃbusyboxÃüÁî´úÌæÒ»Ð©³£¼ûµÄLinuxÃüÁÖ÷ÒªÔ­Òò¾ÍÊÇbusybox Îļþ·Ç³£Ð¡£¬²¢ÇÒÊǾ²Ì¬Á´½ÓµÄ£¬°üÀ¨Ðí¶à³£¼ûµÄLinuxÃüÁÈçcat¡¢init¡¢ifconig¡¢route£©ÓÃln -s busybox½¨Á¢ÕâЩÎļþµÄ·ûºÅÁª½Ó¡£¿ÉÒÔ¸ù¾Ý¸öÈËÐèÒªÖØÐ±àÒëbusybox£¬°üÀ¨viµÈÃüÁҲ¿ÉÒÔʹÓÃСÇɵÄe3´úÌævi¡£

¡¡¡¡ÁíÍ⣬Èç¹ûʹÓÃbash£¬»¹±ØÐë±à¼­Óë²Ã¼õ/etc/termcap¼°ÈçÏÂÎļþ£º


¡¡¡¡/bin/bash
¡¡¡¡/etc/termcap
¡¡¡¡/usr/share/terminfo/l/linux
¡¡¡¡/usr/share/terminfo/k/klone+acs
¡¡¡¡/usr/share/terminfo/k/klone+color
¡¡¡¡/usr/share/terminfo/k/klone+sgr



¡¡¡¡5.½¨Á¢devĿ¼

¡¡¡¡Ê¹ÓÃcp -aÃüÁ±´³£ÓõÄÉ豸Îļþ,°üÀ¨console¡¢tty1¡¢tty2¡¢tty3sda¡¢sda1¡¢sda2¡¢hda¡¢hdbºÍhda1µÈÉ豸Îļþ¡£

¡¡¡¡6.±à¼­etc/init.d/rcS

¡¡¡¡ÄÚÈÝÈçÏ£º


¡¡¡¡#!/bin/sh
¡¡¡¡PATH=/sbin:/bin
¡¡¡¡export PATH
¡¡¡¡mount -n -t proc none /proc
¡¡¡¡umount /initrd
¡¡¡¡mount -n -o remount,rw /
¡¡¡¡mount -n -o remount,rw -t proc none /proc
¡¡¡¡ifconfig lo 127.0.0.1



¡¡¡¡7.±à¼­etc/fstabÎļþ

¡¡¡¡ÄÚÈÝÈçÏ£º


¡¡¡¡/dev/sda2  / ext2  defaults 1 1
¡¡¡¡none  /proc  proc defaults  0 0



Ó¦ÓþÙÀý

¡¡¡¡¾ÙÒ»¸ö´«ËÍÎļþµÄÀý×Ó¡£ÔÚһ̨Õý³£¹¤×÷µÄLinux»úÆ÷A(IP=192.168.100.5)ÉÏÖ´ÐУº


¡¡¡¡$ tar cf - win98 |  nc -l -p 5555



¡¡¡¡×¢Ò⣺¿ÉÒÔÔÚ»úÆ÷BÉÏʹÓÃÓÅÅÌÆô¶¯»úÆ÷£¬telnetµÇ½µ½»úÆ÷AÉÏÖ´ÐÐÒÔÉÏÃüÁî¡£

¡¡¡¡ÔÚ»úÆ÷BÉÏʹÓÃÓÅÅÌÆô¶¯Ö´ÐУº


¡¡¡¡# mount -t vfat -o codepage=938,iocharset=cp936 /dev/hda5 /mnt/2dos
¡¡¡¡# cd /mnt/2dos
¡¡¡¡# modprobe eepro00
¡¡¡¡# ifconfig eth0 192.168.1.10
¡¡¡¡# route add default gw 192.168.1.1
¡¡¡¡# ping 192.168.10.5
¡¡¡¡# nc 192.168.10.5 5555 | tar xf -



¡¡¡¡Èç¹ûÕâʱʹÓÃformat /sÃüÁîÎÞ·¨½¨Á¢ÓÅÅÌWindows 98Æô¶¯ÅÌ£¬¿ÉÒÔ²ÉÓñäͨµÄ·½Ê½£¬¾ßÌå²Ù×÷ÈçÏ£º


¡¡¡¡# mkdosfs -F 16 /dev/sda1
¡¡¡¡# xxd -c 16 /dev/sda1 | less



¡¡¡¡Õâʱ¼Ç¼ÏÂBoot RecordµÄ32¡«35×Ö½ÚÄÚÈÝ£¨±¾ÀýΪ60 91 01 00£¬Õâ4¸ö×ֽڼǼÁËFAT·ÖÇø×ܵÄÉÈÇøÊýÁ¿£©£¬ÔÙʹÓÃÀÊ¿ÆËæÅÌÌṩµÄÖÆ×÷Òýµ¼Å̵Ť¾ßÖÆ×÷Windows 98Æô¶¯ÅÌ£¬È»ºóʹÓÃLinuxÏÂbvi»òÕßÄܹ»±à¼­¶þ½øÖÆÎļþµÄ¹¤¾ßÐÞ¸ÄBoot RecordµÄ32¡«35×Ö½ÚΪԭÀ´µÄÄÚÈÝ¡£ÕâÑù£¬¾ÍÄܹ»ÊµÏÖÃû¸±ÆäʵµÄÈýÆô¶¯·½Ê½£¨WindowsË«Æô¶¯£«LinuxÆô¶¯£©¡£

pkkj ·¢±íÓÚ 2004-9-16 22:16

ת

UÅÌÉϵÄLINUX

By Ben [email]netmails@163.com[/email]

Ê×ÏÈÈÃÎÒÃÇÏÈÁ˽âÒ»ÏÂLINUXÏÂUSBÉ豸, Linux USB Çý¶¯³ÌÐòÓÐÈýÖÖ²»Í¬µÄ USB Ö÷¿ØÖÆÆ÷Ñ¡Ïî,ÕâÊÇÒòΪÔÚÖ÷°åºÍ PCI ¿¨ÉÏÓÐÈýÖÖ²»Í¬ÀàÐ굀 USB оƬ¡£"EHCI"Çý¶¯³ÌÐòÉè¼Æ³ÉΪʵÏÖеĸßËÙ USB 2.0 ЭÒéµÄоƬÌṩ֧³Ö¡£"OHCI"Çý¶¯³ÌÐòÓÃÀ´Îª·Ç PC ϵͳÉϵģ¨ÒÔ¼°´øÓÐ SiS ºÍ ALi оƬ×éµÄ PC Ö÷°åÉϵģ©USB оƬÌṩ֧³Ö¡£"UHCI"Çý¶¯³ÌÐòÓÃÀ´Îª´ó¶àÊýÆäËü PC Ö÷°å£¨°üÀ¨ Intel ºÍ Via£©É쵀 USB ʵÏÖÌṩ֧³Ö¡£Ö»ÐèÑ¡ÔñÓëÏ£ÍûÆôÓÃµÄ USB Ö§³ÖµÄÀàÐͶÔÓ¦µÄ"?HCI"Çý¶¯³ÌÐò¼´¿É¡£
ÆôÓÃÁË"USB support"ºÍÊʵ±µÄ"?HCI"USB Ö÷¿ØÖÆÆ÷Çý¶¯³ÌÐòºó£¬Ê¹ USB Æô¶¯²¢ÔËÐÐÖ»ÐèÔÙ½øÐм¸¸ö²½Öè¡£Ó¦¸ÃÆôÓÃ"Preliminary USB device filesystem"£¬SCSI¼ÆËã»ú±ê×¼½Ó¿Ú,ÒòΪͨ³£ÎÒÃǵÄUSB´æ´¢É豸£¬Ä£ÄâΪSCSIÓ²Å̶ø½øÐзÃÎÊ

Ò»:¹ØÓÚÄÚºË

usb-storageÄ£¿é°üÀ¨ÔÚÄں˵«ÊÇÓÉÓÚUÅ̵ijõʼ»¯¹ý³Ì±ÈÖ´ÐÐ/sbin/initÂý,µ¼ÖÂÄÚºËÒѾ­Æô¶¯Íê³ÉÁË£¬ÓÅÅÌ»¹Ã»ÓÐÍê³É³õʼ»¯¹¤×÷£¬Òò´Ë¸ùÎļþϵͳûÓмÓÔØ£¬ÕâʱִÐÐ/sbin/initÃüÁî¿Ï¶¨²»³É¹¦¡£ËùÒÔÒª¶ÔϵͳÄں˳õʼ»¯´úÂë×÷ÐÞ¸ÄÈçÏÂ:
/init/do_mounts.c
¡­¡­
* Allow the user to distinguish between failed open
* and bad superblock on root device.
*/
- printk ("VFS: Cannot open root device \"%s\" or %s\n",
+ printk ("VFS: Cannot open root device \"%s\" or %s, retrying in 1 second.\n",
root_device_name, kdevname (ROOT_DEV));
- printk ("Please append a correct \"root=\" boot option\n");
- panic("VFS: Unable to mount root fs on %s",
- kdevname(ROOT_DEV));
+ printk ("You may need to append a correct \"root=\" boot option\n");
+ printk ("or wait for the root device to become ready.\n");
+
+ /* wait 1 second and try again,
+ * allowing time for hubs/devices to become ready */
+ set_current_state(TASK_INTERRUPTIBLE);
+ schedule_timeout(HZ);
+ goto retry;
}
panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV));
out:
¡­¡­

°´ÕÕÐèÒªÖØÐ±àÒëÄÚºË.
ÄúÒ²¿ÉÒÔÔÚÆô¶¯ÄÚºËʱ¼ÓÔØinitrd.imgÎļþµ½ÄÚ´æÖУ¬µÈ´ý3ÃëʹÓÅÅÌÍê³É³õʼ»¯¹¤×÷£¬ÔÙÖ´ÐÐ/sbin/initÖ¸Áî¡£
1.½¨Á¢initrd.imgÎļþ
¡¡¡¡# mkdir -p /mnt/initrd
¡¡¡¡# cd /tmp
# mkinitrd /tmp/initrd.gz 2.4.20-usb
2.½âѹinitrd.imgÎļþ£¬ÐÞ¸ÄÆô¶¯½Å±¾linuxrc
¡¡¡¡# gunzip initrd.gz
¡¡¡¡# mount -o loop /tmp/initrd /mnt/initrd
¡¡¡¡# cp /sbin/busybox /mnt/initrd/bin
¡¡¡¡# cd /mnt/initrd/bin
¡¡¡¡# ln -s busybox sleep
¡¡¡¡# vi /mnt/initrd/linuxrc
¡¡¡¡¼ÓÈëÈçÏÂÄÚÈÝ£º
¡¡¡¡echo 'wait 3 seconds.....'
¡¡¡¡/bin/sleep 3
3.ÖØÐÂÉú³Éinitrd.imgÎļþ
¡¡¡¡ÓÉÓÚȱʡ½¨Á¢µÄinitrdÎļþ±È½Ï´ó(Ϊ4MB)£¬ÎªÁ˼ӿìÓÅÅÌµÄÆô¶¯£¬±ØÐë¼õСËü¡£¾ßÌå²Ù×÷ÈçÏ£º
¡¡¡¡# mkdir -p /mnt/initrdusb
¡¡¡¡# cd /tmp
¡¡¡¡# dd if =/dev/zero of= /tmp/initrdusb bs=1M count=1
¡¡¡¡# mke2fs -m 0 initrdusb
¡¡¡¡# mount -o loop /tmp/initrdusb /mnt/initrdusb
¡¡¡¡# cp -a /mnt/initrd/* /mnt/initrdusb
¡¡¡¡# umount /mnt/initrd
¡¡¡¡# umount /mnt/initrdusb
¡¡¡¡# cd /tmp
¡¡¡¡# gzip -9 initrdusb
¡¡¡¡# cp initrdusb.gz /boot/initrd-2.4.20-usb.img

¶þ:½¨Á¢ÓÅÅÌÆô¶¯ÅäÖÃÓëĿ¼½á¹¹
(/dev, /proc, /bin, /etc, /lib, /usr, /tmp, /var)

1.½«ÓÅÅÌ·Ö³ÉÁ½¸ö·ÖÇø
¡¡¡¡Áô¸øLinux·ÖÇøÈÝÁ¿´óСÍêȫȡ¾öÓÚ°²×°ÄÄЩϵͳά»¤¹¤¾ß£¬½á¹ûÈçÏ£º
¡¡¡¡# fdisk -l /dev/sda
¡¡¡¡Disk /dev/sda: 16 heads, 63 sectors, 126 cylinders
¡¡¡¡Units = cylinders of 1008 * 512 bytes
¡¡¡¡Device Boot Start End Blocks Id System
¡¡¡¡/dev/sda1 1 102 51376+ 6 FAT16
¡¡¡¡/dev/sda2 103 126 12096 83 Linux
¡¡¡¡×¢Ò⣺Èç¹ûÐèҪʹÓÃÓÅÅÌÒýµ¼Windows 98£¬ÉÈÇø´óС±ØÐëÉèÖÃΪ63¸öÉÈÇø£¬¿ÉÒÔͨ¹ýfdiskµÄxÃüÁîÀ©Õ¹ÐÞ¸Äheads¡¢sectorsºÍcylinders²ÎÊý¡£×îºÃ»¹ÊÇÀûÓÃUÅÌÏàÓ¦¹¤¾ß½¨Á¢.
2.½¨Á¢ÓëÉú³Éext2·ÖÇø
¡¡¡¡# mke2fs -m 0 /dev/sda2
¡¡¡¡# mkdir -p /mnt/sda2
¡¡¡¡# mount /dev/sda2 /mnt/sda2
¡¡¡¡# cd /mnt/sda2
3.½¨Á¢bootĿ¼
¡¡¡¡½«±àÒëºÃµÄÄÚºËÓëinitrd.imgÎļþ¿½±´µ½bootĿ¼¡¢±àÒëºÃµÄÄ£¿é¿½±´µ½lib/modulesĿ¼,ÒÔ¼°½«/boot/grubµÄÎļþ¿½±´µ½bootĿ¼,±à¼­boot/grub/menu.lstÎļþ,ÄÚÈÝÈçÏÂ:
¡¡¡¡timeout 10
¡¡¡¡color 0x17 0x70
¡¡¡¡default 0
¡¡¡¡title Windows 98
¡¡¡¡rootnoverify (hd0,0)
¡¡¡¡makeactive
¡¡¡¡chainloader +1
¡¡¡¡title GNU/Linux Redhat 8.0 (2.4.20-usb)
root (hd0,1)
¡¡¡¡kernel /boot/bzImage ro root=/dev/sda2
¡¡¡¡initrd /boot/ initrd.img //Èç¹ûûÓÐinitrd.img,Õâ¾ä¾Í²»ÒªÁË
¡¡¡¡°²×°grub,¾ßÌå²Ù×÷ÈçÏ£º
¡¡¡¡grub> root (hd1,1)
¡¡¡¡grub> setup (hd1)
4.½¨Á¢binĿ¼
¸ù¾Ý×Ô¹¤×÷µÄÐèÒª¿½±´ÏµÍ³Î¬»¤¹¤¾ß£¬Èçinsmod¡¢fsckºÍmkdosfsµÈʵÓóÌÐò¡£
¶ÔÓÚ³£ÓõŤ¾ß,½¨ÒéʹÓÃtinylogin [url]http://tinylogin.busybox.net[/url] »òÕßbusybox [url]http://www.busybox.net,ËüÃÇ¿ÉÒÔÈÏÄú½ÚÔ¼²»Ê¡µÄ¿Õ¼ä.[/url]
¡¡¡¡ÁíÍ⣬Èç¹ûʹÓÃbash£¬»¹±ØÐë±à¼­Óë²Ã¼õ/etc/termcap¼°ÈçÏÂÎļþ£º
¡¡¡¡/bin/bash
¡¡¡¡/etc/termcap
¡¡¡¡/usr/share/terminfo/l/linux
¡¡¡¡/usr/share/terminfo/k/klone+acs
¡¡¡¡/usr/share/terminfo/k/klone+color
/usr/share/terminfo/k/klone+sgr
5.½¨Á¢dev proc usr sbinĿ¼
¡¡¡¡Ê¹ÓÃcp -aÃüÁ±´³£ÓõÄÉ豸Îļþ,°üÀ¨console¡¢tty1¡¢tty2¡¢tty3sda¡¢sda1¡¢sda2¡¢hda¡¢hdbºÍhda1µÈÉ豸Îļþ¡£Èç¹ûÄúµÄÄÚºËʹÓÃDevfs, Ö»Òª½¨Á¢Õâ¸öĿ¼¼´¿É.
½¨Á¢proc usr sbinĿ¼,ÄãÁË¿ÉÒÔ
ln ?s bin sbin½¨Á¢sbinµÄÁ¬½Ó.
6.½¨Á¢libĿ¼
Ò»¶¨Òª×¢ÒâʹÓÃlddÃüÁî¼ì²éÄÇЩ¹²Ïí¿âÎļþ,ÕâЩÎļþÐèÒª°´ÕÕÔ­À´µÄ·¾¶¿½±´µ½libĿ¼¡£
Ò»°ãÓ¦ÓÐÈçÏÂÎļþ:
/lib:
?rwxr?xr?x 1 root root 45415 Nov 1 15:39 ld?2.0.7.so
lrwxrwxrwx 1 root root 11 Nov 1 15:39 ld?linux.so.2 ?> ld?2.0.7.so
?rwxr?xr?x 1 root root 731548 Nov 1 15:39 libc?2.0.7.so
lrwxrwxrwx 1 root root 13 Nov 1 15:39 libc.so.6 ?> libc?2.0.7.so
lrwxrwxrwx 1 root root 17 Nov 1 15:39 libcom_err.so.2 ?> libcom_err.so.2.0
?rwxr?xr?x 1 root root 6209 Nov 1 15:39 libcom_err.so.2.0
?rwxr?xr?x 1 root root 153881 Nov 1 15:39 libcrypt?2.0.7.so
lrwxrwxrwx 1 root root 17 Nov 1 15:39 libcrypt.so.1 ?> libcrypt?2.0.7.so
?rwxr?xr?x 1 root root 12962 Nov 1 15:39 libdl?2.0.7.so
lrwxrwxrwx 1 root root 14 Nov 1 15:39 libdl.so.2 ?> libdl?2.0.7.so
lrwxrwxrwx 1 root root 14 Nov 1 15:39 libpam.so.0 ?> libpam.so.0.64
?rwxr?xr?x 1 root root 26906 Nov 1 15:39 libpam.so.0.64
lrwxrwxrwx 1 root root 19 Nov 1 15:39 libpam_misc.so.0 ?> libpam_misc.so.0.64
?rwxr?xr?x 1 root root 7086 Nov 1 15:39 libpam_misc.so.0.64
?r?xr?xr?x 1 root root 35615 Nov 1 15:39 libproc.so.1.2.6
lrwxrwxrwx 1 root root 19 Nov 1 15:39 libtermcap.so.2 ?> libtermcap.so.2.0.8
?rwxr?xr?x 1 root root 12041 Nov 1 15:39 libtermcap.so.2.0.8
?rwxr?xr?x 1 root root 12874 Nov 1 15:39 libutil?2.0.7.so
lrwxrwxrwx 1 root root 16 Nov 1 15:39 libutil.so.1 ?> libutil?2.0.7.so
drwx??x??x 3 root root 1024 Nov 1 15:39 modules
drwx??x??x 2 root root 1024 Nov 1 15:39 security

/lib/modules:
drwx??x??x 4 root root 1024 Nov 1 15:39 2.0.35

/lib/modules/2.0.35:
drwx??x??x 2 root root 1024 Nov 1 15:39 block
drwx??x??x 2 root root 1024 Nov 1 15:39 cdrom

/lib/modules/2.0.35/block:
drwx?????? 1 root root 7156 Nov 1 15:39 loop.o

/lib/modules/2.0.35/cdrom:
drwx?????? 1 root root 24108 Nov 1 15:39 cdu31a.o

/lib/security:
?rwx??x??x 1 root root 8771 Nov 1 15:39 pam_permit.so


Èý:½¨Á¢ÅäÖÃÎļþ
1.±à¼­etc/init.d/rcS ÎļþÃû¾ö¶¨ÓÚetc/inittab
¡¡¡¡ÄÚÈÝÈçÏ£º
¡¡¡¡#!/bin/sh
¡¡¡¡PATH=/sbin:/bin
¡¡¡¡export PATH
¡¡¡¡mount -n -t proc none /proc
¡¡¡¡umount /initrd
¡¡¡¡mount -n -o remount,rw /
¡¡¡¡mount -n -o remount,rw -t proc none /proc
ifconfig lo 127.0.0.1
hostname UsbBoot
2±à¼­etc/fstabÎļþ
¡¡¡¡ÄÚÈÝÈçÏ£º
¡¡¡¡/dev/sda2 / ext2 defaults 1 1
none /proc proc defaults 0 0
3. ½¨Á¢etc/inittabÎļþ,Èç¹ûÓÃbusyboxÉú³ÉµÄinitÕâ¸öÎļþ¿ÉÒÔ²»Òª.
id:2:initdefault:
si::sysinit:/etc/rcS
1:2345:respawn:/sbin/getty 9600 tty1
2:23:respawn:/sbin/getty 9600 tty2
4.½¨Á¢nsswitch.confÎļþ
passwd: files
shadow: files
group: files
hosts: files
services: files
networks: files
protocols: files
rpc: files
ethers: files
netmasks: files
bootparams: files
automount: files
aliases: files
netgroup: files
publickey: files
5.½¨Á¢/etc/pam.confÎļþ
OTHER auth optional /lib/security/pam_permit.so
OTHER account optional /lib/security/pam_permit.so
OTHER password optional /lib/security/pam_permit.so
OTHER session optional /lib/security/pam_permit.so
6.½¨Á¢passwd,group,shadowÎļþ
×î¼òµ¥µÄ·½·¨¾ÍÊǸ´ÖÆÔ­ÏµÍ³µÄÎļþÔٱ༭.

Òòƪ·ù¹ØÏµ,ûÓжÔijЩ²½ÖèÏêϸ˵Ã÷

hekw23 ·¢±íÓÚ 2005-9-19 21:32

ÇëÎÊ£ºÓÐûÓÐÈËÓÃÕâ¸ö·½·¨×ö³É¹ýѽ£¿ÎÒÊÔ×Å×öÁËһϣ¬²»³É¹¦£¬ÎÒµÄÊÇFC1,Õâ¸öÊÇÓÃrh8.0×öµÄ£¬ÓÐºÃ¶àµØ·½²»Ò»Ñù£¬ÎÒÁËһϣ¬Æô¶¯Ê±Ëµ root (hd1,1)ÕÒ²»µ½¡£²»ÖªµÀÊÇÔõô»ØÊ£¬ÄÇλ¸ßÊÖÖªµÀ£¬ËµÒ»Ï°ɣ¬Ð»Ð»ÁË¡£

hekw23 ·¢±íÓÚ 2005-9-22 17:19

ÎÒµÄUÅÌ·ÖÁËÁ½¸öÇøÒ»¸öÊÇfat,ÁíÒ»¸öÊÇext2,
root(hd1,2)
kernel  /vmlinuz-2.6.11 ro root=/dev/sda2
initrd   .......
Æô¶¯Ê±³ö´í:
Filesystem is ext2fs ,  partition type is 0x83   //Ô­»°ÎҼDz»Ì«ÇåÁË.
kernel /vmliuz-2.6.11 ro root=dev/sda2
error 15 :File can't find


ÇëÎÊÊÇÔõô»ØÊÂѽ?

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.