From c19d700d0608cba8d8d208238846b94505612c29 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 23 Feb 2000 11:16:10 +0000 Subject: no_comment --- tools/alpha/cd/Makefile | 4 + tools/alpha/cd/up1000/5100440A.txt | 25 +++ tools/alpha/cd/up1000/README.txt | 16 ++ tools/alpha/cd/up1000/apb.cfg | 2 + tools/alpha/cd/up1000/apb.exe | Bin 0 -> 120832 bytes tools/alpha/cd/up1000/install.txt | 356 +++++++++++++++++++++++++++++++++++++ tools/alpha/cd/up1000/up1000.pal | Bin 0 -> 30464 bytes 7 files changed, 403 insertions(+) create mode 100644 tools/alpha/cd/up1000/5100440A.txt create mode 100644 tools/alpha/cd/up1000/README.txt create mode 100755 tools/alpha/cd/up1000/apb.cfg create mode 100755 tools/alpha/cd/up1000/apb.exe create mode 100644 tools/alpha/cd/up1000/install.txt create mode 100644 tools/alpha/cd/up1000/up1000.pal (limited to 'tools/alpha/cd') diff --git a/tools/alpha/cd/Makefile b/tools/alpha/cd/Makefile index c5235660b..9a1408381 100644 --- a/tools/alpha/cd/Makefile +++ b/tools/alpha/cd/Makefile @@ -2,3 +2,7 @@ install: cp -f README $(ROOTDEST) install -d $(ROOTDEST)/etc cp -f aboot.cnf $(ROOTDEST)/etc + + install -d $(ROOTDEST)/boot + cp -a up1000 $(ROOTDEST)/boot + mv -f $(ROOTDEST)/boot/up1000/apb.* $(ROOTDEST) diff --git a/tools/alpha/cd/up1000/5100440A.txt b/tools/alpha/cd/up1000/5100440A.txt new file mode 100644 index 000000000..ba6c5a9f1 --- /dev/null +++ b/tools/alpha/cd/up1000/5100440A.txt @@ -0,0 +1,25 @@ +The source code for the object code and executable programs licensed + +under GNU General Public License Version 2, June 1991 are available + +from Alpha Processor, Inc. at the API web site + + + + http://www.Alpha-Processor.COM + + + +For each distributed object or executable form of the programs, you + +will find an identifying API part number. You may use that part + +number to find the corresponding machine-readable source code. + + + +If you have any questions, contact Customer Support at API. + + + +51-0044-0A \ No newline at end of file diff --git a/tools/alpha/cd/up1000/README.txt b/tools/alpha/cd/up1000/README.txt new file mode 100644 index 000000000..88f8855d3 --- /dev/null +++ b/tools/alpha/cd/up1000/README.txt @@ -0,0 +1,16 @@ +Known issues with the UP1000 system: + +1. Linux boot via floppy disk drive: + When booting Linux via APB, it takes about 5 minutes for APB to load the kernel image from a floppy device. Booting from a hard disk takes a matter of seconds. + +2. 2x AGP card: + a. At the present time, 2x AGP driver for Linux is not available so 2x mode has not been tested. + b. The following cards have been used in 1x AGP mode: cards with Permedia-2 controller: Fire + GL1000, ELSA Synergy, E&S, Matrox Millenium G200 and Stealth 2000. + c. 3Dfx Rage Pro Turbo card does not work because the option ROM on the AGP card is + not properly emulated by Alpha BIOS. + +3. Linux installation: + a. To install Linux, please click the "Utilities" menu in the Alpha BIOS setup mode and the + "Run Maintenance Program". And follow the Linux installation procedure that API provides. + b. Please do not use the "Install Linux" menu in the "Operating System" menu. \ No newline at end of file diff --git a/tools/alpha/cd/up1000/apb.cfg b/tools/alpha/cd/up1000/apb.cfg new file mode 100755 index 000000000..366e42bb4 --- /dev/null +++ b/tools/alpha/cd/up1000/apb.cfg @@ -0,0 +1,2 @@ +floppy|bootl boot/up1000/up1000.pal boot/instboot.gz root=/dev/fd0 load_ramdisk=1 mdkinst rw ramdisk_size=32000 +floppy_text|bootl boot/up1000/up1000.pal boot/instboot.gz root=/dev/fd0 load_ramdisk=1 mdkinst rw ramdisk_size=32000 text diff --git a/tools/alpha/cd/up1000/apb.exe b/tools/alpha/cd/up1000/apb.exe new file mode 100755 index 000000000..4b3aa6099 Binary files /dev/null and b/tools/alpha/cd/up1000/apb.exe differ diff --git a/tools/alpha/cd/up1000/install.txt b/tools/alpha/cd/up1000/install.txt new file mode 100644 index 000000000..61dff54f9 --- /dev/null +++ b/tools/alpha/cd/up1000/install.txt @@ -0,0 +1,356 @@ + +- Contents of floppy + +apb.exe Alpha Processor bootloader v. 1.0.1. +apb.cfg Sample apb configuration file. +up1000.pal PAL code for Linux on UP1000. +vmlinux.gz Linux kernel v. 2.2.12 with UP1000 patch. +System.gz Kernel Symbol table. +INSTALL This file. + + +- Installation of RedHat Linux from CD ROM + +1. Copy this directory to a floppy disk. + +2. Insert floppy disk and RedHat Linux CD ROM. + This installation guide assumes + - hard disk is connected to primary channel as a master + - CD ROM drive is connected to primary channel as a slave + +3. From AlphaBIOS run apb.exe as a utility program. + [F2]->Utility->Run maintanace program + +4. At the apb command prompt, type + apb> cd floppy + apb> bootl up1000.pal vmlinux.gz root=/dev/hdb + This assumes you have an ATAPI CD ROM drive which Linux recognizes + as /dev/hdb (you may have to try /dev/hda, /dev/hdc, etc. depending + on your configuration. For a SCSI CD ROM drive, /dev/scd or + /dev/scd0. + +5. This should get you into the RedHat installation program. During the + disk partitioning phase of the installation be sure to allocate a small + FAT partition to be used as the "boot" partition. 10 MB should be ample. + If you choose 'Workstation' or 'Server' package then you don't need to + partition the disk by yourself. + * Follow the common redhat installation procedure. + * During install, Don't configure X server, + * Select 'Startup through ARC console' on timezone setup menu. + +6. Due to bugs in redhat 6.0, FAT partition is not formatted during installation + depends on package selection. + So, After installation, run apb.exe from flopy again and at the + apb command prompt, type + apb> cd floppy + apb> bootl up1000.pal vmlinux.gz root=/dev/hda5 single + You'll get shell prompt then type following commands. + # mkfs -t msdos /dev/hda1 + # mount /dev/hda1 /dos + # mcopy a:*.* /dos + # gzip -dc /dos/system.gz > /boot/System.map + # ln -s Tsunami /etc/alpha_systype + # init 6 + +8. Configure the OS selection menu of AlphaBIOS to start apb.exe + from the boot partition. + In 'OS Selection' menu([F2]->Operating system->OS selection setup), + Make an entry like this. + + Boot name: Linux + Boot file: Disk 0 Partition 1 \apb.exe + OS Path : Disk 0 Partition 2 \winnt + OS Options: + + OS Path doesn't have any meaning, just leave it intact. + +9. You can run apb from hard disk by selecting what you configured on step 8. + +10. Set the environment variable APB_DEVICE to be the AlphaBIOS name + of the boot partition. + For example, + apb> setenv APB_DEVICE scsi(0)disk(0)rdisk(0)partition(1) + type 'cd' once to make above environment variable change to be applied. + apb> cd + +11. Now, You can boot linux by selecting 'Linux' on BIOS' OS boot menu + and then type this on apb prompt + + apb> bootl up1000.pal vmlinux.gz root=/dev/hda5 + + If you don't want to type above long line everytime. You have two options + 1. Create apb.cfg file under /dos directory, Its contents look like + + linux|bootl up1000.pal vmlinux.gz root=/dev/hda5 + + then you can boot linux by typying + + apb> boot linux + + 2. Put option string in OS Selection setup menu of BIOS setup. + + Boot name: Linux + Boot file: Disk 0 Partition 1 \apb.exe + OS Path : Disk 0 Partition 2 \winnt + OS Options: bootl up1000.pal vmlinux.gz root=/dev/hda5 + + Then this setup will boot linux without apb prompt. + + +------------------------------------------------------------------------------- + + + APB -- Alpha Processor Bootstrap Loader for AlphaBIOS + + Alpha Processor, Inc. + 130C Baker Ave. Ext. + Concord, MA 01742, USA + + David Daniel, Soohoon Lee, Stig Telfer + customer.support@alpha-processor.com + +======================================================================== + + Copyright (c) 1999, Alpha Processor, Inc. + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the copyright notice and this permission notice appear +in all copies of software and supporting documentation, and that the +name of Alpha Processor not be used in advertising or publicity +pertaining to distribution of the software without specific, written +prior permission. Alpha Processor grants this permission provided +that you prominently mark, as not part of the original, any +modifications made to this software or documentation. + +Alpha Processor disclaims all warranties and/or guarantees with regard +to this software, including all implied warranties of fitness for a +particular purpose and merchantability, and makes no representations +regarding the use of, or the results of the use of, the software and +documentation in terms of correctness, accuracy, reliability, +currentness or otherwise; and you rely on the software, documentation +and results solely at your own risk. + +======================================================================== + + +0. Introduction + +APB is a bootstrap loader for Alpha processor based systems with +AlphaBIOS firmware. It is primarily intended to be used for booting +Linux, though it may also be useful for free BSD derived systems. + +APB borrows ideas and some code from many places, notably Linux and +other Linux loaders for Alpha systems (aboot and MILO), and the ARCDos +example in the ARC Application Development Kit. APB can also be +linked against zlib to support reading compressed kernel and PALcode +images. See the file CREDITS for details. + + +1. Using APB + ++ Overview + +APB presents a simple command line interface with the following +commands + + boot TARGET boot a target in the configuration file + bootl PALCODE KERNEL ARG1 ... boot Unix + cd DEVICE set the current device + cp | copy FILE1 FILE2 copy files + exit | quit exit to AlphaBIOS + halt | reset system shutdown options + ls | dir list files on the current device + mkdir DIR make a directory + more FILE list a file + mv | rename FILE1 FILE2 rename a file + pwd print the current device + rm | delete FILE delete a file + printenv [NAME] print environment variable(s) + setenv [NAME [VAL]] (un)set environment variable + show targets | devices show information + +At any time an AlphaBIOS is device is selected as the default or +current device. On initialization this is set to the value of the +APB_DEVICE firmware environment variable, or "multi(0)disk(0)fdisk(0)" +(usually the floppy device) if this is not set. + +To change the default device, use the "cd" command. For example + + cd scsi(0)disk(0)rdisk(0)partition(2)\os\linux + +sets the default device to be the second partition of the disk 0 on +the 0th SCSI controller. To save this for future invocations, set the +APB_DEVICE firmware environment variable using the "setenv" command: + + setenv APB_DEVICE scsi(0)disk(0)rdisk(0)partition(2)\os\linux + +After this you can return to this device using "cd". + +Also the special targets + + cd floppy + cd cdrom + +will take you to the (first) floppy and CD-ROM drives respectively. + +If there is a file system supported by AlphaBIOS on the device -- FAT, +ISO 9660 (CD-ROM) -- then a directory listing can be obtained using +the "dir" or "ls" command: + + apb> ls + Directory listing of scsi(0)disk(0)rdisk(0)partition(2): + APB.CFG + APB.EXE + LINUX.PAL + VMLINUX + + ++ Booting from disk + +The recommended way to boot a system using APB is set aside a small +(10 - 30 MB) FAT partition on one disk to be used as a boot partition. +The following files should be placed on the boot partition: + + The APB image (APB.EXE) + The PALcode image + The kernel image + An optional configuration file "APB.CFG" (see below) + +Run APB (either from floppy or from the boot partition and use it to +set the environment variable APB_DEVICE to the name of the boot +partition. For example if the boot partition is the first partition +on a SCSI disk with SCSI ID 3 on the first SCSI controller, and the files are in directory \os\linux set APB_DEVICE using + + apb> setenv APB_DEVICE scsi(0)disk(3)rdisk(0)partition(1)\os\linux + +To enable autoboot + + apb> setenv APB_AUTOBOOT 1 + +This performs the first boot command it finds in the APB configuration +file, unless interrupted. + +Otherwise boot manually using a command such as + + apb> bootl palcode kernel [kernel_arg1 [kernel_arg1 ...]] + +or use one of the labels defined in the APB configuration file, for +example + + apb> boot linux + +See below for the configuration file format. + ++ Environment variables + +APB uses the following firmware environment variables to set default +noptions: + + APB_DEVICE Default device for all operations + APB_AUTOBOOT Determines whether an autoboot should be attempted + +If these are not set on invocation, then they are set to reasonable +values, namely + + APB_DEVICE=multi(0)disk(0)fdisk(0) + APB_AUTOBOOT=0 + ++ Configuration file + +APB consults a configuration file "APB.CFG" that is assumed to be +located at the current device path (initially given by environment +variable APB_DEVICE). The file consists of lines that are either +comments, or boot commands prefixed with a mnemonic label. For example + + # This is comment + linux-2.2|bootl linux.pal vmlinux.gz root=/dev/sda3 + linux-2.0|bootl linux.pal vml20.gz root=/dev/sda3 + +In this case, to boot linux-2.2, type + + apb> boot linux-2.2 + +which is equivalent to + + apb> bootl linux.pal vmlinux.gz root=/dev/sda3 + +If the AUTO_BOOT environment variable is set TRUE, then the default +configuration will be booted after 10 seconds, unless a key is +pressed. + ++ Boot devices + +APB can boot from any filesystem supported by AlphaBIOS. At present +these are limited to FAT, NTFS and ISO 9660 (CD-ROM). + ++ Booting from a network device + +Not yet implemented. + + +2. Building APB + +APB is an AlphaBIOS/ARC application. Currently it must be built on an +Microsoft Windows NT 4.0 Alpha processor system, with Microsoft Visual +C++ 5.0 (or higher), the Microsoft Software Development Kit (SDK) and +Device Driver Development Kit (DDK) for NT 4.0, and Compaq ARC +Application Development Kit (ADK) 1.3. + +Optionally, APB can be linked against zlib (a free compression +library) to support reading compressed kernel and PALcode images. + +To build, open a command window, set up the environment: + + VC++ (e.g "C:Program Files\DevStudio\VC\bin\vcvars32.bat") + DDK (e.g. "C:\DDK\bin\setenv.bat C:\DDK") + ADK (e.g. "set ADK=C:\adkv13\adk") + +and then and make using nmake. For example: + + C:\apb-1.0> nmake + +where the DDK has been installed on the C: drive. + +If building with compressed file support, obtain and unpack zlib +(http://www.cdrom.com/pub/infozip/zlib/), set the variable ZLIB to +the zlib directory, and then make. For example + + C:\apb-1.0> set ZLIB=C:\zlib-1.1.3 + C:\apb-1.0> nmake + +In either case, the executable is placed in the "obj\alpha" +subdirectory. + + +3. What APB does + +Booting Linux with APB involves the following steps: + + AlphaBIOS loads and transfers control to APB. + + APB is called with an argument specifying the device (as known to + AlphaBIOS) from which to read the Linux kernel, and additional + arguments to be passed on to the kernel. + + APB sets up the environment for Linux, including loading and + switching to the correct PAL code, setting up the HWRPB, copying + kernel arguments to the right location in memory etc. + + APB reads the Linux kernel image into memory from the specified + device (raw disk initially, and eventually filesystems or network + devices via bootp) and transfers control. + + +4. Modifying APB + +APB has been written with the aim of maintaining platform independence +across all AlphaBIOS (and ARC) systems. Furthermore, all dependence +on the ARC API has been isolated in the file "arc.c", so that porting +to another firmware environment should not be too difficult as long as +it provides a sufficiently complete API. + +Additional user commands can be incorporated through the command +dispatch table in "cmd.c". + diff --git a/tools/alpha/cd/up1000/up1000.pal b/tools/alpha/cd/up1000/up1000.pal new file mode 100644 index 000000000..a47b359f3 Binary files /dev/null and b/tools/alpha/cd/up1000/up1000.pal differ -- cgit v1.2.1