Hello A while back I sent a note to this list detailing my procedure for booting my RS6K from the network. RE: http://lists.debian.org/debian-powerpc/2002/debian-powerpc-200208/msg00314.html
Now, I have a RS6K which boots from disk! I could not have gotten this to work without the gracious help of Hollis Blanchard, benh, and others in the #mklinux and #debianppc channels on freenode. Below is a copy of my unedited notes. For now, I am keeping a copy of these notes at this URL: http://www.skink.net/~davis/docs/notes/ppclinux.txt Notes about linux on a RS/6000 Model 43p 150 These are my notes from working with linux on the 150. At this time, it is unedited. If you are only interested in the settings/procedure for booting from disk, skip to the bottom. Things which should work and I was able to verify: kernel 2.4.19 kernel 2.6.3 boot from network boot from disk. Things which should work but I was unable to verify: X windows How to access the openfirmware prompt: Press F8 as soon you see hear the first beep and see the icons in open firmware. The last icon shown at this time is the scsi icon. Later, the speaker icon will display and it will play the first few notes of a song. If you haven't pressed F8 by the time the song plays it is too late and it will try to boot the OS. How to access the openfirmware sms menu: Press F1. Notes about openfirmware: location of the official reference: http://playground.sun.com/1275 In open firmware "boot disk" works with the kernel image at the top of the linux src tree. ie. Use /usr/src/linux/vmlinux in conjunction with yaboot to boot from disk. In open firmware, "boot net" works with the kernel image in /usr/src/linux/arch/ppc/boot/images/zImage.chrp-rs6k ls shows the device tree .properties show info about the current device node? pci shows the pci functions dev /pci moves you to the /pci node. dev / takes you to the root node. ls dev/pci device-end ls won't do anything now. devalias shows the device alias list. devalias can also be used to specify an alias. In my setup, I have the following: SCSI ID 3 = cdrom aka linux /dev/cdrom SCSI ID 4 = disk1 aka linux /dev/sda SCSI ID 5 = disk2 aka linux /dev/sdb SCSI ID 6 = disk3 aka linux /dev/sdc devalias disk /[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED],0 will set the boot disk to be disk2. Note, I could not get this setting stick between power cycles. ie. I had to set it each time I powered on and off the unit. Afterwards, I learned that you can set this using SMS via the select boot sequence menu. boot net boots kernel via network using tftp. If you dont have the dhcpd server running prior to issuing the boot net command, it will not work even though it seems likes it trying to retry the operation. When I was using tcpdump, I never saw any packets so I wonder what its doing. printenv Shows you the settings for a particular variable. You can issue the command without arguments if you want to see all settings. Or, you can issue the command with arguments if you want to see a particular setting. ie. printenv boot-file will display only the value of the boot-file variable. setenv <variable> <value> allows you to set a variable. how do you interrupt the boot net command? How do you unset a setenv string? setenv boot-file <cr> Video Cards: The box shipped with a Fire GL1 video card. I don't know what the model number is but that's what it showed when I did a lspci. It worked well in console except it didn't seem to scroll very fast. I also could not get X to work with it. I swapped it out with an ATI pci rage video card for mac. Since its a mac it will show the openfirmware screen when the rs6k boots. I've been told you can use a pc version card once you get to linux, but it will not display the open firmware screens. Anyway, this card has a slightly different look but it updates the screen faster. I have not been able to get it work with X however. That is a todo. Partition tools info: cfdisk works fdisk, pdisk does not. Actually, fdisk will work but it will complain about the AIX disk label. Then it will not print the partition info created with cfdisk. So, use fdisk to create the intial "dos label". Then use cfdisk later if you want the simplicity of cfdisk. _CORRECTION_ yabootconfig will complain about a missing prep partition even though it exists if the AIX disk label remains on the disk. ie. if you create the partition using cfdisk you will lose. You must create the partition with fdisk. Notes about getting package not found error: Hit f1 to get sms menu. Hit select software and get "word called in boot-manager package not found" Failed to Boot ok 0 > _ The fix is to go to sms and select boot sequence. Make sure the first disk is the one with yaboot installed. Things which I found helpful to read (in order of relevance): HOWTO-Booting with Yaboot on PowerPC That is the exact title. RS6000 yaboot notes by [EMAIL PROTECTED] and [EMAIL PROTECTED] This was in my yaboot docs dir on Debian linux. The file was called README.rs6000 I used their exact partition scheme. man yabootconfig man yaboot.conf man ybin man yaboot How to get the rs6k to boot from disk. I probably did this the most insane way possible. I installed my rs6k by first booting from net and used a floppy disk as my root filesystem. Then I used a debian ppc cdrom to get my base install on the hard disk. Because I didn't know how to partition the disk correctly, I had a working root filesystem via the hard disk but it would not allow me to boot from the disk. See my debian mailing list post on how I did that. http://lists.debian.org/debian-powerpc/2002/debian-powerpc-200208/msg00314.html Later, I created a proper partitioned disk on my second disk using the README.rs6000 file described above as my guide. I used fdisk to create the partitions because fdisk will erase the AIX label. (see note above about fdisk and cfdisk.) After I had booted linux via network and partitioned the disk, I put linux in single user mode and mirrored the entire filesystem (except /proc, /mnt, /tmp) onto the second disk. (My exact syntax was: tar -c `cat dirlist` -C /| tar -x -C /mnt/disk2) Note, once I had the rs6k booting from disk2, I remirrored it back to disk1 with a proper partitioned disk. Gotchas for the partitioning is that the prep partition needs to be less than 10MB, the partition needs to be bootable, and it needs to be the first partition. (In my case, I made it 2MB.) Then I ran yabootconfig to install yaboot and kernel. I had to edit the yabootconfig script so that it would not try to perform the write to nvram since it would hang on my particular kernel level. This is done by adding --nonvram. ie. do this: ... mkofboot -f $YBINARGS --nonvram || exit 1 ... Once you run yabootconfig, it will create a /etc/yaboot.conf file, copy the yaboot boot loader to the prep partition, and enable you to boot the linux kernel you specified. If you add changes to the /etc/yaboot.conf file so that you can boot a second kernel, do not rerun yabootconfig because it will erase your existing file instead of adding to it. Instead run ybin. Also, if you intend to run ybin, you should add the nonvram switch to the config file like they do in the README.rs6000 file. For reference, here is my final /etc/yaboot.conf file: boot=/dev/sda1 partition=2 root=/dev/sda2 timeout=30 nonvram install=/usr/lib/yaboot/yaboot image=/vmlinux label=linux append="font=SUN8x16" read-only image=/vmlinux.old label=linux.old append="video=aty128fb:<[EMAIL PROTECTED]>:SUN8x16" read-only Here is how my links for /vmlinux and /vmlinux.old look: r6:~# ls -l /vmlinux* lrwxrwxrwx 1 root root 19 Mar 15 22:10 /vmlinux -> /boot/vmlinux-2.6.3 lrwxr-xr-x 1 root root 23 Mar 20 05:12 /vmlinux.old -> /boot/vmlinux-2.4 Here is how my disk is partitioned: fdisk output: Disk /dev/sda: 18.2 GB, 18200739840 bytes 64 heads, 32 sectors/track, 17357 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 2 2032 41 PPC PReP Boot /dev/sda2 3 17168 17577984 83 Linux /dev/sda3 17169 17357 193536 82 Linux swap cfdisk output: Name Flags Part Type FS Type [Label] Size (MB) -------------------------------------------------------------------------------------------------- sda1 Boot Primary PPC PReP Boot 2.10 sda2 Primary Linux ext3 17999.86 sda3 Primary Linux swap 198.19 Here are my open firmware settings: printenv boot-file boot-file ie. its blank. printenv boot-device /[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED] /[EMAIL PROTECTED]/[EMAIL PROTECTED] /[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]:1,\ppcbootinfo.txt /[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED] /[EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED] This is to much to type in by hand. It was generated via sms menu. However, it means boot from scsi disk id=4 first, then network, then cdrom, then floppy disk, and then scsi disk id=5. Looking at it in more detail, I think it means pci device, address 0x8000 0000, scsi, LUN 10 maybe, ID 4. On the cdrom, it looks like it selecting partition 1. I don't how it intends to boot from the text file though? devalias disk devalias disk /[EMAIL PROTECTED]/scsi10/[EMAIL PROTECTED],0 This means to boot from scsi id 4 using partition 1 (its zero based count) ie the prep partition. If you want to boot from disk id=5 (/dev/sdb) you need to change this to [EMAIL PROTECTED],0. Once again, you can do this via sms or openfirmware using devalias command. -- Happy Trails John F. Davis ABC #6334 1992 R100GSPD Durham, North Carolina http://www.skink.net