home *** CD-ROM | disk | FTP | other *** search
/ Boot Disc 15 / boot-disc-1997-11.iso / Debian / Tools / LODLIN16.ZIP / LODLIN16 / DOC / MANUAL.TXT < prev    next >
Text File  |  1996-04-30  |  33KB  |  856 lines

  1.  
  2. LOADLIN User Guide                                                  96-04-28
  3.  
  4. ============================================================================
  5.  
  6.    LOADLIN v1.6 (C) 1996 Hans Lermen (lermen@elserv.ffm.fgan.de)
  7.  
  8.    This program is free software; you can redistribute it and/or modify
  9.    it under the terms of the GNU General Public License as published by
  10.    the Free Software Foundation, either version 2 of the License or
  11.    (at your option) any later version.
  12.  
  13.    This program is distributed in the hope that it will be useful,
  14.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.    GNU General Public License for more details.
  17.  
  18.    You may have received a copy of the GNU General Public License
  19.    along with this program; if not, write to the Free Software
  20.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22.  
  23. ============================================================================
  24.  
  25.  
  26.  
  27.       CONTENTS
  28.       ========
  29.  
  30. 1.    Why use LOADLIN ?
  31.  
  32. 2.    Features of LOADLIN
  33.  
  34. 3.    How to use LOADLIN
  35. 3.1.  What you need
  36. 3.2.  Booting from the DOS prompt
  37. 3.2.1 Quick start
  38. 3.2.2 Quick help
  39. 3.2.3 Starting linux from a batch file (LINUX.BAT)
  40. 3.2.4 Loading Ramdisks with newer kernels
  41. 3.2.5 Floppys and Ramdisks using older kernels ( Linux < 1.3.48 )
  42. 3.2.6 System constraints
  43. 3.3   Booting from CONFIG.SYS
  44. 3.3.1 Example of a CONFIG.SYS file (DOS)
  45. 3.3.2 Example of a CONFIG.SYS file (Windows 95)
  46. 3.3.3 Constraints in CONFIG.SYS syntax
  47.  
  48. 4.    The LOADLIN command line parameters
  49. 4.1   Maximum length of the command line
  50.  
  51. 5.    If you have problems
  52. 5.1   Problems detecting V86
  53. 5.2.  Description of debug output (-v,-t,-d)
  54.  
  55. 6.    Where to send comments and bug reports
  56.  
  57. 7.    Contributions and Credits
  58.  
  59.  
  60.                          --------- +++  --------
  61.  
  62.  
  63.  
  64. 1.    Why use LOADLIN ?
  65.       =================
  66.  
  67.       LOADLIN is the safest way to boot Linux from your hard disk,
  68.       if you have a bootable DOS-partition besides Linux on your machine.
  69.  
  70.       Most Linux-newbees are too impatient to read the very good (but also
  71.       long) documentation of LILO (the standard Linux loader), and start
  72.       using it incorrectly, resulting in an unbootable DOS after this
  73.       (the MBR gots overwritten, 'fdisk /MBR' not always repairs).
  74.       For those impatient ones LOADLIN is the best loader to start with.
  75.  
  76.       LOADLIN needs not to be installed in any way, it is usable as is
  77.       and the kernel images can reside on any DOS accessable medium
  78.       (even on a network drive). This also makes LOADLIN an exellent
  79.       tool, if it comes to boot your Linux after a crash and a
  80.       filesystem restore from backup medium (you must run LILO after
  81.       this, but you can't if you have not yet booted, isn't it?).
  82.  
  83.       Many CDrom producers already have seen the advantage of starting
  84.       the Linux-installation process by means of LOADLIN, because it
  85.       runs out of the box. And using DOS to push Linux on the road
  86.       isn't wrong, if you have DOS (or Windows 95 DOS mode) available.
  87.       With LOADLIN you can directly boot Linux from the CD without
  88.       needing an intermediate bootfloppy.
  89.  
  90.                          --------- +++  --------
  91.  
  92.  
  93. 2.    Features of LOADLIN
  94.       ===================
  95.  
  96.       LOADLIN is highly adaptable to different DOS configurations, and now
  97.       has very few loading restrictions. It makes use of extended memory and
  98.       also can load big kernels (bzImages) and ramdisk images (initrd)
  99.       directly high. The bzImage+initrd standard was jointly developed
  100.       by the LILO-author (Werner Almesberger) and the LOADLIN-author (me)
  101.       and is part of the official kernel since version 1.3.73.
  102.  
  103.       It is also capable of booting a UMSDOS-based system from a DOS drive.
  104.  
  105.       Some options (-v, -t, -d) produce debug information, so if you have
  106.       problems, you can follow what is really being done by LOADLIN.
  107.  
  108.       LOADLIN also can load out of Virtual-86 mode (which is normal when
  109.       using EMS drivers) if a VCPI server is present.
  110.  
  111.  
  112.  
  113.                          --------- +++  --------
  114.  
  115.  
  116.  
  117. 3.    How to use LOADLIN
  118.       ==================
  119.  
  120.       NOTE:
  121.  
  122.       LOADLIN is a utility which starts a "logical reload" of your machine,
  123.       causing DOS to be completely overlaid with Linux.  When you wish to
  124.       return to DOS you must use the Linux "reboot" command.
  125.  
  126.  
  127. 3.1.  What you need
  128.       -------------
  129.  
  130.       1. A 386 or higher CPU (of course!),
  131.          DOS or WINDOWS95 installed on your machine.
  132.  
  133.       2. Any compressed linux kernel image  (zImage, bzImage).
  134.          NOTE: zImage is the old kernel binary format, bzImage is the
  135.          new one ( kernel version >= 1.3.73), which can have a commpressed
  136.          size of 1Meg, hence taking kernels up to 2Meg uncompressed.
  137.          In the following we will refer only to zImage, though you may
  138.          put a bzImage in place of it.
  139.  
  140.       3. The  LODLIN16.TGZ  package, which includes among other things:
  141.  
  142.           ( Note: these are DOSish files )
  143.           LOADLIN.EXE
  144.           DOC\MANUAL.TXT (this file)
  145.           Example parameters file, DOC\TEST.PAR
  146.           DOC\PARAMS.DOC
  147.  
  148.  
  149. 3.2.  Booting from the DOS prompt
  150.       ---------------------------
  151.  
  152. 3.2.1 Quick start
  153.       -----------
  154.  
  155.       For the rest of this documentation I will assume that you have
  156.       unpacked  LODLIN16.TGZ  into the directory  C:\LOADLIN.
  157.  
  158.       At the DOS prompt you can type, for example:
  159.  
  160.          C:> CD \LOADLIN
  161.          C:\LOADLIN> LOADLIN zimage /dev/hdb1 ro vga=ask
  162.  
  163.       or, if you want to load a big kernel together with a RAM disk:
  164.  
  165.          C:\LOADLIN> LOADLIN bzimage /dev/ram rw initrd=diskimage
  166.  
  167.       or, if you have more parameters than will fit into the 128-byte
  168.       DOS command line:
  169.  
  170.          C:\LOADLIN> LOADLIN @params
  171.  
  172.       An example params file is "test.par".    Please read it.
  173.  
  174.       A detailed collection (extracted from kernel sources) of most
  175.       command line parameters can be found in the file  PARAMS.DOC
  176.       ( however, it is a bit out of date now )
  177.       A much better list of boot parameters can be found in Paul Gortmakers
  178.       BootPrompt-HOWTO, which can be access by WWW:
  179.  
  180.           http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html
  181.       or
  182.           http://rsphy1.anu.edu/~gpg109/BootPrompt-HOWTO.html
  183.  
  184.  
  185. 3.2.2 Quick help
  186.       ----------
  187.  
  188.       You can get online help and configuration analysis by typing:
  189.  
  190.          C:\LOADLIN> loadlin <enter>
  191.  
  192.       or, perhaps a bit more helpful:
  193.  
  194.          C:\LOADLIN> loadlin | more <enter>
  195.  
  196.  
  197.       You then get an output like this (from my machine) ....
  198.  
  199.       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  200.       LOADLIN v1.6 (C) 1994..1996 Hans Lermen <lermen@elserv.ffm.fgan.de>
  201.  
  202.       USAGE:
  203.         LOADLIN @params
  204.         LOADLIN [zimage_file] [options] [boot_params]
  205.           without any params, LOADLIN displays this help message.
  206.           @params:
  207.              params is a DOS file containing all other options
  208.           zimage_file:
  209.              DOS file name of compressed Linux kernel image
  210.           options:
  211.              -v        verbose, show information on params and configuration
  212.              -t        test mode, do all but starting Linux, also sets -v
  213.              -d file   debug mode, same as -t, but duplicates output to "file"
  214.              -clone    ( Please read MANUAL.TXT before using this switch! )
  215.              -n        no translation for root=/dev/...
  216.              -txmode   switch to textmode 80x25 on startup
  217.              -noheap   disable use of setup heap
  218.              -wait=nn  after loading wait nn (DOS)ticks before booting Linux
  219.              -dskreset after loading reset all disks before booting Linux
  220.           boot_params:
  221.              root=xxx  filesystem to be mounted by Linux as "/"
  222.                        (string passed unchanged to the kernel)
  223.                   xxx = hex number (e.g. root=201 for /dev/fd1)
  224.                       = /dev/mmmn (e.g. root=/dev/hda2)
  225.                              mmm = fd,hda,hdb,sda,sdb...
  226.                              n   = 1..10.. decimal
  227.              ro        mount "/" readonly
  228.              rw        mount "/" read/write
  229.              initrd=x  (for kernels > 1.3.72) load file x into /dev/ram. If FS in x
  230.                        contains /linuxrc, execute it, and then remount to root=xxx.
  231.                        If root=/dev/ram, just load, bypass execution of /linuxrc
  232.  
  233.           for more boot params see PARAMS.TXT or Paul Gortmakers HOWTO:
  234.             http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html
  235.             http://rsphy1.anu.edu/~gpg109/BootPrompt-HOWTO.html
  236.  
  237.       Your current DOS/CPU configuration is:
  238.         load buffer size: 0x0082D000 VCPI, setup buffer size:  0x3E00 (reloc setup)
  239.         lowmem buffer:    0x0006DC00 (part of load buffer)
  240.         total memory:     0x01000000
  241.         CPU is in V86 mode
  242.         SetupIntercept: YES, patching setup code
  243.         stat4: VCPI_present, physmap=logmap, all OK for switch to realmode
  244.         input params (size 0x0000):
  245.  
  246.         LOADLIN started from DOS-prompt
  247.  
  248.       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  249.  
  250.       NOTE: All LOADLIN options (such as -t,... ) MUST come before
  251.             the Linux command_line params
  252.  
  253.  
  254. 3.2.3 Starting linux from a batch file (LINUX.BAT)
  255.       --------------------------------------------
  256.  
  257.       Most DOS users have disk caching (e.g. SMARTDRV) activated.
  258.       If "write-behind" caching is supported by the cache program,
  259.       then any unwritten cache buffers MUST be flushed before
  260.       LOADLIN is called.
  261.  
  262.       Example:
  263.  
  264.        C\LOADLIN> smartdrv /C    do this to "sync" your disk (usually not
  265.                                   needed for DOS 6.2, but it doesn't hurt)
  266.        C\LOADLIN> loadlin ....
  267.  
  268.  
  269.       It would be much smarter to use a batch file something like this:
  270.  
  271.       +-------------------- start of LINUX.BAT
  272.       |
  273.       |  SMARTDRV /C
  274.       |  C:\LOADLIN\LOADLIN C:\LOADLIN\ZIMAGE root=/dev/hdb2 ro vga=3
  275.       |
  276.       +-------------------- end of LINUX.BAT
  277.  
  278.  
  279.       So you could simply type:
  280.  
  281.        C> linux
  282.  
  283.       ... and you are on the road!
  284.  
  285.       A sample LINUX.BAT file is provided with the LOADLIN package.
  286.  
  287.  
  288.  
  289. 3.2.4 Loading Ramdisks with newer kernels
  290.       -----------------------------------
  291.  
  292.       If you have a kernel image which is newer than version 1.3.72,
  293.       LOADLIN can load the ramdisk directly from a file and let
  294.       Linux mount the ramdisk (/dev/ram) as root filesystem.
  295.       The file must contain the image of any Linux supported
  296.       file system, such as minix or ext2. The technique used is
  297.       called 'initrd' and is more flexible than the old loading
  298.       from floppy. There can be the following cases:
  299.  
  300.       A) You simple want to load the ramdisk and have that mounted as
  301.          root FS.
  302.  
  303.          C\LOADLIN> loadlin zimage root=/dev/ram rw initrd=imagefile
  304.  
  305.          You will see two LOADING.... sequences, one for the kernel
  306.          and the other for the ramdisk.
  307.  
  308.       B) You want to have the ramdisk loaded and mounted only to
  309.          bootstrap a bigger system. Your kernel has only support
  310.          for few driver, but not all. Well, then the contents
  311.          of your ramdisk image must contain an executable '/linuxrc'
  312.          which is able to load kernel modules (via insmod). After
  313.          /linuxrc has terminated, the root FS is remounted either
  314.          to the device you supplied via root=/dev/..., or to the
  315.          device that /linuxrc has chosen. This technique is described
  316.          in detail in the file linux/Documentation/initrd.txt which is
  317.          part of the kernel source. The LOADLIN call for
  318.          loading such a configuration is:
  319.  
  320.          C\LOADLIN> loadlin zimage root=/dev/hda1 ro initrd=imagefile
  321.  
  322.       The non-initrd method, i.e. _not_ LOADLIN loads the ramdisk
  323.       but the kernel does it from a floppy, has changed with Linux 1.3.48.
  324.       It now look like this:
  325.  
  326.          C\LOADLIN> loadlin zimage root=/dev/fd0 rw load_ramdisk=1
  327.  
  328.       or, if you want have a prompt before inserting the floppy:
  329.  
  330.          C\LOADLIN> loadlin zimage root=/dev/fd0 rw load_ramdisk=1 prompt_ramdisk=1
  331.  
  332.       The size of the ramdisk is allocated dynamically.
  333.       NOTE: In all cases the ramdisk image may be compressed (gziped)
  334.  
  335.  
  336.  
  337. 3.2.5 Floppys and Ramdisks using older kernels ( Linux < 1.3.48 )
  338.       -----------------------------------------------------------
  339.  
  340.       If LOADLIN encounters  ramdisk=xxxx  together with  root=/dev/fdx
  341.       it loads the kernel image into memory, but before starting up
  342.       Linux it prompts for insertion of the root floppy.
  343.  
  344.       This enables you to boot DOS (and start LOADLIN) from the same
  345.       floppy drive as the root disk.
  346.  
  347.       Of course, this is a two-floppy boot, but with Linux becoming
  348.       bigger and bigger there will be no room on the root floppy to
  349.       hold both the kernel image and the root filesystem.  With
  350.       LOADLIN there is no need for any fancy tricks to install a
  351.       distribution when your drive configuration doesn't match that
  352.       of the distribution.
  353.  
  354.       Examples:
  355.  
  356.         LST distribution comes only with a 3.5 inch floppy
  357.         but your drive A: is 5.25 inch.
  358.  
  359.         Slackware 3.0 has a big directory tree with lots of possible
  360.         drive constellations.  With LOADLIN you need only the image disk
  361.         and an appropriate root disk.
  362.  
  363.  
  364. 3.2.6 System constraints
  365.       ------------------
  366.  
  367.       With LOADLIN-1.6 there are _very_ few contraints left, given you
  368.       use a newer kernel, because the kernel now supports LOADLIN and
  369.       aids to overcome the restrictions of old LOADLIN-1.5.
  370.       The * (asterix) marked parts below only apply, if your kernel
  371.       is an old one (not supporting LOADLIN).
  372.  
  373.       *  There must be enough memory to load the compressed kernel image
  374.          (between the start of LOADLIN and 090000h).
  375.  
  376.       -  If loading newer kernels, you must have enough konventional
  377.          plus extended/XMS/VCPI memory to temporary hold the image
  378.          (and eventually the ramdisk image)
  379.  
  380.       -  The field "load buffer size" of the LOADLIN verbose output
  381.          tells you what you really have.
  382.  
  383.       *  The setup program and LOADLIN itself go into 090000h ... 09B000h,
  384.          therefor you MUST have 640 K byte of base memory.
  385.  
  386.       -  Starting with Linux 1.1.43 the setup program does no longer
  387.          fit into 2 K, so it is made of variable size and will grow
  388.          over the time. Currently (1.3.91) setup is 9 * 512 bytes
  389.          long and the setup buffer of LOADLIN has 31 * 512 bytes,
  390.          so this will work for a long time.
  391.  
  392.       -  The field "setup buffer size" of the LOADLIN verbose output
  393.          tells you what you really have.
  394.  
  395.       *  The remaining 12 Kbyte memory on top of the 640 K is
  396.          hopefully enough for BIOS- and highloaded driver-data.
  397.  
  398.  
  399.       -  DOS programs can be executed only in the so-called real mode
  400.          (or on >386 in virtual-86 mode (V86)).
  401.  
  402.          Linux, however, runs in protected mode, and the kernel must be
  403.          able to enter privilege level 0 (P0, supervisor mode).  However,
  404.          from V86 it is impossible to switch to protected mode P0 if the
  405.          V86 server does not allow this (as is the case with DPMI).
  406.  
  407.          Therefore:
  408.          - You must be in 86 real mode (no EMS driver, no WINDOWS,
  409.            no Windows 95 Graphics mode ...).
  410.              or
  411.          - You must have the VCPI server enabled in your EMS driver (still
  412.            not running WINDOWS or Windows 95, however).
  413.            Using EMM386 please avoid the NOVCPI-option, but NOEMS doesn't hurt.
  414.  
  415.          VCPI allows P0 and is supported by most EMS drivers, but never under
  416.          MS-WINDOWS or Windows 95 (MICROSOFT doesn't like P0 for users).
  417.  
  418.       -  Physical-to-Virtual memory mapping must be identical for the first
  419.          640K of RAM, which is a given under normal conditions but which
  420.          also can be forced, typically by an EMS driver option like:
  421.  
  422.            EXCLUDE=1000-A000     (for 386MAX)
  423.              or
  424.            B=A000                (for EMM386.EXE, but normally not needed).
  425.  
  426.  
  427.          Check the manual for your EMS driver for details.
  428.          Don't worry, if something is missing LOADLIN will tell you.
  429.  
  430.          NOTE:
  431.  
  432.          May be that your VCPI server does garbage collection before
  433.          entering protected mode, so please BE PATIENT, especially
  434.          on systems with many mega bytes !
  435.  
  436.       -  Of course you must not execute LOADLIN out of Linux DOSEMU !
  437.          If you do it, fortunately DOSEMU terminates because DOSEMU has
  438.          no VCPI server, so your file systems remain intact.
  439.  
  440.  
  441.  
  442. 3.3   Booting from CONFIG.SYS
  443.       -----------------------
  444.  
  445.       Starting with DOS version 6.0 it is possible to boot different
  446.       configurations during the startup of MSDOS. This is handled at the
  447.       time of CONFIG.SYS interpretation.  Therefore this is often a good
  448.       place to put the LOADLIN/Linux stuff.
  449.  
  450.       Even if you have decided to boot DOS, you can boot Linux later,
  451.       either from the DOS command line or from a batch file.
  452.  
  453.  
  454.  
  455. 3.3.1 Example of a CONFIG.SYS file (DOS)
  456.       ---------------------------------
  457.  
  458.       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  459.       SWITCHES=/F
  460.  
  461.       [MENU]
  462.       menuitem=DOS, DOS boot
  463.       menuitem=LINUX_1, LINUX boot
  464.       menuitem=LINUX_2, LINUX boot via param file
  465.       menuitem=LINUX_3, LINUX boot via param file, but overwrite root device
  466.       menuitem=LINUX_4, Create a dump file for bug report
  467.  
  468.  
  469.       [DOS]
  470.       device=c:\dos\himem.sys
  471.       device=c:\dos\emm386.exe 2048 ram
  472.       DOS=HIGH,UMB
  473.       SHELL=C:\COMMAND.COM C:\ /e:1024 /p
  474.       ...   etc.,  etc.,  etc.
  475.  
  476.  
  477.       [LINUX_1]
  478.       shell=c:\loadlin\loadlin.exe c:\loadlin\zimage root=/dev/hdb2 ro
  479.  
  480.  
  481.       [LINUX_2]
  482.       shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par
  483.  
  484.  
  485.       [LINUX_3]
  486.       shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par root=/dev/hdb2
  487.  
  488.  
  489.       [LINUX_4]
  490.       shell=c:\loadlin\loadlin.exe c:\loadlin\zimage -d c:\dump.txt root=/dev/hda1
  491.       rem                                            ^^^^^^^^^^^^^^
  492.       rem  This writes debug information to a file ---------^
  493.       rem  All is set up as usual, but Linux is not loaded and LOADLIN idles.
  494.       rem  CAUTION: Don't do this if you haven't a [MENU] in CONFIG.SYS,
  495.       rem           because you then need a DOS System floppy to boot normally.
  496.  
  497.  
  498.       [COMMON]
  499.       rem   Here we put any other "common" configuration stuff ....
  500.  
  501.       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  502.  
  503.  
  504. 3.3.2 Example of a CONFIG.SYS file (Windows 95)
  505.       -----------------------------------------
  506.  
  507.       Having Windows 95 and Linux together on your machine, requires that
  508.       you switch off some option in the hidden C:\MSDOS.SYS file.
  509.       (which is a text file in Windows 95).
  510.       NOTE:   DO NOT TRY TO START LOADLIN FROM WITHIN THE GUI !
  511.       Change attribs of C:\MSDOS.SYS, so that it becomes visible and edit it:
  512.  
  513.       C:\MSDOS.SYS --------------------------------------
  514.       BootGUI=0
  515.       Logo=0
  516.       ...
  517.       ---------------------------------------------------
  518.  
  519.       This will avoid booting directly into the GUI and will you get a
  520.       normal DOS prompt when chosing menuitem W95.
  521.       ( To enter the GUI you only have to type:     C:>win    )
  522.       Logo=0 switches the (graphics) logo off.
  523.       There have been reports, that together with some graphic cards,
  524.       Linux may come up with a 'blind' screen, if the Logo is displayed
  525.       prior to booting.
  526.  
  527.       C:\CONFIG.SYS -------------------------------------
  528.       [menu]
  529.       menuitem=W95, Boot W95 DOS
  530.       menuitem=LINUX, Boot Linux
  531.       menudefault=W95,10
  532.  
  533.       [W95]
  534.       rem all what you need for DOS
  535.       ...
  536.  
  537.       [LINUX]
  538.       shell=c:\loadlin\loadlin.exe @C:\loadlin\linuxpar.1
  539.  
  540.       [COMMON]
  541.       rem THERE SHOULD BE NOTHING for COMMON
  542.       rem move all you have to W95 part
  543.       ---------------------------------------------------
  544.  
  545.  
  546.  
  547. 3.3.3 Constraints in CONFIG.SYS syntax
  548.       --------------------------------
  549.  
  550.       1. All parameters on the "shell=" lines are converted to uppercase
  551.          by DOS, but Linux parameters are case sensitive. LOADLIN converts
  552.          the following parameters back to lowercase:
  553.  
  554.            root=...
  555.            ro
  556.            rw
  557.            mem=...
  558.            no387
  559.            single
  560.            auto
  561.            debug
  562.            no-hlt
  563.            reserve=...
  564.            hd=...
  565.            xd=...
  566.            bmouse=...
  567.            max_scsi_luns=
  568.  
  569.          Also, when using 'shell=loadlin.exe @params more_params'
  570.          out of CONFIG.SYS, all of 'more_params' will be converted to lowercase.
  571.  
  572.          The following parameters are not put onto the commandline, but
  573.          converted to numeric values for the boot sector:
  574.  
  575.            vga=...
  576.            ramdisk=
  577.  
  578.  
  579.       2. You can bypass the uppercase/lowercase problem by using a parameter
  580.          file.   An example  CONFIG.SYS  line would be:
  581.  
  582.          [LINUX]
  583.          shell=c:\loadlin\loadlin.exe @c:\loadlin\params
  584.  
  585.          You may ovewrite params which are _in_ the file by
  586.          those coming behind the @..., such as
  587.  
  588.          [LINUX]
  589.          shell=c:\loadlin\loadlin.exe @c:\loadlin\params root=/dev/other
  590.  
  591.          An example parameter file is "test.par".  Please read it.
  592.  
  593.  
  594.                          --------- +++  --------
  595.  
  596.  
  597.  
  598.  
  599. 4.    The LOADLIN command line parameters
  600.       ===================================
  601.  
  602.       Note that if you use a parameters file (for example  @TEST.PAR),
  603.       this must be the FIRST parameter you use on the LOADLIN command
  604.       line.  Other parameters, including the name of the zImage file,
  605.       are contained within the parameters file.
  606.  
  607.       All parameter behind the @.. will be inserted after the
  608.       parameters file has been read, and equal keywords are replaced.
  609.       The first name within the parameters file _must_ be the
  610.       kernel image file, if you want to overwrite it, you have to
  611.       use the keyword 'image=' such as:
  612.  
  613.          C:> loadlin @test.par image=otherfile
  614.  
  615.       When Linux boots it gets a runstring passed from setup
  616.       (the program that checks the basic hardware configuration
  617.       and puts the machine into protected mode ). This string, the
  618.       command line, is then checked for some well known compiled-in
  619.       keywords.  Some are used to change kernel variables (such as
  620.       mem=, root=, ro, rw, no387), some are passed to the device
  621.       drivers (such as ether=, hd=, sound=) and some (such as single
  622.       and auto) are passed as options to /etc/init (or /bin/init or
  623.       /sbin/init, whatever is found first).
  624.  
  625.       See the file "PARAMS.DOC" for details.
  626.  
  627.       Any unknown keywords of format "keyword=value" are placed in
  628.       "envp_init", which is also passed to /linuxrc (if you have initrd=)
  629.       and to /etc/init.  This environment string can be checked in /etc/rc*
  630.       (/etc/rc.d/rc.*). The whole commandline also is available
  631.       via /proc/cmdline.
  632.  
  633.  
  634. 4.1   Maximum length of the command line
  635.       ----------------------------------
  636.  
  637.       The length of a DOS command line can be 127 bytes (including
  638.       the program name).  With a params file (@param)
  639.       the length of the string passed to the kernel can in theory be
  640.       2047 bytes, but the string is held in a temporary place and must
  641.       be copied by the kernel to a save static buffer in init/main.
  642.       This forces the maximum length to a compiled-in constant, which
  643.       currently is 256 bytes.
  644.       If you need a greater size, you can simply change COMMAND_LINE_SIZE
  645.       in arch/i386/kernel/setup.c.
  646.  
  647.  
  648.  
  649.  
  650.                          --------- +++  --------
  651.  
  652.  
  653.  
  654. 5.    If you have problems
  655.       ====================
  656.  
  657.       With the thousands of possible hardware/software configurations of a PC,
  658.       a program can never be totally bug-free.
  659.       So please, I need your feedback regarding problems you encounter.
  660.  
  661.       If you recognize a bug, please don't work around it, mail it to me !
  662.  
  663.       But, if you report a problem, I need information!  Something like
  664.       "My screen always displays in blue, what is wrong?"  is not enough.
  665.  
  666.       LOADLIN can produce information for me (and for you) if you use
  667.       the -d or -t switch.
  668.  
  669.  
  670.  
  671. 5.1   Problems detecting V86
  672.       ----------------------
  673.  
  674.       On some 486 clones we have problems with CR0 while probing for V86 mode.
  675.       (as reported by Jacek Zapala zapala@if.pw.edu.pl ).
  676.       It can happen that the CPU is in realmode, but PAGING is enabled !
  677.       This is possible, but neither documented nor supported by INTEL.
  678.       May be the motherboard's BIOS is mapping shadow ram this way,
  679.       or one of those old and strange EMM managers is used,
  680.       but probably this is an indication of a not exactly compatible
  681.       486 clone. The -clone switch byepasses the CR0 check and assumes
  682.       V86 if an EMM manger is found.
  683.       But of course this EMM manager must not use real paging !
  684.  
  685.       On the other hand, if LOADLIN detects V86 _and_ you are sure that the
  686.       machine is in _real_ realmode, then you may use the -f switch
  687.       in order to force LOADLIN to 'detect' realmode.
  688.       NOTE: This option intentionaly is not mentioned elsewere, because
  689.       it realy is dangerous.
  690.  
  691.  
  692. 5.2.  Description of debug output (-v,-t,-d)
  693.       --------------------------------------
  694.  
  695.       The ouput produced by the -v, -t or -d options occurs at the point at
  696.       which the boot sector and setup are loaded and updated by LOADLIN.
  697.       The information is that seen by Linux, but in the case of -t and -d,
  698.       the zimage file is not loaded and linux is not started.
  699.  
  700.       Description:
  701.  
  702.       Your current LINUX kernel boot configuration is:
  703.         image file:       d:\tmp\1-1-47.0     <- filename of kernel image
  704.         kernel size:     0x5BFF0              setup size:  0x0A00
  705.                          ^                    ^- size of setup in bytes
  706.                          |---------------------- size of kernel in bytes
  707.         kernel version:   1.1.47 (root@el15) #4 Mon Aug 00:57:07 MET DST 1994
  708.                           ^---- this only if setup.S has the LOADLIN patches
  709.         VGA mode:         0xFFFF              <- video mode at startup
  710.         command line (size 0x0015):           <- contents of command_line as
  711.           BOOT_IMAGE=zimage                      seen by Linux
  712.  
  713.       Your current DOS/CPU configuration is:
  714.                                      +-----------using VCPI buffer, this also
  715.                                      |           can be EXT or XMS.
  716.         load buffer size: 0x0081F000 VCPI, setup buffer size:  0x3E00
  717.                          ^                    ^- size of buffer in bytes which
  718.                          |                       holds the setup code.
  719.                          |                       must be >= "setup size"
  720.                          |---------------------- buffer space in bytes which
  721.                                                  can hold the uncompressed image
  722.                                                  and the initrd.
  723.         lowmem buffer:    0x0006D000 (part of load buffer)
  724.                            ^-------------------- the low mem part of buffer space
  725.         total memory:     0x0FE0000           <- highest RAM address as seen
  726.                                                   by Linux, calculated from the
  727.                                                   INT15 information
  728.         CPU is in V86 mode                    <- if in Virtual-86 mode
  729.       or
  730.         CPU is in REAL mode
  731.       or
  732.         CPU is in undocumented REAL PAGING mode, trying any way
  733.  
  734.  
  735.         SetupIntercept: NO                    <- using LOADLIN-1.4 mode
  736.       or
  737.         SetupIntercept: YES, patching setup code  <- using Javier's method
  738.       or
  739.         SetupIntercept: YES, legal intercept      <- dito, but legal Setup
  740.                                                      (compiled in patches)
  741.  
  742.  
  743.       One of four possible status messages may appear here:
  744.  
  745.         stat1: cpu in real 386 mode
  746.         stat2: cpu_V86, but no VCPI available (check aborted)
  747.         stat3: VCPI_present, but physmap != logmap (check aborted)
  748.         stat4: VCPI_present, physmap=logmap, all OK for switch to realmode
  749.  
  750.  
  751.       The following may come from the DOS command line or from the params file:
  752.  
  753.         input params (size 0x000c):           <- contents of DOS command line
  754.           ..\zimage -t
  755.  
  756.  
  757.       Some additional information and/or warnings can follow:
  758.  
  759.         LOADLIN started from DOS-prompt       <- one of these two Lines
  760.            "       "     "   CONFIG.SYS       <- (LOADLIN assumes the environ.
  761.                                                   has a  COMSPEC=  for DOS)
  762.  
  763.         You are running under MS-WINDOWS      <- this warning, if in WINDOWS.
  764.                                                  (LOADLIN assumes the environ.
  765.                                                   has a  WINDIR=  for WINDOWS)
  766.  
  767.  
  768.  
  769.                          --------- +++  --------
  770.  
  771.  
  772.  
  773. 6.    Where to send comments and bug reports
  774.       ======================================
  775.  
  776.       Comments and bug reports are welcome and may be sent to:
  777.  
  778.       E-Mail:    lermen@elserv.ffm.fgan.de
  779.  
  780.       SnailMail: Hans Lermen
  781.                  Am Muehlenweg 38
  782.                  D53424 REMAGEN-Unkelbach
  783.                  GERMANY
  784.  
  785.  
  786.       ... and PLEASE, PLEASE, PLEASE:
  787.           Check your "Reply to" path for a valid E-Mail address,
  788.           I get many "bounced" mails back ! It's not a fun having
  789.           answered your mail for the trash.
  790.  
  791.                          --------- +++  --------
  792.  
  793.  
  794.  
  795. 7.    Contributions and Credits
  796.       =========================
  797.  
  798.       Version-1.6 of LOADLIN ist part of a jointly developed new
  799.       booting strategie (bzImage+initrd) for both LILO and LOADLIN,
  800.       so I say many thanks to Werner Almesberger for cooperating with me.
  801.  
  802.       Thanks to Hubert Mantel from S.u.S.E GmbH, who compiled 'lots'
  803.       of kernels with the bzImage+initr patches, and testet them havily
  804.       on several  machines. Without him the patches never would have
  805.       stabilized as quickly.
  806.       He also was the first to realize a reasonable working /linuxrc.
  807.  
  808.       This program would be absolutely superfluous without Linus Torvalds,
  809.       and thanks to him for putting our patches into the official kernel.
  810.  
  811.       This program could not have been written as quickly without the
  812.       information found in the source code of F.Coutant's BOOTLIN.
  813.  
  814.       Jacques Gelinas encouraged me in realizing the VCPI-support.
  815.  
  816.       Alessandro Rubini contributed some code from his linuxEXE package
  817.       and gave some important hints.
  818.  
  819.       Chuck Munro gave hints concerning problems with QEMM and ALPHA-
  820.       tested version 1.4.
  821.       He also did much work for better documentation.
  822.  
  823.       Javier Achirica invented the switch-out-of-setup method (LOADLIN-1.5).
  824.       The trick is: let setup run in V86 and intercept just before
  825.       going to protected mode.
  826.  
  827.  
  828.       Important problem and bug reports came from:
  829.  
  830.       Mitchum Dsouza, UK
  831.       Claus Tondering, Denmark
  832.       Johann Friedrich Heinrichmeyer, Germany
  833.       Jacek Zapala, Poland
  834.       Jon Peatfield, UK
  835.       Matthias Sattler, Germany
  836.       Pim Zandenberg, Netherlands
  837.  
  838.       Thanks also to all the ALPHA testers, who responded on my
  839.       "call for testers". The list is too long to put it here,
  840.       but some of them did heavy testings:
  841.  
  842.       Michael Goddard, US
  843.       Shih-Hua Chao, US
  844.       Rene Baart, Netherlands
  845.       Asad Khan,
  846.       Jan Lien, Sweden
  847.  
  848.  
  849.       Many thanks also to those people, who did not have any
  850.       problems with LOADLIN, but nevertheless mailed me "it works"
  851.       ( positive feedback is the best one ).
  852.  
  853.  
  854.                          --------- END --------
  855.  
  856.