Dear Adrian, Ben,
as a follow-up to [1], I'm using klibc-utils with my patch since shortly
before submitting the merge request ("Build static tools for ia64 again"
([2])) but rebuilt it yesterday with a checkout of the current state of
the master branch of kernel-team/klibc ([3]) as source folder instead of
the original one of the current source of the klibc-utils package.
[1]: https://lists.debian.org/debian-ia64/2018/06/msg00000.html
[2]: https://salsa.debian.org/kernel-team/klibc/merge_requests/1
[3]:
https://salsa.debian.org/kernel-team/klibc/tree/417eafe62fc13011bf024ded9eef1b3b16c372cd
After installing the package (package changes further below), I can
successfully use e.g. the `cat` tool of klibc-utils 2.0.4-12, which
didn't work with 2.0.4-11 (see [1]). And of course the tools of
klibc-utils 2.0.4-12 - specifically `ipconfig` - also work during OS
startup.
```
root@rx2800-i2:~# dpkg -i klibc-utils_2.0.4-12_ia64.deb
(Reading database ... 82973 files and directories currently installed.)
Preparing to unpack klibc-utils_2.0.4-12_ia64.deb ...
Unpacking klibc-utils (2.0.4-12) over (2.0.4-12) ...
Setting up klibc-utils (2.0.4-12) ...
root@rx2800-i2:~# dpkg -l klibc-utils
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version
Architecture Description
+++-===================================-======================-======================-============================================================================
ii klibc-utils 2.0.4-12 ia64
small utilities built with klibc for early boot
root@rx2800-i2:~# cd /usr/lib/klibc/bin/
root@rx2800-i2:/usr/lib/klibc/bin# file cat
cat: ELF 64-bit LSB executable, IA-64, version 1 (SYSV), statically
linked, stripped
root@rx2800-i2:/usr/lib/klibc/bin# ./cat /proc/cpuinfo
processor : 0
vendor : GenuineIntel
arch : IA-64
family : 32
model : 2
model name : Intel(R) Itanium(R) Processor 9320
revision : 4
archrev : 0
features : branchlong, 16-byte atomic ops, 0x8
cpu number : 0
cpu regs : 4
cpu MHz : 1329.945
itc MHz : 797.967420
BogoMIPS : 2920.44
siblings : 8
physical id: 0
core id : 0
thread id : 0
[...]
root@rx2800-i2:~# update-initramfs -k 4.14.52-gentoo -c
update-initramfs: Generating /boot/initrd.img-4.14.52-gentoo
root@rx2800-i2:~# echo $?
0
root@rx2800-i2:~# reboot
Broadcast message from root@rx2800-i2 (pts/0) (Sat Jul 14 13:50:36 2018):
The system is going down for reboot NOW!
[...]
Booting Core LAN Port 1
Performing a non-directed lanboot...
..
Client MAC Address: 00 23 7D 11 22 33
LAN Configuration:
Client MAC Address : 00 23 7D 11 22 33
Client IP Address : 172.16.2.123
Subnet Mask : 255.255.0.0
Gateway IP Address : 172.16.0.1
Boot Server IP Address : 172.16.0.2
DHCP Server IP Address : 172.16.0.1
Boot File Name: /AC10027B
Boot File Size: 378664
Optional Data: NONE
ELILO v3.14 for EFI/IA-64
..
Uncompressing Linux... done
Loading file AC10027B.initrd.img...done
Linux version 4.14.52-gentoo (root@rx2620) (gcc version 7.3.0 (Gentoo
7.3.0-r3 p1.4)) #1 SMP Tue Jul 10 21:49:25 CEST 2018
[...]
Loading, please wait...
starting version 238
[...]
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/nfs-top ...
done.
Begin: RRPC: Registered named UNIX socket transport module.
unning /scripts/RPC: Registered udp transport module.
nfs-premount ...RPC: Registered tcp transport module.
done.
RPC: Registered tcp NFSv4.1 backchannel transport module.
IP-Config: enp8s0f0 hardware address 00:23:7d:11:22:33 mtu 1500 DHCP
IP-Config: no response after 2 secs - giving up
IP-Config: enp8s0f0 hardware address 00:23:7d:11:22:33 mtu 1500 DHCP
igb 0000:08:00.0 enp8s0f0: igb: enp8s0f0 NIC Link is Up 1000 Mbps Full
Duplex, Flow Control: RX/TX
ipconfig(1484): unaligned access to 0x60000fffffe6746f,
ip=0x4000000000006141
ipconfig(1484): unaligned access to 0x60000fffffe6746f,
ip=0x4000000000006141
IP-Config: enp8s0f0 guessed broadcast address 172.16.255.255
IP-Config: enp8s0f0 complete (dhcp from 172.16.0.1):
address: 172.16.2.123 broadcast: 172.16.255.255 netmask:
255.255.0.0
gateway: 172.16.0.1 dns0 : 172.16.0.1 dns1 : 0.0.0.0
host : rx2800-i2
domain : domain.tld
rootserver: 172.16.0.2 rootpath: 172.16.0.2:/srv/nfs/rx2800-i2/root
filename : /AC10027B
done.
Begin: Running /scripts/nfs-bottom ... done.
Begin: Running /scripts/init-bottom ... done.
INIT: version 2.88 booting
[...]
Debian GNU/Linux buster/sid rx2800-i2 ttyS1
rx2800-i2 login:
```
Also works with systemd:
```
[...]
systemd[1]: systemd 239 running in system mode. (+PAM +AUDIT +SELINUX
+IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS
+ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2
default-hierarchy=hybrid)
systemd[1]: Detected architecture ia64.
Welcome to Debian GNU/Linux buster/sid!
systemd[1]: Set hostname to <rx2800-i2>.
[...]
Debian GNU/Linux buster/sid rx2800-i2 ttyS1
rx2800-i2 login:
```
****
klibc_2.0.4-12_ia64.changes:
```
Format: 1.8
Date: Sun, 11 Mar 2018 18:10:13 +0000
Source: klibc
Binary: libklibc-dev libklibc klibc-utils
Architecture: ia64
Version: 2.0.4-12
Distribution: UNRELEASED
Urgency: medium
Maintainer: maximilian attems <m...@debian.org>
Changed-By: Ben Hutchings <b...@decadent.org.uk>
Description:
klibc-utils - small utilities built with klibc for early boot
libklibc - minimal libc subset for use with initramfs
libklibc-dev - kernel headers used during the build of klibc
Changes:
klibc (2.0.4-12) UNRELEASED; urgency=medium
.
[ Ben Hutchings ]
* debian/control: Point Vcs URLs to Salsa
.
[ Frank Scheiner ]
* [klibc] ia64: Build static tools (again)
Checksums-Sha1:
0f3ac7a4f580d081f903e586181c2abfe9dcbefe 178148
klibc-utils_2.0.4-12_ia64.deb
5a82463652ab79575ac55453e4adf37be5fdc51a 4853
klibc_2.0.4-12_ia64.buildinfo
c52a80d7f2eee9db254350d9b09d1e1e9c9cf7ac 154396
libklibc-dev_2.0.4-12_ia64.deb
68b3b96b7d5919f4f36ebb0e6f6f5f03d28371b7 74680 libklibc_2.0.4-12_ia64.deb
Checksums-Sha256:
d509e14ae0cbd3adecbcb50973423f03c35d21e2f3150768e67502c2ddf96c9d
178148 klibc-utils_2.0.4-12_ia64.deb
7c876d5bfa09a28d6e0f85380211637c34e91a4c1b77095e8f2e28e27b1bc8d7 4853
klibc_2.0.4-12_ia64.buildinfo
0c1f58ef38cd3d2cc269c51a958d7011fc8d97868c9daad8f6e4791323caa0b1
154396 libklibc-dev_2.0.4-12_ia64.deb
74209b8fca0e999824b9b4f77f6aab134537305e8f65dddb21c97a6157523054 74680
libklibc_2.0.4-12_ia64.deb
Files:
733c3efb105d717b75bd2dd49f63b725 178148 libs optional
klibc-utils_2.0.4-12_ia64.deb
df01a0035b1d948e569e6aec1caaacc9 4853 libs optional
klibc_2.0.4-12_ia64.buildinfo
bdc798d3b96ca0e931042c1e376f9f48 154396 libdevel optional
libklibc-dev_2.0.4-12_ia64.deb
a122d02d87aeec467f2bcf3d084ff7b6 74680 libs optional
libklibc_2.0.4-12_ia64.deb
```