´ÙÀ½ ÀÌÀü Â÷·Ê

2. ÁøÇà¼ø¼­

ÀÌ °÷Àº ³»°¡ ÇÑ ÀÏ ¸ðµÎ¸¦ ¼ø¼­´ë·Î Àû¾ú´Ù. kernel panicÀ¸·Î ÀÎÇÑ ÀýÂ÷µéÀº °Ç³Ê ¶Ù¾îµµ µÈ´Ù :-). super-user·Î¼­ ÀÌ process¸¦ ÁøÇà½ÃÄÑ¾ß ÇÔÀ» ¸í½ÉÇÏÀÚ.

2.1 Àü¿øÀ» ²ô°í, CD-Writer¸¦ ÄÄÇ»ÅÍ¿Í ¿¬°áÇÑ´Ù. ±×¸®°í reboot

--> kernel panic ¹ß»ý

2.2 1.1.64 kernel·Î upgrade

--> ¿©ÀüÈ÷ Kernel panic

2.3 1542cf settingÀ» ¹Ù²Þ

Mike McKenna(¿ì¸® ±¸¿ª hardware ´ã´çÀÚ)¿Í ³ª´Â ¿©±âÀú±â ¾à°£ settingÀ» ¹Ù²Ù¾ú´Ù. ¾Æ·¡¿¡ ÀÖ´Â listµéÁß Çϳª°¡ ¸ðµç error¸¦ Àâ¾Ò´Ù. ³ª´Â "Enable Disconnection"¸¦ CD writer¿¡ »óÀÀÇÏ´Â SCSI ID#¸¦ À§Çؼ­ "no"·Î ¹Ù²Û °ÍÀÌ error¸¦ Àâ¾Ò´Ù°í 90% È®½ÅÇÑ´Ù. ÇÏÁö¸¸ settingÀ» ÇÑ µÚ, CD¸¦ ±¸¿öº» ÀûÀÌ ¾ø´Ù. ÀÌ °ÍÀ» ¸ÕÀú Çغ¸°í, ¾È µÇ¸é ´Ù¸¥ °ÍÀ» Çغ¸±â ¹Ù¶õ´Ù. bootingÇÒ ¶§, Ctrl-A¸¦ ´­·¯ SCSI-select utilityÀÇ "Configure/View Host Adapter Settings"·Î µé¾î°£´Ù. ´ÙÀ½Àº ³»°¡ Çß´ø settingÀÌ´Ù.


Host Adapter IRQ Channel -> 11
Host Adapter DMA Channel -> 5
Host Adapter SCSI ID     -> 7
[BIOS Revision: 2.02; Base Address: DC000h; Firmware: Rev. B.0; Checksum: A223h]
(these should be irrelevant to you; DO NOT change the settings above)

SCSI Parity Checking           Enabled
DMA Transfer Rate              5.0 MB/sec
Host Adapter SCSI Termination  Enabled

SCSI Device Configuration
(note hard drive = #0, writer = #1, 1542 = #7)

                               #0   #1   #2   #3   #4   #5   #6   #7
Enable Sync Negotiation        no   no   no   no   no   no   no   no
Enable FAST SCSI               no   no   no   no   no   no   no   no
Enable Disconnection           yes  no   yes  yes  yes  yes  yes  yes
Send Start Unit Command        no   yes  no   no   no   no   no   no
*(default is all yes for Enable Disconnection and all no for Send Start Unit Command)

Advanced Configuration Options
Floppy Controller I/O Port (AHA-1542CF only)                  3F0h-3F7h
Reset SCSI Bus at Power-On                                    Enabled
Host Adapter BIOS (Configuration Utility Reserves BIOS Space) Enabled
System Boot (INT 19h) Controlled by Host Adapter BIOS         Enabled
Extended BIOS Translation for DOS Drives > 1 GByte            Disabled
*Support Removable Disks Under BIOS as Fixed Disks            Enabled 
Dynamically Scan SCSI Bus for BIOS Devices                    Disabled
BIOS Support for More Than 2 Drives (MS-DOS(R) 5.0 and above) Disabled
Immediate Return On Seek Command                              Enabled 
Display <Ctrl><A> Message During BIOS Initialization          Enabled 
*BIOS Support for Floptical Drives                            Enabled 

*Ç¥¿Í ´Ù¸¥ °ÍÀº default¿Í ´Ù¸¥ °ÍÀÌ´Ù. ÇÊ¿äÇÏÁö ¾ÊÀº °Í±îÁö Æ÷ÇÔÇÑ Àüü list¸¦ º¸¿©ÁÖ°Ô µÇ¾î ¹Ì¾ÈÇÏ´Ù. ÇÏÁö¸¸, SCSI Ãʺ¸ÀÚ´Â ÁÁ¾ÆÇÒ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. REMEMBER: ³»°¡ »ý°¢Çϱ⿡ ÇÊ¿äÇÑ º¯È­´Â "Enable Disconnection for the ID#"»ÓÀÌ´Ù. yes¸¦ no·Î ¹Ù²Ù¸é µÈ´Ù.

°á°ú´Â: no panic; CDROM drive¸¦ sr0·Î ÀνÄÇÏ°í, SCSI generic drvier´Â Ç×»ó ±×·¸µíÀÌ ÀνÄÇß´ÂÁö ¿©ºÎ¸¦ ¾Ë·Á¿ÀÁö ¾Ê¾Ò´Ù.

2.4 mkisofs¸¦ »ç¿ëÇؼ­ binary image »ý¼ºÇϱâ

# mkisofs -o /home/cd.image /home/dir_to_archive

[tsx-11.mit.eduÀÇ /pub/linux/BETA/cdrom/mkisofs-1.00.tar.gz¸¦ °¡Á®´Ù°¡ »ç¿ë. version 1.01±îÁö ÀÖÀ½.] ¶Ç ´Ù¸¥ toolÀÎ iso9660-diagnose.tar.gz¸¦ °°Àº µð·ºÅ丮¿¡¼­ °¡Á® ¿Ã ¼ö ÀÖ´Ù. section 3¿¡¼­ mkisofsÀÇ »ç¿ë¹ý ÂüÁ¶

2.5 SCSI generic device ¸¸µé´Ù.

# /dev/MAKEDEV  sg

Joseph Julicher´Â SCSI inquiry byte¸¦ ó¸®Çϵµ·Ï kernel hackingÀ» Á¦¾ÈÇÏ¿´´Ù. (0x1f¿Í bit maskingÀ» ÇÏ¸é µÈ´Ù). ¶ÇÇÑ TYPE_WORM drive¸¦ "¾²±â°¡´É"À¸·Î ¹Ù²Ù¾ú´Ù; Á¦´ë·Î ¿õÁ÷ÀÌ°Ô ÇÏ´Â µ¥ ÇÊ¿äÇÑ °ÍÀÎÁö´Â È®½ÅÇÏÁö´Â ¸øÇÏÁö¸¸. »ç½Ç ³ª´Â ¸ðµç °ÍÀ» "¾²±â°¡´É"À¸·Î ¹Ù²Ù¾î ³õ¾Ò´Ù. (º¼Ç°¾øÁö¸¸, È¿°úÀûÀÌ´Ù!)

The original /usr/src/{linux-1.1.64/}linux/drivers/scsi/scsi.c
(beginning around line 361)

    switch (type = scsi_result[0])
      {
      case TYPE_TAPE :
      case TYPE_DISK :
      case TYPE_MOD :
        SDpnt->writeable = 1;
        break;
      case TYPE_WORM :
      case TYPE_ROM :
        SDpnt->writeable = 0;
        break;
      default :

I changed it to:

    switch (type = scsi_result[0] & 0x1f)
      {
      case TYPE_TAPE :
      case TYPE_DISK :
      case TYPE_MOD :
      case TYPE_WORM :
      case TYPE_ROM :            /* probably shouldn't be writeable :) */
        SDpnt->writeable = 1;
        break;
      default :

2.6 cdwrite¸¦ °íÄ£´Ù. (³»°¡ °íÄ£ °ÍÀº v1.3)

[tsx-11.mit.eduÀÇ /pub/linux/BETA/cdrom/private/mkisofs/cdwrite-1.3.tar.gz¸¦ °¡Áö°í ÀÖ´Ù.]

line 439ºÎÅÍ original programÀº ´ÙÀ½°ú °¥Àº code¸¦ °®°í ÀÖ¾ú´Ù.

set_timeout(fd, timeout);

/* First make sure we know how to talk to this writer */
inquiry (fd, &reply_len, &reply, &manufacturer[0], &model[0]);
if(strcmp(manufacturer,"PHILLIPS")) {

³ª´Â À§¿¡ ´ÙÀ½ µÎÁÙÀ» ÷°¡ÇÔÀ¸·Î½á programÀ» ¹Ù²Ù¾ú´Ù.

/* new #define from drivers/scsi/scsi.h; orig program had this defined */
#define SG_SET_TIMEOUT  0x2201

(Following code replaced orig. code around line 439)

/*   set_timeout(fd, timeout);*/
if (ioctl(fd, SG_SET_TIMEOUT, SG_SET_TIMEOUT, &timeout) < 0) {
   perror ("ioctl SG_SET_TIMEOUT");
   exit(5);
}

/* First make sure we know how to talk to this writer */
inquiry (fd, &reply_len, &reply, &manufacturer[0], &model[0]);
if(strcmp(manufacturer,"IMS")) {

Philips CDD 521Àº "IMS"¸¦ manufacturer·Î ¹ÝȯÇÏ°í, ³ª´Â ¿ø·¡ programÀÌ Çß´ø °Íó·³ timeoutÀ» ¼³Á¤Çϵµ·Ï °íÃÆ´Ù. cdwrite package¸¦ Ç®¸é, ¿ø programÀº "orig" directory¿¡ ÀÖ´Ù.

2.7 kernelÀ» ´Ù½Ã compileÇÏ°í reboot...

SCSI generic support¸¦ °¡´ÉÇÏ°Ô ÇÒ °Í. ±×·¯ÇÏÁö ¾Æ´ÏÇϸé generic driver´Â kernel¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÇöÀç ¼öÇàµÇ°í ÀÖ´Â kernelÀ» ¹Ù²Ù±â À§Çؼ­´Â reboot¸¦ ÇؾßÇÑ´Ù.

2.8 CD¸¦ ±Á´Â´Ù!

¿¹¸¦ µé¾î, "cdwrite /dev/sgb < /home/cd.image" sgb°¡ CD writer, ´Ù½Ã ¸»ÇØ SCSI generic device b (hard drive°¡ generic device aÀ̹ǷÎ)ÀÌ°í, /home/cd.image´Â mkisofs·Î ¸¸µç ISO9660 imageÀÌ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê