Linux/m68k Amiga Bootstrap version 5.6 -------------------------------------- Maintained by Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be) Last revised: June 12, 1997 0. Introduction --------------- Amiboot is used to boot Linux/m68k on Amiga from the CLI/Shell. Before you try to boot Linux/m68k for the first time, please read the FAQ http://www.clark.net/pub/lawrencc/linux/faq/faq.html and the Installation Guide http://www.informatik.uni-oldenburg.de/~amigo/inst.html first. Although the Installation Guide is getting a bit outdated, it's still a good starting point. Amiboot 5.6 is meant for Linux/m68k 2.0.x, 2.1.x or higher (kernel bootinfo interface versions 1.x and 2.x). Please use an older version for older kernels. 1. Running Amiboot ------------------ The Amiboot invocation syntax looks like amiboot [options] [kernel command line] Basic options: --help Display the usage information --kernel file Use kernel image `file' (default is `vmlinux') --ramdisk file Use ramdisk image `file' Advanced options: --debug Enable debug mode --baud speed Set the serial port speed (default is 9600 bps) --memfile file Use memory file `file' --keep-video Don't reset the video mode --model id Set the Amiga model to `id' --processor cfm Set the processor type to `cfm' The kernel command line contains the options you want to pass to the kernel and to init, the process that's started first by Linux. Please read linux/Documentation/m68k/kernel-options.txt for more information. Normally you only use the --kernel option to specify the file that contains the Linux/m68k kernel image, and --ramdisk if you want to boot from a ramdisk file, i.e. a file containing a complete file system, instead of from a hard disk partition. Note that both the kernel image and the ramdisk image can be compressed with gzip. Amiboot knows how to deal with gzipped kernel images, and the kernel recognizes gzipped ramdisk images. Example: amiboot -k vmlinux-2.1.13 root=/dev/hda3 video=font:PEARL8x8 Amiboot will boot the kernel image `vmlinux-2.1.13' and will pass `root=/dev/hda3 video=font:PEARL8x8' to the kernel. The other options are more advanced. Don't use them unless you really have to and you know what you're doing. The --baud option allows you to specify the serial port speed for initial boot information and initial kernel messages. Note: this option does not work with kernels with bootinfo interface versions prior to 2.0. The --memfile option is used to specify the blocks of memory that will be used by Linux. The --keep-video option is necessary if you want to retain the current graphics mode (on a graphics board) under Linux. Currently this is only useful if you have a CyberVision 64 graphics board. Finally, --model and --processor allow you to specify your Amiga model and processor type if they are detected incorrectly, and --debug dumps some information which simplifies debugging. 2. The memory file ------------------ If you have some non-AutoConfig memory you want to use under Linux, or if you want to disable some parts of your memory (e.g. Zorro II RAM on '040 based systems), you have to use a memory file and the --memfile option. This file contains information about the memory chunks you want to use under Linux. The format for the file is: chipramsize [0xfastchunkaddr fastchunksize] [0xfastchunkaddr fastchunksize] ... For example, if you don't want Linux to use your 2nd meg of chipram, you would create a file that contains only: 1048576 If you had 1M of chip ram, 2M of 16 bit FAST ram at address 0x200000 and 16M of 32 bit FAST ram at address 0x80000000, and you didn't want Linux to use the slow 16 bit FAST ram, you'd create a file that looks like: 1048576 0x80000000 16777216 The memory file can also be used to specify in which block of memory the kernel will be put. Normally Amiboot will put the kernel in the first block of Fast RAM it will find. If you use a memory file, it will put the kernel in the first block of fast RAM you specify. 3. Amiga models --------------- If Amiboot incorrectly detects the model of your Amiga, you can force it to detect any model you want using the --model option. `id' must be one of the numbers as defined in linux/include/asm-m68k/amigahw.h (AMI_*). Currently the following models are known: Model ID ----- -- Amiga 500 1 Amiga 500+ 2 Amiga 600 3 Amiga 1000 4 Amiga 1200 5 Amiga 2000 6 Amiga 2500 7 Amiga 3000 8 Amiga 3000T 9 Amiga 3000+ 10 Amiga 4000 11 Amiga 4000T 12 CDTV 13 CD32 14 Draco 15 Note that Amiboot can't distinguish among Amiga models that are very similar to each other (e.g. A500/A1000/A2000/A2500 and A3000/A3000T). Of course this is harmless and there's no real need to use --model in that case. Please send me the output of amiboot used with the --debug option if your Amiga model is detected incorrectly. 4. Processor types ------------------ If your processor is detected incorrectly, you can override this using the `--processor cfm' option. `cfm' must be a three-digit number with - `c' the CPU (Central Processing Unit) type, - 'f' the FPU (Floating Point Unit) type, - 'm' the MMU (Memory Management Unit) type, from the table below: value | CPU | FPU | MMU -------+-------+-------+------- 0 | - | - | - 1 | 68020 | 68881 | 68851 2 | 68030 | 68882 | 68030 3 | 68040 | 68040 | 68040 4 | 68060 | 68060 | 68060 e.g. `444' if you have a 68060 and `303' if you have a 68LC040. Note that normally you don't have to use this option. It's only needed for some combinations of an old Kickstart ROM and a new processor (e.g. a 68060). 5. Abbreviations ---------------- All options also have a shorthand: --help -h --kernel -k --ramdisk -r --debug -d --baud -b --memfile -m --keep-video -v --model -t --processor -p 6. Miscellaneous ---------------- Some expansion boards keep on generating interrupts once they were initialized under AmigaOS. This can cause an interrupt deadlock while booting Linux. The following boards are recognized and disabled: o Helfrich Rainbow 3 Graphics Board o Helfrich Piccolo Graphics Board o Helfrich SD64 Graphics Board o Village Tronic Ariadne Ethernet Board o Hydra Systems Amiganet Ethernet Board The following boards are known to cause problems but we don't have a disable routine for them yet: o Commodore A2060 Arcnet Card o Ameristar A560 Arcnet Card If you write a routine to disable an expansion board, please let me know. 7. Troubleshooting ------------------ - Amiboot says This bootstrap is too old/new for this kernel This means that you're using a version of Amiboot that's not compatible with the kernel you want to boot. Solution: use the correct Amiboot, or use another kernel. - Amiboot says Warning: too many AutoConfig devices. Ignoring device at 0x???????? or Warning: too many memory blocks. Ignoring block of ???K at 0x???????? This means that you have more AutoConfig devices or memory chunks than Amiboot supports. Note that you can still boot Linux/m68k, but that the additional devices or memory blocks can't be used. Solution: increase the ZORRO_NUM_AUTO (for AutoConfig devices) or NUM_MEMINFO (for memory chunks) values in the kernel sources (linux/include/asm-m68k/zorro.h and linux/include/asm-m68k/setup.h) and recompile both Amiboot and the kernel. - If all you get is a grey screen, or if Linux/m68k suddenly locks up during booting, try the following things: o Boot with the Startup-Sequence disabled, run SetPatch and try again. o If that doesn't work, remove any expansion devices and retry. o Check the detected Amiga model and processor type. o Look at the characters that are dumped to the serial port during booting. 8. Amiga-Lilo ------------- Once you have a stable Linux/m68k installation, you may want to try Amiga-Lilo. Amiga-Lilo allows you to boot Linux/m68k without the overhead of booting AmigaOS first, and it provides you with a boot menu. 9. Credits ---------- This readme was written by Geert Uytterhoeven. A lot of information was taken from the ANNOUNCE-* files by Hamish Macdonald.