Because I have been happy with reiserfs on my Intel Linux machines, I have just converted all my ext2 filesystems to reiserfs filesystems on my first Alpha machine (after testing a single filesystem for a few days). All appears well. My system is SRM based, and since aboot doesn't recognize reiserfs yet, I had to pull a few configuration tricks to get things like I want. All partitions except the boot partition (sda1) were easily converted by copying contents to another drive, issuing a mkreiserfs on the empty partition, and copying the saved contents back to the new partition. The boot partition required some more work. I thought others might be interested so I am posting my how-to below: _____________________________________________________ October 26, 2001
These are notes to myself on how to setup the boot process for a Debian/Alpha computer using the SRM console. First, create the kernel image. This is the normal process for creating a kernel image. Particular configuration options that go into the "/usr/src/linux/.config" file that are unique to this machine CONFIG_ALPHA=y CONFIG_ALPHA_PC164=y CONFIG_ALPHA_EV5=y CONFIG_ALPHA_CIA=y CONFIG_ALPHA_SRM=y CONFIG_ALPHA_BROKEN_IRQ_MASK=y CONFIG_SRM_ENV=y CONFIG_SCSI_NCR53C8XX=y CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8 CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32 CONFIG_SCSI_NCR53C8XX_SYNC=0 CONFIG_DE4X5=y CONFIG_RTC=y CONFIG_REISERFS_FS=y CONFIG_MATHEMU=y Actually build the kernel by issuing the command "make dep;make clean;make boot" from the /usr/src/linux area. You will then have the following two files of importance after the build (since we do not use modules for this machine): /usr/src/linux/System.map /usr/src/linux/arch/alpha/boot/vmlinux.gz Second, and assuming a new v2.4.13 kernel, copy these essential files to four places: 1) archival: cp /usr/src/linux/System.map /boot/System.map-2.4.13 cp /usr/src/linux/arch/alpha/boot/vmlinux.gz /boot/vmlinuz-2.4.13 ln -sf /boot/System.map-2.4.13 System.map ln -sf /boot/vmlinuz-2.4.13 vmlinuz 2) 1st boot option (1.44 Mb floppy drive): Put a new floppy diskette (1.44 Mb) into the floppy drive. Format the drive by issuing the command "fdformat /dev/fd0" Create an ext2 filesystem on the floppy drive "mke2fs /dev/fd0" Copy an SRM-bootable image (in aboot Debian package) by "e2writeboot /dev/fd0 /boot/bootlx" Mount the floppy diskette as an ext2 filesystem "mount /dev/fd0 /mnt/floppy" Copy the kernel image to the floppy "cp /boot/vmlinuz /mnt/floppy" umount /mnt/floppy You can now boot the machine from this kernel stored on the floppy by issuing the sequence starting with "shutdown -h now". Then push the reset botton on the from panel. While the machine is booting up, you will see SRM messages "e2.e3.e4.e5.e6.e7". At this point issue a couple of control-Cs (^-C). Then it will try and boot, and issue a couple more control-Cs (^-C). Note control-c is the "halt" key in SRM lingo. This key could be reconfigured to something else, but control-c is fine. You should now be at the SRM prompt that looks like ">>" without the double quotes. If you did not issue the control-Cs, the SRM firmware would automatically start booting with the default boot configuration which is the same as the "hard drive direct-boot" configuration below. Some important SRM configuration parameters that have been set for this machine (and given in the /proc/srm_environment) are: bootdef_dev = dka0 boot_file = vmlinuz bootos_flags = "root=/dev/sdb1 cycle=500000000" auto_action = restart boot_reset = on Note: the "cycle=500000000" is a requirement that arose due to a clock-timing problem in the 2.4.x kernels on the alpha that did not exist in the 2.2.x kernels. It is a workaround that will likely get corrected and be unnecessary in a future kernel. Note2: The SRM console still doesn't behave exactly like I would want because I have to push the reset button to reboot. I get the prompt ">>" after a "shutdown -r now" or "shutdown -h now", but I cannot get a reboot unless I hit the reset button. To boot the floppy issue boot dva0 -fi vmlinuz -fl "root=/dev/sdb1 cycle=500000000" 3) 2nd boot option (hard drive directly) Previously, the 1st harddrive (lowest scsi ID or sda, which would get you the c:\ drive in the dos/windows world) has been partitioned using the BSD partition option of fdisk. sda1 is 4-sector partition (sectors 2-5 of the sda drive) that is an ext2 filesystem type because aboot does not understand reiserfs, but does understand UFS, ext2, iso9660, etc. sda2 starts at sector 6 and goes to the end of the drive and is presently a reiserfs partition. sector 1 is left alone (no filesystem placed) to make room for raw binary files for aboot and the kernel. The partition print from fdisk looks like this: fdisk /dev/sda Detected an OSF/1 disklabel on /dev/sda, entering disklabel mode. To return to DOS partition table mode, use the 'r' command. BSD disklabel command (m for help): p 2 partitions: # start end size fstype [fsize bsize cpg] a: 2 5 4 ext2 b: 6 1022 1017 ext2 BSD disklabel command (m for help): The filesystems were made by issuing mke2fs /dev/sda1 mkreiserfs /dev/sda2 The sda2 partition is used by the system as /usr3 (general user area). The sda1 partition is used to store kernels, boot configuration, etc., and is not automounted in /etc/fstab to minimize the possibility of corruption (not journeled as now all the other partitions are with the reiserfs). After having created the partitions and filesystems on /dev/sda, then we must create the direct-boot information. A filesystem-less boot (direct-boot) is created with (from the /boot area): swriteboot /dev/sda bootlx vmlinuz The SRM system is configured by default to boot this image. This default configuration is also duplicated in the aboot configuration (see next). 4) 3rd boot option (hard drive boot options) Copy the new kernel image to the ext2 boot options area with the commands: mount -t ext2 /dev/sda1 /mnt/sda1 cp /usr/src/linux/arch/alpha/boot/vmlinux.gz /mnt/sda1/vmlinuz-2.4.13 Also included in the same area (/mnt/sda1) are other older kernel images and the aboot configuration file in "/mnt/sda1/etc/aboot.conf". Confirm the correct location of the aboot configuration file by issuing the command abootconf /dev/sda 1 It turns out that abootconf will only work for /dev/sda (as far as I can tell) which forces aboot.conf to be located where it is. Debian by default puts it into /etc/aboot.conf and this would work if the root filesystem were sda1. We could do this if we always booted from floppy or direct-boot from the hard drive. But, if we want reiserfs and "hard drive boot options", then we have to have the little ext2 filesystem in sda1. That is basically why it is set up the way it is. Now the contents of /mnt/sda1/etc/aboot.conf is # # aboot default configurations jdf 10/26/2001 # # boot option descriptions: # # 0 boots a compressed kernel image "vmlinuz" from aboot # space just before the first partition. This aboot # space is created with the command (from /boot) # swriteboot /dev/sda bootlx vmlinuz # 1 boots current kernel # 2 boots current kernel in single-user mode # 3 boots prior kernel # 4 boots previous stable kernel # 0:0/vmlinuz ro root=/dev/sdb1 cycle=500000000 1:1/vmlinuz-2.4.13 ro root=/dev/sdb1 cycle=500000000 2:1/vmlinuz-2.4.13 ro root=/dev/sdb1 cycle=500000000 single 3:1/vmlinuz-2.4.12 ro root=/dev/sdb1 cycle=500000000 4:1/vmlinuz-2.2.19 ro root=/dev/sdb1 cycle=500000000 - With this type of arrangement, you can optionally boot from the SRM prompt (to get the prompt see above) by getting into the interactive mode of aboot: >>boot -fl i Then issue the options directly (see the aboot help menu) when it goes into interactive mode)" 0 (same as hard drive direct boot) or 1 (effectively the same, but now booting from the ext2 partition) or 2 (same as boot 1, but single-user mode) or etc. (older kernels, test kernels, etc.) BOTTOM LINE cd /usr/src/linux make menuconfig make dep;make clean;make boot cp System.map /boot/System.map cp ./arch/alpha/boot/vmlinux.gz /boot/vmlinuz cd /boot swriteboot /dev/sda bootlx vmlinuz cp other kernel images to floppy and/or hard-drive options as desired and described above. REFERENCES SRM Firmware Howto (from Linux Howto web pages) Alpha SRM Console for Alpha Microprossor Motherboards User's Guide (from Compaq web pages) man pages (from aboot Debian packages) on aboot.conf, swriteboot, e2writeboot, aboot reserifsprogs (Debian package and man pages) TO BE DONE Add CD-ROM as a boot option and create my own boot CDs. -- James D. Freels, P.E._i, Ph.D. Oak Ridge National Laboratory [EMAIL PROTECTED] - work [EMAIL PROTECTED] - home

