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

Bug#808246: Stretch fails to install on OpenPOWER systems



On 2015-12-17 11:51, Timothy Pearson wrote:
> Package: linux-image-4.2.0-1-powerpc64le
> Version: 4.2.6-3
> Severity: grave
> 
> Using the latest debian-installer netboot kernel to install on an
> OpenPOWER server; install proceeds normally until disk detection when it
> fails stating no disks can be found.  dmesg shows a slew of errors similar
> to the following:
> 
> fat: no symbol version for TOC.
> fat: Unknown symbol TOC. (err -22)
> ext4: no symbol version for TOC.
> ext4: Unknown symbol TOC. (err -22)
> ahci: no symbol version for TOC.
> ahci: Unknown symbol TOC. (err -22)
> 
> Forcibly loading the modules (modprobe --force ext4, etc.) and resuming
> the installer allows the system to install normally, however the same
> issue shows up on reboot.  This causes a boot failure that cannot be
> overridden as the modprobe version in the initramfs does not support the
> force parameter.
> 
> Jessie installs normally on the same system.

The problem is that recent binutils versions strip undefined symbols from
vmlinux. Normally a ppc64el kernel has the following undefined symbols:

| 44809: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND mach_powermac
| 52870: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND mach_chrp
| 62021: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND mach_cell
| 62383: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __crc_TOC.

However this is not the case anymore. This is due to the following
change on the binutils side:

| commit d983c8c5503d680c6d4955ceb610a9beebc64460
| Author: Alan Modra <amodra@gmail.com>
| Date:   Wed Feb 18 17:02:39 2015 +1030
| 
|     Strip undefined symbols from .symtab
|     
|     bfd/
|         PR ld/4317
|         * elflink.c (elf_link_input_bfd): Drop undefined local syms.
|         (elf_link_output_extsym): Drop local and global undefined syms.
|         Tidy.  Expand comment.
|     ld/testsuite/
|         PR ld/4317
|         * ld-aarch64/gc-tls-relocs.d, * ld-cris/locref2.d,
|         * ld-elf/ehdr_start-weak.d, * ld-elf/group1.d,
|         * ld-i386/compressed1.d, * ld-ia64/error1.d, * ld-ia64/error2.d,
|         * ld-ia64/error3.d, * ld-mips-elf/pic-and-nonpic-1.nd,
|         * ld-mmix/undef-3.d, * ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.r,
|         * ld-powerpc/tlsso.r, * ld-powerpc/tlstocso.r,
|         * ld-x86-64/compressed1.d, * ld-x86-64/pie1.d: Update.

I am not sure the powerpc and ppc64el are actually due to the same bug
in binutils.

Aurelien


-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: