home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / INSTALL / BOOTING next >
Encoding:
Text File  |  1995-04-20  |  16.2 KB  |  466 lines

  1. Sun Mar  5 14:51:07 PST 1995
  2.  
  3. This file contains some helpful (hopefully! :^) information on what to do if
  4. your Linux system won't boot properly.
  5.  
  6. Section 1: What to do if after the installation process, the machine will 
  7.            not boot.
  8.  
  9. This problem is not uncommon.  The reason for it is that the kernel your system
  10. tries to boot after installation is not the same as the one used to install (the
  11. bootdisk kernel).  Typically the kernel that is installed to your hard drive 
  12. will contain more device drivers, and sometimes one of them won't like some 
  13. piece of hardware in your machine.
  14.  
  15. There are a couple of approaches that can be used to deal with this situation.
  16. Perhaps the simplest solution is to open up the machine and pull any cards that
  17. aren't crucial, and then try to reboot the system.  If this is successful, then
  18. follow the instructions in the SLAKWARE.FAQ for building and installing a kernel
  19. that is customized for your hardware.
  20.  
  21. Another approach (that doesn't involve opening the machine) is to try to use the
  22. bootdisk you installed with to kickstart the system.  To do this, boot the disk
  23. and then use the "mount" option to have the kernel boot the root partition on
  24. your hard drive rather that a root/install disk.  Let's assume your root Linux
  25. partition is on /dev/hda2.  To boot the system, you'd use this command at the
  26. LILO prompt on the bootdisk:
  27.  
  28. mount root=/dev/hda2
  29.  
  30.  
  31. Section 2:  Trying to get the kernel to detect hardware.
  32.  
  33. The first thing you should do is make sure you're using a kernel that supports
  34. the hardware you're trying to use.  For example, you need to use a kernel from
  35. the Q series to support extra peripherals such as non-SCSI CD-ROM drives.  If
  36. you forgot to do this when you installed, use a bootdisk that supports your
  37. hardware to start the system as described above.  Then, install an appropriate
  38. kernel from the Q series, or compile a custom kernel of your own.  Be sure to
  39. reinstall LILO afterwards (if you use it).  For more details on installing a
  40. kernel, see the SLAKWARE.FAQ.
  41.  
  42. There are a number of extra parameters that can be used on the LILO bootdisk
  43. prompt, with Loadlin, or in your /etc/lilo.conf.  These flags help tell the
  44. kernel which I/O port, IRQ, and so forth, that a particular piece of hardware
  45. uses, so that if the kernel doesn't see a peripheral while autoscanning you
  46. should be able to force detection by telling the kernel exactly where to look.
  47.  
  48. To use an extra flag with a bootdisk, put the flags after the standard command
  49. used to boot the system.  So, to boot /dev/hda2 and try to force detection of
  50. a Mitsumi CD-ROM drive with Mitsumi interface card, you might use something
  51. like this at the LILO prompt:
  52.  
  53. mount root=/dev/hda2 mcd=0x300,11
  54.  
  55. To use a parameter with Loadlin, just add it to the end of the boot command
  56. in a similar fashion:
  57.  
  58. loadlin vmlinuz root=/dev/hda2 mcd=0x300,11
  59.  
  60. Or, you can enclose the parameters in an append="" and add the line to your
  61. /etc/lilo.conf.  Don't forget to reinstall lilo after editing the i
  62. /etc/lilo.conf.  To do this, just type "lilo" as root.
  63.  
  64. Here's how the line you'd add to your /etc/lilo.conf looks:
  65.  
  66. append="mcd=0x300,11"
  67.  
  68. Here is a list of known kernel parameters from the Loadlin documentation:
  69.  
  70.     LOADLIN 1.5 ((C) 1994 lermen@elserv.ffm.fgan.de)
  71.      and
  72.     Linux version: 0.99.14, 0.99.15, 1.0, 1.1.47
  73.  
  74. This is a list of command line parameters recognized and interpreted by:
  75. ========================================================================
  76.  
  77.   1. LOADLIN
  78.        ramdisk=size        (size in Kbytes)
  79.      or
  80.        ramdisk=size,no     (same as above, but diskchange prompt disabled)
  81.                            e.g.:  ramdisk=1440,no
  82.        vga=mode
  83.  
  84.   2. The Linux kernel
  85.        mem=number       (for > 0.99.15,  number = end of physical memory in bytes)
  86.        root=device
  87.        ro
  88.        rw
  89.        no387
  90.        debug            sets console_loglevel = 10
  91.        no-hlt           disables check of HLT isntruction at startup
  92.  
  93.   3. init
  94.        single
  95.        auto
  96.        ro,rw,no387   (forwarded from the kernel)
  97.  
  98.   4. Some drivers
  99.        reserve=port1,num1,...,port5,num5 #reserves 80x86 ioports
  100.        ether=irq,base_addr,mem_start,mem_end,dev_name
  101.        hd=cyl,head,sect                  # for 2 drives you need this twice
  102.                                          # first relates to drive 0
  103.        bmouse=irq
  104.        max_scsi_luns=n                          # (n should be between 1 and 8)
  105.        st0x=base_address,irq                    # SEAGATE controller ST01/ST02
  106.        tmc8xx=base_address,irq                  # Future Domain TMC-885,TMC-950
  107.        t128=address,irq                         # Trantor T128/T128F/T228
  108.        ncr5380=port,irq,dma                     # Generic NCR5380 driver
  109.        aha152x=portbase,irq,scsiid,reconnect    # Adaptec AHA-152x driver
  110.        xd=type,irq,iobase,dma
  111.        mcd=port,irq
  112.        sound=0x0TTPPPID, ..
  113.        sbpcd=sbport,SoundBlaster
  114.        sbpcd=LMport,LaserMate
  115.        sbpcd=SpeaFXport,SPEA
  116.  
  117.  
  118.   5. Environment
  119.        All parameters of format  name=xxxx  which are not recogized by
  120.        the kernel or a driver are put onto the environment.
  121.  
  122.        LOADLIN itself always puts  BOOT_IMAGE=imagefile  onto the environ-
  123.        ment.  The user may put additional values onto the environment in
  124.        order to allow  /etc/rc  to behave differently for a given condition.
  125.  
  126.  
  127. ==============================================================================
  128.  
  129. Following are detailed descriptions:
  130.  
  131.  
  132. Parameters recognized by LOADLIN:
  133. =================================
  134.  
  135.   root=device
  136.   -----------
  137.         device     may be a symbolic device name such as "/dev/hda2"
  138.                    or the numeric device number (hex)
  139.                    (highbyte=major, lowbyte=minor)
  140.                    recognized symbolic devices (with their partitions) are:
  141.                    "hda", "hdb", "sda", "sdb", "sdc", "sdd", "sde",
  142.                    "fd", "xda", "xdb"
  143.  
  144.         There is a problem:
  145.  
  146.         Linus interprets the number following "/dev/hda" as a HEX number,
  147.         The device names in  /dev  of the Slackware distribution, however,
  148.         are numbered /dev/hda1 .. hda9 .. hda10 .. hda16,
  149.         instead of   /dev/hda1 .. hda9 .. hdaa ..  hdaf  as Linus would have done.
  150.  
  151.         So, starting with version 1.3 of LOADLIN, I interpret the root device
  152.         myself and pass the device numerically in the boot sector.
  153.         My naming convention is a compromise which I hope will result in
  154.         fewer irritations:
  155.  
  156.         If the number following "/dev/hda, hdb, sda ..."
  157.         starts with 0, 0x or a..f, it is interpreted as a HEX number.
  158.         If it starts with 1..9 it is interpreted as a decimal number.
  159.         If none is appropriate, the string is passed to the command line.
  160.         (some later kernel versions may have other device names).
  161.  
  162.         Examples:
  163.         root=302
  164.         root=0x201
  165.         root=/dev/hda2
  166.         root=/dev/sdaa   same as  root=/dev/sda10  or  /dev/sda0xa
  167.  
  168.   ramdisk=size
  169.   ------------
  170.         size      number of Kbytes for the RAMDISK device.
  171.                   The image for the ramdisk is loaded by the
  172.                   kernel at startup from a floppy drive, if
  173.                   root=/dev/fdx  is also given.
  174.                   After loading the image, the kernel then makes
  175.                   the ramdisk the root device (NOT the floppy).
  176.                   In addition to this, LOADLIN prompts for inserting
  177.                   the ramdisk image into the floppy drive if it no
  178.                   longer needs the drive (i.e. after loading the kernel).
  179.  
  180.   vga=mode
  181.   --------
  182.         mode      -3  the user is asked to specify the VGA mode
  183.                  ask  equal to -3
  184.                   -2  80x50 extended VGA mode
  185.             extended  equal to -2
  186.                   -1  80x25 normal mode
  187.               normal  equal to -1
  188.                    0  as if "0" was entered at the boot prompt
  189.                    .
  190.                    .
  191.                    n  as if the number "n" was entered at the boot prompt
  192.  
  193.   ro
  194.   --
  195.         "ro" forces the root device to be mounted read-only (Not for UMSDOS!)
  196.  
  197.   rw
  198.   --
  199.         "rw" forces the root device to be mounted read/write.
  200.  
  201. ------------------------------------------------------------------------------
  202.  
  203. Parameters recognized only by the kernel:
  204. =========================================
  205.  
  206.   mem=number
  207.   ----------
  208.         number     End of physical RAM, this is recognized by kernels
  209.                    of 0.99.15 and higher and is useful if the exact
  210.                    installed RAM size cannot be determined automatically.
  211.  
  212.   root=device
  213.   -----------
  214.         device     May be a symbolic device name such as "/dev/hda2"
  215.                    or the numeric device number (highbyte=major, lowbyte=minor)
  216.                    Recognized symbolic devices (with their partitions) are:
  217.                    "hda", "hdb", "sda", "sdb", "sdc", "sdd", "sde",
  218.                    "fd", "xda", "xdb"
  219.                    But NOTE: old kernels < 1.1.47 have xda=0xC00, xdb=0xC40
  220.                              newer kernels have        xda=0xD00, xdb=0xD40
  221.         example:
  222.         root=302
  223.         root=/dev/hda2
  224.  
  225. !!      NOTE:   Older kernels ( below Linux 1.0.5 ) have a little bug in
  226. !!              (init/main.c), but it is of little concern:
  227. !!               The last part of the symbolic device name ("hda2") is
  228. !!               passed as option parameter to  init, so init will
  229. !!               say "illegal option", but continue without errors.
  230. !!
  231. !!              Of greater concern is the too-small static buffer
  232. !!              "command_line" (80 bytes, in init/main.c).   It is
  233. !!              preferable to set it to 512 and recompile the kernel.
  234. !!
  235. !!              This bug is fixed with Linux 1.0.5, the "command_line"
  236. !!              is now 256 by default and (if needed ) can easily be changed
  237. !!              with   #define COMMAND_LINE_SIZE xxxx  in init/main.c  (to a
  238. !!              maximum size of 2047).
  239.  
  240.  
  241.   no387
  242.   -----
  243.         "no387" disables use of the hardware math coprocessor.
  244.  
  245.   since 1.1.47 (or perhaps earlier) the following options are no more
  246.   passed to init:
  247.  
  248.   ro,rw,no387
  249.   -----------
  250.  
  251.  
  252.   the following are new:
  253.  
  254.  
  255.   debug  sets console_loglevel = 10
  256.   -----
  257.  
  258.   no-hlt
  259.   ------
  260.          disables check of HLT instruction at startup.
  261.          If you have a clone 486, this option is *very* usefull.
  262.  
  263. ------------------------------------------------------------------------------
  264.  
  265. Option Parameters recognized by "init":
  266. =======================================
  267.  
  268.   single
  269.   ------
  270.         Enter "single user mode" on boot
  271.  
  272.  
  273.   auto
  274.   ----
  275.  
  276.   ro,rw,no387   (forwarded from kernels < 1.1.47).   (see !!comment!! above)
  277.   -----------
  278.  
  279.  
  280. ------------------------------------------------------------------------------
  281.  
  282.  
  283.  
  284. Configuration of ethernet cards:
  285. ================================
  286.  
  287.   ether=irq,base_addr,mem_start,mem_end,dev_name
  288.   ---------------------------------------------
  289.         irq        number, IRQ-number (3..15)
  290.         base_addr  number, IO-base (0x280,...)
  291.         mem_start  number, shared mem start
  292.         mem_end    number, shared mem end
  293.         dev_name   string,
  294.                         eth0..3     all configured ethernetcards
  295.                         dl0         D-Link DE600 pocket adaptor
  296.                         atp0        AT-LAN-TEC (RealTek) pocket adaptor
  297.                         plip0..2    parallel IP (PLIP)
  298.                         sl0..3      serial IP (SLIP)
  299.         example:
  300.                 ether=10,0x280,0xc8000,0xcbfff,eth0
  301.  
  302.   related files: net/inet/eth.c, drivers/net/Space.c
  303.  
  304. ------------------------------------------------------------------------------
  305.  
  306. Reserving I/O port space:
  307. =========================
  308.  
  309.   reserve=port1,num1,...,port5,num5
  310.   ---------------------------------
  311.  
  312.         portn     first IOport-address in range
  313.         numn      number of addresses in this range to reserve
  314.                   (there will be bits set to "1" in "ioport_register")
  315.  
  316.   related files:  kernel/ioport.c
  317.  
  318.  
  319. ------------------------------------------------------------------------------
  320.  
  321. Setting hard disk parameters for the root device:
  322. =================================================
  323.  
  324.   hd=cyl,head,sect
  325.   ---------------
  326.          # NOTE: if you have two drives, you must put
  327.          #       two hd= params into the commandline
  328.          #       the first for drive 1, the second for drive 2
  329.          #       eg.
  330.          #       loadlin zimage hd=1001,15,17 hd=989,15,56 root=/dev/hdb2 ro
  331.          #       (this example from my machine however is not needed,
  332.          #       you need it only, if Linux can't get the drive params properly
  333.          #       from the BIOS).
  334.   related files: drivers/block/hd.c
  335.   config:        CONFIG_BLK_DEV_HD
  336.  
  337. ------------------------------------------------------------------------------
  338.  
  339. Setting the IRQ for the bus-mouse:
  340. ==================================
  341.  
  342.   bmouse=irq
  343.   ----------
  344.   related files: drivers/char/busmouse.c
  345.   config:        CONFIG_BUSMOUSE
  346.  
  347.  
  348.  
  349. ------------------------------------------------------------------------------
  350.  
  351. Parameters for SCSI controllers:
  352. ================================
  353.  
  354.   max_scsi_luns=n                           (n should be between 1 and 8)
  355.  
  356.   st0x=base_address,irq                     SEAGATE controller ST01/ST02
  357.  
  358.   tmc8xx=base_address,irq                   Future Domain TMC-885,TMC-950
  359.  
  360.   t128=address,irq                          Trantor T128/T128F/T228
  361.  
  362.   ncr5380=port,irq,dma                      Generic NCR5380 driver
  363.  
  364.   aha152x=portbase,irq,scsiid,reconnect     Adaptec AHA-152x driver
  365.  
  366.  
  367.  
  368.   related files: drivers/scsi/seagate.c, t128.c, g_NCR5380.c, aha152x.c
  369.  
  370.   config:        CONFIG_SCSI_SEAGATE, CONFIG_SCSI_T128,
  371.                  CONFIG_SCSI_GENERIC_NCR5380, CONFIG_SCSI_AHA152X
  372.  
  373.  
  374. ------------------------------------------------------------------------------
  375.  
  376. Parameters for SCSI Tapes:
  377. =========================
  378.  
  379.   st=buffer_size,write_threshould,max_buffers
  380.  
  381.      buffer_size       Size of tape buffer in Kbyte (i.e. ST_BLOCK_SIZE)
  382.      write_threshould  Number of Kbytes to buffer before write.
  383.                        (must be < buffer_size)
  384.      max_buffers       Number of buffers to reserve
  385.  
  386.   related files: drivers/scsi/st.c
  387.   config:        CONFIG_CHR_DEV_ST
  388.  
  389. ------------------------------------------------------------------------------
  390.  
  391. Parameter for XT hard disk controller (DTC 5150X):
  392. ==================================================
  393.  
  394.   xd=type,irq,iobase,dma
  395.   ----------------------
  396.  
  397.   related files: drivers/block/xd.c
  398.   config:        CONFIG_BLK_DEV_XD
  399.  
  400. ------------------------------------------------------------------------------
  401.  
  402. Parameter for Mitsumi CDROM driver:
  403. ===================================
  404.  
  405.   mcd=port,irq
  406.   ------------
  407.  
  408.   related files: drivers/block/mcd.c
  409.   config:        CONFIG_MCD
  410.  
  411.  
  412. ------------------------------------------------------------------------------
  413.  
  414. Parameter for sound cards:
  415. ==========================
  416.  
  417.   sound=0x0TTPPPID, ..
  418.   ----------------
  419.      all values are enbedded in one longint, the above format
  420.      shows a hex number, each place is a hex-digit
  421.  
  422.      TT         Supported card type.
  423.                 This is the index into the list of configured cards
  424.                 If all cards are configured (which normally is not the case)
  425.                 the following order is kept:
  426.                         Roland MPU-401
  427.                         Gravis Ultrasound
  428.                         ProAudio Spectrum
  429.                         SoundBlaster
  430.                         SoundBlaster 16
  431.                         SB16 MPU-401 (SB16-MIDI port)
  432.                         AdLib
  433.  
  434.      PPP        Port Address
  435.  
  436.      I          IRQ
  437.  
  438.      D          DMA Channel
  439.  
  440.  
  441.   related files: drivers/sound/dev_table.h,dev_table.c
  442.   config:        CONFIG_SOUND
  443.  
  444. ------------------------------------------------------------------------------
  445.  
  446. Parameter for IDE-style CD-ROM device driver (Kotobuki/Matsushita/Panasonic):
  447. =============================================================================
  448.  
  449.   sbpcd=sbport,SoundBlaster
  450.   ------------------------
  451.   sbpcd=LMport,LaserMate
  452.   ----------------------
  453.   sbpcd=SpeaFXport,SPEA
  454.   ----------------------
  455.  
  456.         sbport     soundblaster base port +0x10 (i.e 0x230 = 0x220+0x10)
  457.         LMport     MPU-type port at 0x300 or equivalent
  458.         SpeaFXport base port on SpeaFX card
  459.  
  460.   related files: drivers/block/sbpcd.c
  461.   config:        CONFIG_SBPCD
  462.  
  463.  
  464.  
  465. ------------------------------------------------------------------------------
  466.