Guide to installing the BLADE distribution. INTRODUCTION BLADE 0.1 (Basic Linux/Alpha Distribution Eyesore) is an installable distribution of the Linux operating system for the Digital Alpha microprocessor family. Unlike previous distributions, no special expertise is required to configure and install BLADE 0.1, and no host system is required to load the software onto the hard drive. BLADE 0.1 is completely self-supporting; all you need is a system with an SRM console and BLADE 0.1, and you can build a fully functional Linux/Alpha system. Note that BLADE 0.1 is not intended to be a finished, polished distribution. It was assembled quickly in an attempt to provide experimenters and end-users with the capability to install Linux/Alpha on their systems without needing a host operating system or development environment. It is an interim distribution which is only intended to be used until such time as the more professional distributions (Slackware, Debian, Red Hat, etc) have been ported to Linux/Alpha. HARDWARE REQUIREMENTS This version of BLADE 0.1 supports the Digital AXPpci/33 (aka NoName) motherboard. Support for other platforms should appear shortly. Following are the minimum hardware requirements: Digital AXPpci/33 motherboard with SRM console firmware 8Mb or more main memory 1.44Mb floppy drive 100Mb or larger IDE or SCSI hard drive (340Mb or larger suggested if you're going to do any kind of serious software development) VGA & monitor Keyboard Note that although Linux/Alpha supports IDE hard drives, the SRM console cannot boot from them. Therefore, if you do not have a SCSI hard drive in your system, you will have to boot Linux/Alpha from floppy. BLADE 0.1 COMPONENTS BLADE 0.1 is based on a modified 1.2.8 Linux kernel; this kernel has the Linus' Alpha patches as well as a few minor patches of our own. The sources for this kernel are included in the BLADE 0.1 package. BLADE 0.1 is supplied as a set of 1.44Mb floppy-disk images. Except for the boot floppy, all floppies are in ext2 file system format. The floppy images are grouped into subsets. Following are the subsets available in BLADE 0.1: noname_boot This is the boot image for Linux/Alpha on AXPpci/33-based systems. root_floppy This contains a minimal root filesystem which is used during the installation process. b1-b8 These disks contain the "base" system utilities and data files. This subset is mandatory. When installed, this subset occupies approximately 27 megabytes. d1-d6 These disks contain the software development tools: gcc, gas, ld, binutils, includes, and libraries. Install this subset if you are going to be doing any software development under Linux/Alpha. When installed, this subset occupies approximately 20 megabytes. e1-e6 These disks contain GNU emacs 19.28 and related files. Install this subset if you want GNU Emacs and you can spare the disk space. The "b" distribution includes the "vi" editor, and other editors should not be difficult to port. When installed, this subset occupies approximately 25 megabytes. k1-k3 These disks contain the kernel sources for the 1.2.8 kernel used in BLADE 0.1. When installed, this subset occupies approximately 12 megabytes. BOOTSTRAPPING AND INSTALLING BLADE 0.1 Note: In the examples that follow, it is assumed that the first partition of the first SCSI device (/dev/sda1) will contain the bootstrap code, and that the second partition (/dev/sda2) will contain the root filesystem. Step 1 - Boot the kernel from floppy AXPpci/33: Insert the "noname_boot" floppy into the floppy drive. At the ">>>" prompt, boot the kernel from floppy and tell it to use a ramdisk root by issuing the following command: >>> boot -fl "root=/dev/fd0 ramdisk=1440" dva0 Step 2 - Bring up the ramdisk file system Eventually the kernel will prompt you as follows: VFS: Insert ramdisk floppy and press ENTER Remove the boot floppy from the drive, insert the root floppy, and press ENTER. The system will load the ramdisk from the floppy and start the system. When you get to the shell prompt, you may remove the floppy. Step 3 - Partition the root device, if necessary The root device needs to have a BSD-style partition table (disklabel). If the root device already has such a partition table (perhaps as a result of previous use under BSD or Digital UNIX), all you need to do is to select the partition that you are going to use. In either case, you can use the "minlabel" utility on the root filesystem to examine, initialize, and/or modify the partition table. Invoke the minlabel utility as follows: minlabel [-r] device Use the -r flag to invoke minlabel in readonly mode (i.e. if you do not wish to modify the partition table). The "device" argument is the name of the raw device to be partitioned. Examples of valid device arguments are: /dev/sda - First SCSI device /dev/sdb - Second SCSI device /dev/hda - First IDE device /dev/hdb - Second IDE device In our example, we would issue the following command: minlabel /dev/sda If there is no valid partition table on the device, the minlabel utility will ask if you wish to initalize a default table. Answer "y"; you can change the table later if you wish. The default partition table supplied by "minlabel" creates a first partition of 8Mb and a second partition taking up the remainder of the disk. This first small partition is intended to be used as a bootstrap partition, the second as the root partition. minlabel is an interactive command-driven utility. Typing "h" or "?" at the "Command:" prompt will print a brief help text. The utility should be reasonably self-explanatory. IMPORTANT: The "minlabel" utility performs all of its changes in memory. You must use the "w" command to commit any partition table changes to disk. If you exit without committing your changes, minlabel will ask one last time if you wish to commit. Answer "y" if you wish to do so. VERY IMPORANT: In order for partition-table changes to take effect, you MUST re-boot Linux after exiting from the minlabel utility. Shut down your system, then perform steps 1 and 2 to re-boot the system. Step 4 - Prepare the root partition. Once you have partitioned the disk to your satisfaction and selected which partition you wish to use as root, you must initialize it using the mke2fs utility. In our example, to set up a file system on the second partition of the first SCSI drive, issue the following command: # mke2fs /dev/sda2 Once you have initialized the root partition, you must mount it so that it can receive the subsets to be installed. Mount it as follows: # mount -t ext2 /dev/sda2 /mnt (note: You MUST mount the root partition on /mnt in order for the next step to succeed). Step 5 - Install the base system and optional subsets. To install the base system subset, issue the command: # install_subset When it prompts you to insert the first disk of the subset, insert the "b1" disk and press ENTER. As the install_subset utility prompts you for additional disks, insert the disks "b2" through "b8" in sequence. During the post-installation phase, you may see a number of error messages of the form, "chown: invalid group". Pay no attention to these; they do not affect the overall installation, and I'll fix them in the next release. Once the base system is installed, you may use the install_subset utility to install any additional subsets you desire. Step 6 - Install the bootable kernel If you wish to boot off of a hard drive and you set aside the first partition for doing so, copy the bootloader and kernel to that drive at this point. Insert the boot floppy you used in step 1 into the floppy drive and issue the following command: # /mnt/sbin/cpboot /dev/fd0 /dev/sda (or sdb, or hda, or hdb, or...) NOTE: The SRM console on the AXPpci/33 motherboard cannot boot off of an IDE drive. Nonetheless, it is advisable to install the bootable kernel on the first partition of the IDE drive anyway. The Linux miniloader to be released in the future will support booting from and IDE drive. Step 7 - Sync and shutdown Flush all buffers to disk by issuing the following command: # /mnt/bin/sync Shut down the system by turning off the power. Step 8 - Set up your default boot device and flags In order to be able to boot Linux using a simple "boot" command, you must set your defaults accordingly. First, you must set your root device. In our example we would issue the following command at the console prompt: >>> set boot_osflags "root=/dev/sda2" Second, you must tell the console which device to boot from by default. In our example we would issue the following command at the console prompt: >>> set bootdef_dev DKA0 Note that if you are using the SRM console you cannot boot off of an IDE disk. You must set bootdef_dev to DVA0 and you must have the boot disk in the floppy drive when you boot. Step 9 - Reboot your system to verify installation At this point you should be able to issue a simple "boot" command at the console prompt, and the system should boot up with no trouble. When you get the "login:" prompt, type "root". No password is needed. Step 10 - Install additional subsets. At this point, you may use the "install_subset" command to install additional subsets onto your system. Step 11 - Have fun!