Guide to Installing the BLADE 0.3 Distribution BLADE 0.3 (Basic Linux/Alpha Development Environment) is an installable distribution of the Linux operating system for the Digital Alpha microprocessor family. BLADE 0.3 is based on the Linux 1.3 kernel. No special expertise is required to configure and install BLADE 0.3 and no host system is required to load the software onto the hard drive. BLADE 0.3 is completely self-supporting. You only need a supported system and BLADE 0.3 to build a fully functional Linux/Alpha system Although BLADE 0.3 contains significant new functionality over BLADE 0.2, the BLADE releases continue to be an interim distribution and should be used only until the more professional distributions are ported to Linux/Alpha. This guide describes how you use the ARC console that is distributed with your system to load Milo, the Alpha/Linux miniloader, and then use Milo to install the appropriate parts of the BLADE 0.3 software. General information about Linux/Alpha can be found at: http://www.azstarnet.com/~axplinux/ 1 NEW FEATURES FOR BLADE 0.3 BLADE 0.3 contains the following features: o ARC-loadable version of Milo. Allows Linux/Alpha to coexist with Windows NT on the same system and allows using Milo without altering the system ROM. o X windows support. This includes the standard MIT X clients and libraries, as well as one sample X server (XF86-S3). o Milo sources are included as a BLADE subset. o Expanded platform support as described in Hardware Requirements. o Based on the Linux 1.3 kernel. o All utilities have been rebuilt with the latest C runtime library. o BLADE 0.3 provides the following new utilities: install_subset Guide to Installing the BLADE 0.3 Distribution Page 2 minlabel mkbb o BLADE 0.3 provides the following newly ported utilities: apropos cdtools (audio CD player) clear cpio ctags e2 utils finger fm (binary file editor) fmt kermit lpr utils (printing) m4 mtools ref sendmail shar uuencode/uudecode 1.1 Features For BLADE 0.2 BLADE 0.2 (and of course BLADE 0.3) provided the following features: o Milo miniloader Milo, the Linux/Alpha miniloader, that provided console firmware and supported loading Linux/Alpha on systems that did not provide the SRM console firmware. (Previously, loading Linux/Alpha required the SRM console.) o TCP/IP support BLADE 0.2 supported TCP/IP networking and provided the following networking utilities: arp finger ftp ifconfig netstat ping portmap rarp rcp rlogin Guide to Installing the BLADE 0.3 Distribution Page 3 route rpcinfo rsh slattach telnet BLADE 0.2 also provided the following networking daemons: fingerd ftpd inetd rlogind rshd telnetd tcpd o Utilities BLADE 0.2 provided the following newly ported utilities: getty init klogd login man (manpages are provided with 0.3) mkswap shutdown SVGATextmode suite syslogd whereis zdump zic 1.2 Hardware Requirements BLADE 0.3 supports the following platforms: o AXPpci/33 (Noname) board o AlphaPC64 (Cabriolet) board and clones o EB64+ 21064-based Alpha Evaluation Board o EB66+ 21066-based Alpha Evaluation Board o Universal Desktop Box (Multia) For each of those platforms, the minimum hardware requirements are: Guide to Installing the BLADE 0.3 Distribution Page 4 o 8MB or more main memory (X11 requires at least 16MB) o 1.44MB floppy drive o 100MB or larger IDE or SCSI hard drive (340MB or larger suggested if you're going to do any kind of serious software development or install X11) o Any VGA card or Universal Desktop Box internal graphics for character-cell mode. For X11, ISA- and PCI-based VGA or SVGA cards are as follows: - Mach64 - #9 GXE PCI (S3 Vision864 chipset) - #9 Level 12 (S3 928 chipset) - Diamond Stealth Trio64 PCI Other S3-based chipsets should work but have not been tested. Also, the current X11 server supports only S3-based cards (805, 864, and 928). This means, for example, that this release does not support X11 on the Universal Desktop Box. o Keyboard, mouse for X11 Note that Milo can boot Linux/Alpha from the floppy drive, an IDE disk, a SCSI disk, and a SCSI CD-ROM. 2 FUTURE HARDWARE SUPPORT In the near future, Linux/Alpha will support the following systems. Support for the systems will be provided as additional boot and Milo disks for the BLADE 0.3 release, rather than as a new BLADE release. AlphaStation 200/400 Series (Mustang and Avanti) DEC 2000 AXP/DECpc 150 AXP (Jensen) 3 BLADE 0.3 COMPONENTS BLADE 0.3 is based on a modified 1.3 Linux kernel that has Linus' Alpha patches as well as a few of our minor patches. The sources for this kernel are included in the BLADE 0.3 package. BLADE 0.3 is supplied as a set of 1.44MB floppy-disk Guide to Installing the BLADE 0.3 Distribution Page 5 images. Except for the Milo installation floppy images that are in FAT file system format, all floppy images are in ext2 format. The floppy images are grouped into subsets. Following are the subsets available in BLADE 0.3: BOOT_FLOPPIES/ Boot disks for various supported system configurations: eb64p_milo_boot_disk noname_milo_boot_disk pc64_milo_boot_disk udb_milo_boot_disk MILO_FLOPPIES/ Installation disks for the Linux/Alpha Milo miniloader for various supported system configurations: eb64p_arc_milo_disk noname_arc_milo_disk pc64_arc_milo_disk udb_arc_milo_disk ROOT_FLOPPIES/ A minimal root file system that is used during the installation process. Of particular interest: fdisk_root_disk b1-b11 The "base" system utilities and data files. Either this subset or the cdi1-cdi2 subset is mandatory. Subset b1-b11 occupies approximately 43 megabytes when installed. cdi1-cdi2 CD-ROM installation "base" system utilities and data files. Mandatory subset (replaces the floppy installation b1-b11). Occupies approximately 5.5MB when installed. d1-d8 The software development tools, such as 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 35 Guide to Installing the BLADE 0.3 Distribution Page 6 megabytes. e1-e6 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 18 megabytes. info1 Various informational files. Occupies approximately 3MB when installed. k1-k3 The kernel sources for the 1.3 kernel used in BLADE 0.3. When installed, this subset occupies approximately 12 megabytes. Not required unless you intend to reconfigure your kernel or perform kernel development. lsrc1-lsrc2 Sources for the C runtime library. Not required unless you intend to do library development. Occupies approximately 9MB when installed. man1 Manpages. Occupies approximately 1.2MB when installed. milo1 Sources for Milo. Occupies approximately 3.5MB when installed. n1-n3 Networking support utilities. TCP/IP networking support requires this subset. Occupies approximately 10MB when installed. x1-x28 X11 support and related files. Occupies approximately 115MB when installed. 4 BOOTSTRAPPING AND INSTALLING BLADE 0.3 Note that the examples in the following steps place Milo in the first partition of a first SCSI device (/dev/sda1), the root file system in the second partition (/dev/sda2), and the swap area in the third partition (/dev/sda3). If you are using a different configuration or not installing on a SCSI device, modify the device specification as necessary. Guide to Installing the BLADE 0.3 Distribution Page 7 Step 1 - Select The Appropriate Milo, Boot, And Root Floppy Images A variety of Milo installation images and boot images are supplied, based on platform type. o From the following list, choose the appropriate Milo installation image and create a floppy: MILO_FLOPPIES/eb64p_arc_milo_disk MILO_FLOPPIES/noname_arc_milo_disk MILO_FLOPPIES/pc64_arc_milo_disk MILO_FLOPPIES/udb_arc_milo_disk o From the following list, choose the appropriate boot image and create a floppy: BOOT_FLOPPIES/eb64p_milo_boot_disk BOOT_FLOPPIES/noname_milo_boot_disk BOOT_FLOPPIES/pc64_milo_boot_disk BOOT_FLOPPIES/udb_milo_boot_disk o Finally, from the ROOT_FLOPPIES/ directory, create a floppy of the image, fdisk_root_disk. Step 2 - Add The Linux/Alpha Boot Option Milo is the standard console firmware for Linux/Alpha. You use the distributed ARC console firmware to load Milo. Loading Milo does not stop the subsequent running of a different operating system from the distributed ARC console; loading Milo does not remove or overwrite the ARC console. The typical ARC boot sequence is that ARC loads the OSLoader which in turn loads an operating system. This procedure is going to establish a boot sequence in which ARC loads a simple loader, linload.exe, which in turn loads Milo followed by Linux/Alpha. 1. If the platform is running, power it down. 2. Insert the appropriate Milo installation floppy. Guide to Installing the BLADE 0.3 Distribution Page 8 3. Power up the system. The ARC console displays a boot menu. From the boot menu, select "Supplementary menu...." 4. From the Supplementary menu, select "Set up the system..." 5. From the Setup menu, select "Manage boot selection menu..." 6. From the Boot selections menu, choose "Add a boot selection". Respond as indicated to the prompts: If "Floppy Disk 0" is displayed, choose it. Otherwise, choose "New system partition" and then specify "Floppy Disk", followed by "0". OSLoader directory and name: \linload.exe Is operating system in same partition as osloader: YES Operating system root directory: \Milo Enter a name for this boot selection: Linux/Alpha Initialize debugger at boot time: NO You are returned to the Boot selections menu. Press and as appropriate to save your changes as you rewind your way back to the original boot menu. 7. Select Boot Linux/Alpha, which eventually returns the Milo prompt. 8. Remove the Milo installation floppy. Step 3 - Boot The Kernel From Floppy Insert the appropiate boot floppy in the floppy drive. At the Milo> prompt, type "help" to display a help screen that summarizes various Milo command options. For this procedure, at the Milo> prompt, specify the boot device, the boot file, and the ramdisk root by issuing the following command: Milo> boot fd0:vmlinux.gz root=/dev/fd0 ramdisk=1440 Guide to Installing the BLADE 0.3 Distribution Page 9 Step 4 - Bring Up The Ramdisk File System Eventually, the kernel prompts you as follows: VFS: Insert root floppy to be loaded into ramdisk and press ENTER Remove the boot floppy from the drive and insert the root floppy, fdisk_root_disk. Press . The system loads the ramdisk from the floppy and starts the system. When you receive the shell prompt, remove the floppy. Step 5 - Partition The Device, If Necessary Partition the disk as follows: 1. Use the utility, fdisk, located on the root file system, to examine, initialize, and/or modify the partition table. If Linux/Alpha is to reside by itself on the device it is suggested that you set up the partitions as follows: Size: Contents: ID: Type: 1440K Milo 1 12-bit FAT ..... root 83 Linux Native 64MB Swap 82 Swap If Linux/Alpha is sharing a device with a Windows NT installation that supports the FAT file system, you could install Milo in the Windows NT device partition and the rest of Linux/Alpha as appropriate in another partition that holds an ext2 file system. Issue the "w" command within fdisk to commit any partition table changes to disk because fdisk performs all its changes in memory. If you attempt to exit fdisk without issuing the "w" command, fdisk asks if you wish to commit changes. Answer "y" to commit partition changes to disk. 2. Turn off the machine. 3. Insert the Milo installation floppy and power-up the machine. 4. Remove the Milo floppy and insert the boot floppy. Guide to Installing the BLADE 0.3 Distribution Page 10 5. At the Milo prompt, select Boot Linux/Alpha. 6. When prompted to, insert the root floppy, press , and the machine returns to the shell prompt. 7. If you created a small FAT partition to hold Milo, remove the root floppy, reinsert the Milo floppy, and issue the following command to copy the contents of the Milo floppy to the Milo partition (sda1): # cat < /dev/fd0 > /dev/sda1 If you already have a Windows NT partition, use Windows NT to copy the file, LINLOAD.EXE and MILO from the Milo floppy. Step 6 - Prepare The Root Partition. Use the mk2efs utility to initialize the root partition. For example, to set up a file system on the second partition of the first SCSI drive, issue the following command: # mke2fs /dev/sda2 After initializing the root partition, 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). Remove the Milo floppy. Step 7 - Install The Bootable Kernel Copy the kernel to your root partition: 1. Insert the boot floppy in the floppy drive and mount it (it is an ext2 file system): # mount -t ext2 /dev/fd0 /fd 2. Copy the file "/fd/vmlinux" to your root partition: # cat < /fd/vmlinux.gz > /mnt/vmlinux.gz Guide to Installing the BLADE 0.3 Distribution Page 11 3. Unmount the floppy: # umount /dev/fd0 Step 8 - Install The Base System The base system is distributed on floppy disksettes or CD-ROM. (If you are installing from floppy diskettes, this step installs the base system. If you are installing from CD-ROM, this step installs enough of your system to allow you to subsequently install the base system from CD-ROM. In either case, proceed through the steps in order.) Use the command, install_subset, to install the base system subset to the default /mnt directory.. If you are installing from floppies: # install_subset When the system prompts you to insert the first disk of the subset, insert the "b1" disk and press . As the install_subset utility prompts you for additional disks, insert the disks "b2" through "b11" in sequence. After installation of the last floppy, the procedure extracts files and finishes the installation. If you are installing from CD-ROM: Perform the installation as described above for floppies, but instead of using the "b" diskettes, use the "cdi" diskettes. You are not installing the distribution from the CD-ROM now but rather enabling the subsequent installation of these files in Step 11. Step 9 - Sync And Shutdown Flush all buffers to disk by issuing the following command: # /mnt/bin/sync Shutdown the system: # shutdown now Guide to Installing the BLADE 0.3 Distribution Page 12 Step 10 - Set Up Your Default Boot Device And Flags You can set the boot defaults to boot Linux with the "Boot Linux/Alpha" at the Milo prompt or you can further simplify the process by enabling the autoboot ARC console feature. Use the following procedure: 1. Power-cycle the system. The ARC console displays a boot menu. From the boot menu, select "Supplementary menu...." 2. From the Supplementary menu, select "Set up the system..." 3. From the Setup menu, select "Manage boot selection menu..." 4. From the Boot selections menu, choose "Change a boot selection". The displayed values for the ARC console environment variables were created in Step 1. Now change the boot selection by cycling through the variables and entering the following values: SYSTEMPARTITION scsi(0)disk(0)rdisk(0)partition(1) OSLOADER scsi(0)disk(0)rdisk(0)partition(1)\linload.exe OSLOADPARITION scsi(0)disk(0)rdisk(0)partition(1) OSLOADFILENAME \Milo OSLOADOPTIONS boot sda2:vmlinux.gz root=/dev/sda2 Press and as appropriate to save your changes as you return to the Boot menu. 5. The system can now boot to vmlinux from the Milo prompt with Boot Linux/Alpha. You can enable the autoboot feature at this point so that Linux boots when you power-up your system: 1. At the Boot menu, choose Supplementary Menu... Guide to Installing the BLADE 0.3 Distribution Page 13 2. At the Supplementary menu, choose Set up the system... 3. Choose Setup autoboot When asked, "Should the system autoboot?", choose YES and enter a countdown value. 4. Press and as appropriate to save your changes as you return to the Boot menu. Step 11 - Reboot Your System To Verify Installation Power-cycle the machine. Depending on the boot process you enabled, you either boot Linux/Alpha at the Milo prompt or the system autoboots to Linux/Alpha. If you are installing from floppies, when you get the "login:" prompt, type "root". No password is needed. If you are installing from CD-ROM, the system comes up to a shell prompt rather than a login prompt. Step 12 - Install Base Subset (CD-ROM Only) If you are installing from CD-ROM, now install the base subset. Insert the CD-ROM in the drive and mount it: # mount -o ro -t iso9660 /dev/scd0 /cdrom Install the base system to /mnt as follows: # install_subset \ -from /cdrom/Linux-Alpha/1.3-64bit/Blade/b \ -to / Sync, shutdown, and reboot your system as described in Steps X and X. When the system comes up and displays the "login:" prompt, log in as "root", with no password. Step 13 - Install Additional Subsets. Install any additional subsets with the "install_subset" command. Guide to Installing the BLADE 0.3 Distribution Page 14 Step 14 - Have Fun!