[Debian-ppc64-devel] Debian running on a pSeries 6E4 - almost

Roberto Suarez Soto robe@allenta.com
Tue, 31 May 2005 17:35:59 +0200


	At last, it's working :-) I've just booted for the first time Linux on
the hard drive of a pSeries 6E4. I still have a problem: it seems that
something on the video side is using the wrong endianess, because everything
displayed is a mess (it shows in reverse, in fact). First I thought it was
Klingon, but I have confirmed that it isn't ;-) I took a photo and put it
here:

	http://ceu.fi.udc.es/~robe/img_pseries.jpg

	I don't know exactly what to do with that. I'm going to try using the
serial console (I installed using it, and it worked perfectly), but anyway I'd
like to know how to use the video console too.

	Micro-howto of what I did:

	1) Use Cajus' linux.bin to boot. Install as usual.

	2) Instead of rebooting, execute a shell. Here starts the real work.

	3) Download a working kernel from Cajus' mirror and unpack it on the
freshly installed system. This has several steps:
	3a) The package I used is this:
	http://debian.gonicus.de/powerpc-extras/kernel-image-2.6.10-pseries_gonicus.2_powerpc.deb
	There is also a 2.6.11 version, but as the kernel used in the
installation image is 2.6.10, you must use this. Strictly it's not true, as you could manage to use 2.6.11, but trust me, 2.6.10 is much easier.
	3b) The installed system should be available under /target. If not,
mount it and make sure that the other partitions you could have used are
mounted below it.
	3b) I think there is an "ar" emulation in BusyBox, but I didn't use it
(just because I didn't realize soon enough). I downloaded the package to my
workstation, "ar x"-ed it, and renamed "data.tar.gz" to
"kernel-image-2.6.10-pseries.tar.gz. I installed boa (a small webserver) to
make it available by http. Then I downloaded it using "wget" (which is, I
think, another one of BusyBox's emulations) to /target. I think the same could
have been done downloading the deb package and using "ar x" right there, but
the result is the same: now we have a tar.gz of the kernel image in /target.
	3d) Unpack it from /target:
	cd /target
	tar -zxvf kernel-image-2.6.10-pseries.tar.gz

	4) Now we have to make that kernel bootable. Again, several steps:
	4a) Chroot into /target.
	4b) I had to make an initrd, because the support for the SCSI card
(sym83c5x, IIRC) came as a module. It was as simple as:

	mkinitrd -o /boot/initrd.img-2.6.10-pseries

	4e) Tweak the symbolic links in /boot so /boot/vmlinux points to /boot/vmlinux-2.6.10-pseries and /boot/initrd.img points to /boot/initrd.img-2.6.10-pseries.
	4d) Use yabootconfig to update the boot sector. Though cfdisk worked
inside the chroot, somehow yabootconfig didn't like it and I had to use the
"-b" parameter to force the boot partition (in my case, /dev/sda1). So I did:

	yabootconfig -b /dev/sda1

	5) Reboot, by aborting the installation or any other means. Have a
snack while the thing reboots. Pray for it to work :-)

	I think I don't forget anything. Ask any doubt. I'll tell if I make
any other progress.

-- 
	Roberto Suarez Soto				Allenta Consulting
	robe@allenta.com				   www.allenta.com