Re: compiling a bootable kernel for ia64 (itanium2, mckinley, rx2620)
Ivan Zakharyaschev <[email protected]>
| Newsgroups | gmane.linux.debian.ports.ia64 |
|---|---|
| Message-ID | <[email protected]> |
Hi Frank, On Mon, 5 Feb 2018, Frank Scheiner wrote: > The same applies to testing. We are able >> to test it here. Anyway, thanks for your messages, Frank and Daniel! The >> remaining useful tasks which I see are: >> >> 1) learn how to compile a bootable kernel for this machine and apply this >> knowledge to compile a fresh current kernel; >> >> 2) understand what goes wrong (by bisecting gcc), suggest a fix. (Before >> we understand it, we can't be sure what should be fixed: it's not >> necessarily abug in gcc). > > Just to be sure, is your goal to get a working kernel for your specific > machines (e.g. rx2620 w/Madison CPUs and possibly others)? > > Or is it to get a general kernel that can be used for Debian Sid on IA64 at > its current state? We wanted to use this machine for a bit of free software development and testing on ia64, and one of the requirements is running the currently released upstream kernel. So we started looking for ways to get bootable kernels. And then, as the problem with other kernels (other than the one from squeeze) appeared, I got interested in fixing the relevant free software, so that the fixes or at least the experience in working around the problem will be available to any other people with such machines (as part of standard releases of the relevant projects). And anyway, until we understand the reason we don't know this, but the fix might be a correction for ia64 in general, not just these specific machines, > Because on Gentoo Linux v4.9.x and v4.12.x (compiled with gcc 5.x and > possibly 6.x - but I'm not sure for the latter) work with the machines I > tested, i.e. currently only the rx2620 w/Montecito and a rx2660 w/Montvale. I > haven't yet had the opportunity to test Gentoo on the rx4640 though. > > For a quick test with a recent kernel on your machine you could try to boot > kernel and initramfs from the current Gentoo Minimal Installation CD ([1]), > with the elilo from Debian Wheezy ([2]). In the ISO I downloaded end of last > year these were in `/gentoo.efimg.mountPoint/efi/boot` as `gentoo` (kernel) > and `gentoo.igz` (initramfs). > > [1]: > http://distfiles.gentoo.org/releases/ia64/autobuilds/20180201T031003Z/install-ia64-minimal-20180201T031003Z.iso > > [2]: > http://ftp.debian.org/debian/dists/wheezy/main/installer-ia64/current/images/netboot/debian-installer/ia64/elilo.efi Thanks for the hints! The Gentoo kernel image doesn't boot on our machine either; actually, Gleb arranged a similar setup already: Debian elilo via network boot (lanboot in EFI shell). The tested one must be a 4.12.x one: $ file gentoo_ia64/* gentoo_ia64/gentoo: gzip compressed data, max compression, from Unix gentoo_ia64/gentoo.igz: gzip compressed data, was "initramfs-4.12.12-gentoo", last modified: Thu Dec 7 20:23:05 2017, max compression, from Unix $ All the successful and failed attempts can be seen from our elilo.conf which I'm attaching. -- Best regards, Ivan
elilo-ia64.conf
(text/plain, 4.2 KB)
## elilo configuration file generated by elilo 3.12-4 # install=/usr/lib/elilo/elilo.efi # boot=/dev/sdc1 delay=20 # default=2.6.32-5-mckinley #default=3.2.0-4-itanium # default=3.2.0-4-mckinley # default=gentoo-serial #default=experiment-squeeze #default=experiment-wheezy #default=fallback-wheezy default=jrtc27-wheezy #relocatable prompt timeout=10 # this kernel is the only working image=debian_ia64/vmlinuz-2.6.32-5-mckinley label=2.6.32-5-mckinley # root=/dev/sda2 root=/dev/sdb3 read-only initrd=debian_ia64/initrd.img-2.6.32-5-mckinley image=debian_ia64/vmlinuz-3.2.0-4-itanium label=3.2.0-4-itanium root=/dev/sda2 read-only initrd=debian_ia64/initrd.img-3.2.0-4-itanium append="debug panic=10" image=debian_ia64/vmlinuz-3.2.0-4-mckinley label=3.2.0-4-mckinley root=/dev/sda2 read-only initrd=debian_ia64/initrd.img-3.2.0-4-mckinley append="debug" image=gentoo_ia64/gentoo label=gentoo-serial initrd=gentoo_ia64/gentoo.igz append="initrd=gentoo.igz root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot console=tty0 console=ttyS0,9600" #image=alt_ia64/vmlinux-v2.6.32.71 #image=alt_ia64/vmlinux-v2.6.32 #image=alt_ia64/vmlinuz-2.6.32-5-mckinley #image=ia64-debian-rebuilt/imz/with-gcc-4.6.3-O1_wheezy/boot/vmlinuz-2.6.32-5-mckinley #image=alt_ia64/vmlinux-v4.15-rc9-54-ge9b16d420569 # now the next one works too #image=ia64-debian-rebuilt/glebfm/with-gcc-4.3.5_squeeze/boot/vmlinuz-2.6.32-5-mckinley # this one is bootable, too (but initrd doesn't match; then it reboots after 30 sec) image=ia64-debian-rebuilt/imz/with-gcc-4.4.5_squeeze/boot/vmlinuz-2.6.32-5-mckinley #image=ia64-debian-rebuilt/imz/with-gcc-4.4.5-O1_squeeze/boot/vmlinuz-2.6.32-5-mckinley # this one is bootable, too (but initrd doesn't match; then it reboots after 30 sec) #image=ia64-debian-rebuilt/imz/with-gcc-4.4.7_wheezy/boot/vmlinuz-2.6.32-5-mckinley #image=ia64-debian-rebuilt/imz/with-gcc-4.4.7-O1_wheezy/boot/vmlinuz-2.6.32-5-mckinley # this one is bootable, too (but initrd doesn't match; then it reboots after 30 sec) #image=ia64-debian-rebuilt/imz/with-gcc-4.5.3_wheezy/boot/vmlinuz-2.6.32-5-mckinley # this one is bootable, too (but hangs on udev; there are no modules for this version) # -- use experiment-wheezy to boot this #image=ia64-debian-rebuilt/imz/with-gcc-4.4.7_wheezy/boot/vmlinuz-3.2.0-4-mckinley label=experiment-squeeze root=/dev/sdb3 read-only initrd=debian_ia64/initrd.img-2.6.32-5-mckinley append="debug panic=10" # append="debug console=ttyS0,9600 earlycon=uart8250,mmio,0xff5e0000,9600n8" #[ 0.000000] Early serial console at MMIO 0xff5e0000 (options '9600n8') #[ 8.092215] 00:04: ttyS0 at MMIO 0xff5e0000 (irq = 49) is a 16550A #[ 8.309574] 00:05: ttyS1 at MMIO 0xff5e2000 (irq = 50) is a 16550A image=ia64-debian-rebuilt/glebfm/with-gcc-4.3.5_squeeze/boot/vmlinuz-2.6.32-5-mckinley label=fallback-wheezy root=/dev/sda2 read-only initrd=debian_ia64/initrd.img-2.6.32-5-mckinley append="debug panic=10" # append="debug console=ttyS0,9600 earlycon=uart8250,mmio,0xff5e0000,9600n8" # doesn't boot (the original wheezy kernel?) #image=debian_ia64/vmlinuz-3.2.0-4-mckinley # boots, too: image=ia64-debian-rebuilt/imz/with-gcc-4.4.7_wheezy/boot/vmlinuz-3.2.0-4-mckinley #image=ia64-debian-rebuilt/imz/with-gcc-4.5.3_wheezy/boot/vmlinuz-3.2.0-4-mckinley #image=ia64-debian-rebuilt/imz/with-gcc-4.5.3-O1_wheezy/boot/vmlinuz-3.2.0-4-mckinley label=experiment-wheezy root=/dev/sda2 read-only # created after installing the rebuilt pkg initrd=ia64-debian-rebuilt/imz/with-gcc-4.4.7_wheezy/boot/initrd.img-3.2.0-4-mckinley append="debug panic=10" # this boots, too; from https://people.debian.org/~jrtc27/wheezy-backports-ia64/linux-image-3.16.0-0.bpo.4-mckinley_3.16.39-1+deb8u1~bpo70+1+gcc4.4_ia64.deb image=ia64-debian-rebuilt/jrtc27/linux-image-3.16.0-0.bpo.4-mckinley_3.16.39-1+deb8u1~bpo70+1+gcc4.4_ia64.deb/boot/vmlinuz-3.16.0-0.bpo.4-mckinley label=jrtc27-wheezy root=/dev/sda2 read-only initrd=ia64-debian-rebuilt/jrtc27/linux-image-3.16.0-0.bpo.4-mckinley_3.16.39-1+deb8u1~bpo70+1+gcc4.4_ia64.deb/boot/initrd.img-3.16.0-0.bpo.4-mckinley append="debug panic=10" # append="debug console=ttyS0,9600 earlycon=uart8250,mmio,0xff5e0000,9600n8"