[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: compiling a bootable kernel for ia64 (itanium2, mckinley, rx2620)



Hi Ivan,

On 02/04/2018 11:53 PM, Ivan Zakharyaschev wrote:
I had Debian Wheezy with Linux v3.2.x (vmlinuz-3.2.0-4-mckinley, i.e. [this one]) running w/o issues on my rx2620 with two Itanium 2 9040 (Montecito) both from an on-disk installation and a NFS root FS, but I ran it on bare-metal, not in a VM.

Yes, [this one] doesn't boot on our system. It might even be in our case a strange/buggy behavior caused by old firmware for an otherwise correct kernel binary code (or, of course, the code might be not correct). Perhaps, there is a difference between yours and ours machines: It looks like ours has 2 Madison CPUs (if we are to trust this cpuinfo), which are older than your Montecito ones.

I had a slightly modified NFS root FS (from the rx2620) running on my rx4640 which has four Madison CPUs:
```
root@rx4640:~# uname -a
Linux rx4640 3.2.0-4-mckinley #1 SMP Debian 3.2.78-1 ia64 GNU/Linux

root@rx4640:~# lscpu
Architecture:          ia64
CPU op-mode(s):        64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             4
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            31
Model:                 1
CPU MHz:               1299.718
L1d cache:             16K
L1i cache:             16K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

root@rx4640:~# cat /proc/cpuinfo
processor  : 0
vendor     : GenuineIntel
arch       : IA-64
family     : 31
model      : 1
model name : Madison
revision   : 5
archrev    : 0
features   : branchlong
cpu number : 0
cpu regs   : 4
cpu MHz    : 1299.718
itc MHz    : 1299.718465
BogoMIPS   : 1945.60
siblings   : 1
physical id: 0
[...]

root@rx4640:~# time openssl speed -elapsed
[...]
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon Feb 29 00:33:28 UTC 2016
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIO -g -O2 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md2 0.00 0.00 0.00 0.00 0.00 mdc2 0.00 0.00 0.00 0.00 0.00 md4 11438.75k 40972.28k 100329.19k 158192.68k 189892.09k md5 8689.57k 30761.19k 83831.06k 147215.32k 188617.53k hmac(md5) 9466.35k 31766.43k 85695.40k 148677.79k 189317.45k
[...]
```
...so maybe it's not the CPUs that make the difference.

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?

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

Cheers,
Frank


Reply to: