You are not logged in.

#1 2019-03-02 07:45:28

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

[SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Hi all,

I just upgraded to Linux 4.20.13. I have two almost identical machines that I've upgraded: they both have the following sorts of hardware:

  • amd zen cpus

  • unencrypted ext4 root directory on ssd card

  • encrypted home, var, and swap on rotational hdd

  • nvidia 10-series gpu

  • asrock ab350 pro4 mb

On one of these boxes, the upgrade went as expected. On the other I get dumped into the ramfs shell with the message:

mount: /new_root: unknown filesystem type 'ext4'.

The ramfs shell does not accept further keyboard input so I can't query the state of the devices, filesystems etc.

Using an Arch live-usb to chroot in and roll back to kernel 4.20.12 fixes the problem.

Since rolling back to the previous nvidia driver wasn't required to fix the problem, I assume it wasn't the difference in graphics card. (Anyway, the one on the good machine is GT 1030, the one on the "bad" machine is GTX 1050, but I"m sure it's not relevant.)

The only other difference is the cpu:

  • "Goodie" has Ryzen 5 2600

  • "Baddie" has Ryzen 7 1800X

(I built both boxes relatively close together in time and chose the parts to be similar on purpose, so that's why nothing else is really different except the graphics card.)

I mean, I suspect this is more of an upstream problem. I'm skeptical (albeit fingers crossed) that we can solve it here on the forum.

But maybe it will serve as a warning to be careful before upgrading, or maybe the discussion might help take something more solid to upstream.


Edit: This (at least superficially) seems similar to https://bbs.archlinux.org/viewtopic.php?id=244603. Couple of differences: they're using btrfs and I'm using ext4; and they can type things into the initramfs shell, whereas the emergency shell seems frozen for me.

Last edited by /dev/zero (2019-03-04 02:27:07)

Offline

#2 2019-03-02 11:26:58

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

/dev/zero wrote:

I suspect this is more of an upstream problem

Can you narrow down the potential bad commit?

https://wiki.archlinux.org/index.php/Bi … s_with_Git

Offline

#3 2019-03-02 11:33:38

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Head_on_a_Stick wrote:
/dev/zero wrote:

I suspect this is more of an upstream problem

Can you narrow down the potential bad commit?

https://wiki.archlinux.org/index.php/Bi … s_with_Git

Huh. Theoretically I guess I could. But it's going to require recompiling the kernel over and over again, isn't it?

Maybe I'm misunderstanding what git bisect does? (It's not a part of Git I've ever actually had to use.)

Even if I was doing this in a VM (which I'm not, i.e. multiple recompilations will require placing my main workstation in the line of fire each time), recompiling over and over again would still be a huge PITA ... wink

Last edited by /dev/zero (2019-03-02 11:37:09)

Offline

#4 2019-03-02 11:39:40

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

/dev/zero wrote:

it's going to require recompiling the kernel over and over again, isn't it?

Yes, that's right.

/dev/zero wrote:

a huge PITA

The community thanks you in advance for your efforts big_smile

Offline

#5 2019-03-02 11:42:34

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Might this have been a mismatch between initramfs and linux kernel? One was updated to the new version, the other not?


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#6 2019-03-02 11:50:50

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

progandy wrote:

Might this have been a mismatch between initramfs and linux kernel?

Isn't the initramfs rebuilt automatically upon kernel upgrades?

https://git.archlinux.org/svntogit/pack … ages/linux

Perhaps if the OP had a separate /boot partition that was un-mounted during the upgrade but that doesn't seem to be the case here.

Offline

#7 2019-03-02 11:51:48

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

progandy wrote:

Might this have been a mismatch between initramfs and linux kernel? One was updated to the new version, the other not?

It occurred to me that something like that might have happened. But each time a new kernel is installed, it triggers a rebuild of the initramfs. So, I'm not sure how there could be a mismatch?

I've tried switching back and forwards multiple times. It is consistent that when I switch back to 4.20.12, things work, and when I upgrade to 4.20.13, there is suddenly the problem with ext4 not being a valid root filesystem.

Offline

#8 2019-03-02 11:53:40

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Head_on_a_Stick wrote:

The community thanks you in advance for your efforts big_smile

It has been so long since I successfully compiled a kernel from scratch, I'm afraid I might just end up adding noise without any signal wink

Offline

#9 2019-03-02 11:58:05

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Offline

#10 2019-03-02 12:04:02

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

/dev/zero wrote:
progandy wrote:

Might this have been a mismatch between initramfs and linux kernel? One was updated to the new version, the other not?

It occurred to me that something like that might have happened. But each time a new kernel is installed, it triggers a rebuild of the initramfs. So, I'm not sure how there could be a mismatch?

There could have been some strange error that should not happen, like mkinitramfs being killed.

I've tried switching back and forwards multiple times. It is consistent that when I switch back to 4.20.12, things work, and when I upgrade to 4.20.13, there is suddenly the problem with ext4 not being a valid root filesystem.

SInce it is consistent, I don't think the initramfs version is the issue.

You can easily test it by comparing the kernel versions in the output of

file /boot/vmlinuz-linux
lsinitcpio /boot/initramfs-linux.img | grep ext4

| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#11 2019-03-02 12:16:34

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Head_on_a_Stick wrote:

Thanks, that is a clear direction about what to try, although it will take a lot of work.

Offline

#12 2019-03-02 12:39:59

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

The following assumes the base-devel group and git are installed and I recomend enabling Makepkg#Parallel_compilation to reduce build times

$ git clone git://git.archlinux.org/svntogit/packages.git --single-branch --branch "packages/linux"
$ cd packages/trunk
$ git checkout b44aa57a4ff15e6c41d24429aff240d2e3980645 #4.20.13.arch1-1
$ cd ../..
$ cp -r packages/trunk linux-git
$ rm -rf packages
$ cd linux-git
# Edit replace the PKGBUILD and 90-linux.hook with the ones below
$ makepkg -rsi #this is to confirm 4.20.13 as built on your system does have the issue update bootloader for new kernel if needed

$ cd linux-git/src/linux
$ git checkout v4.20.12
$ cd ../..
$ makepkg -ersi #this is to confirm 4.20.12 as built on your system does not have the issue select the default option for all prompted options

$ cd linux-git/src/linux/
$ git bisect start
$ git bisect good v4.20.12
$ git bisect bad v4.20.13
$ cd ../..
$ makepkg -ersif

$ cd linux-git/src/linux/
$ git bisect $result #substitue good or bad here
$ cd ../..
$ makepkg -ersif #repeat these four lines and test the generated kernel until git has found the bad commit

PKGBUILD

# Maintainer: Boohbah <boohbah at gmail.com>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
# Contributor: Jonathan Chan <jyc@fastmail.fm>
# Contributor: misc <tastky@gmail.com>
# Contributor: NextHendrix <cjones12 at sheffield.ac.uk>

pkgbase=linux-git
_srcname=linux
pkgver=4.20.13.r0.g0f7c162c1df5
pkgrel=1
arch=('x86_64')
url="https://www.kernel.org/"
license=('GPL2')
makedepends=('kmod' 'inetutils' 'bc' 'libelf')
options=('!strip')
source=(#'git+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git#tag=xX.Y'
        'git+https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git#tag=v4.20.13'
  'config'   # the main kernel config file
  '60-linux.hook'  # pacman hook for depmod
  '90-linux.hook'  # pacman hook for initramfs regeneration
  'linux.preset'   # standard config files for mkinitcpio ramdisk
)

sha256sums=('SKIP'
            'f863b3e9640161f61e859f22f2d1258c940101de8f007a207c1ede2f71d36206'
            'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
            '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
            'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65')

_kernelname=${pkgbase#linux}
: ${_kernelname:=-ARCH}

pkgver() {
  cd "${_srcname}"

  git describe --long | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g;s/\.rc/rc/'
}

prepare() {
  cd ${_srcname}

  cp -Tf ../config .config

  # set localversion to git commit
  sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
  sed -i "s|^.*CONFIG_LOCALVERSION_AUTO.*|CONFIG_LOCALVERSION_AUTO=y|" ./.config

  # don't run depmod on 'make install'. We'll do this ourselves in packaging
#  git tracks scripts/depmod.sh so do not change it when using the existing source dir for bisection
#  sed -i '2iexit 0' scripts/depmod.sh

  # get kernel version
  make prepare

  # load configuration
  # Configure the kernel. Replace the line below with one of your choice.
  #make menuconfig # CLI menu for configuration
  #make nconfig # new CLI menu for configuration
  #make xconfig # X-based configuration
  #make oldconfig # using old config from previous kernel version
  make olddefconfig # old config from previous kernel, defaults for new options
  # ... or manually edit .config
}

build() {
  cd ${_srcname}

  make bzImage modules
}

_package() {
  pkgdesc="The Linux kernel and modules (git version)"
  depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
  optdepends=('crda: to set the correct wireless channels of your country')
  backup=("etc/mkinitcpio.d/${pkgbase}.preset")
  install=linux.install

  cd ${_srcname}

  # get kernel version
  _kernver="$(make kernelrelease)"
  _kernver=${_kernver%-dirty} #https://bbs.archlinux.org/viewtopic.php?id=236702
  _basekernel="$(make kernelversion)"
  _basekernel=${_basekernel%.*}

  mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
  make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install
  cp arch/x86/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"

  # make room for external modules
  local _extramodules="extramodules-${_basekernel}${_kernelname}"
  ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules"

  # add real version for building modules and running depmod from hook
  echo "${_kernver}" |
    install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version"

  # remove build and source links
  rm "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build}

  # now we call depmod...
  depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"

  # add vmlinux
  install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux

  # sed expression for following substitutions
  local _subst="
    s|%PKGBASE%|${pkgbase}|g
    s|%KERNVER%|${_kernver}|g
    s|%EXTRAMODULES%|${_extramodules}|g
  "

  # hack to allow specifying an initially nonexisting install file
  sed "${_subst}" "${startdir}/${install}" > "${startdir}/${install}.pkg"
  true && install=${install}.pkg

  # install mkinitcpio preset file
  sed "${_subst}" ../linux.preset |
    install -Dm644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"

  # install pacman hooks
  sed "${_subst}" ../60-linux.hook |
    install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/60-${pkgbase}.hook"
  sed "${_subst}" ../90-linux.hook |
    install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook"
}

_package-headers() {
  pkgdesc="Header files and scripts for building modules for Linux kernel (git version)"

  cd ${_srcname}
  local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"

  install -Dt "${_builddir}" -m644 Makefile .config Module.symvers
  install -Dt "${_builddir}/kernel" -m644 kernel/Makefile

  mkdir "${_builddir}/.tmp_versions"

  cp -t "${_builddir}" -a include scripts

  install -Dt "${_builddir}/arch/x86" -m644 arch/x86/Makefile
  install -Dt "${_builddir}/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s

  cp -t "${_builddir}/arch/x86" -a arch/x86/include

  install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
  install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h

  # http://bugs.archlinux.org/task/13146
  install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h

  # http://bugs.archlinux.org/task/20402
  install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
  install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
  install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h

  # add xfs and shmem for aufs building
  mkdir -p "${_builddir}"/{fs/xfs,mm}

  # copy in Kconfig files
  find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;

  # add objtool for external module building and enabled VALIDATION_STACK option
  install -Dt "${_builddir}/tools/objtool" tools/objtool/objtool

  # remove unneeded architectures
  local _arch
  for _arch in "${_builddir}"/arch/*/; do
    [[ ${_arch} == */x86/ ]] && continue
    rm -r "${_arch}"
  done

  # remove files already in linux-docs package
  rm -r "${_builddir}/Documentation"

  # remove now broken symlinks
  find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete

  # Fix permissions
  chmod -R u=rwX,go=rX "${_builddir}"

  # strip scripts directory
  local _binary _strip
  while read -rd '' _binary; do
    case "$(file -bi "${_binary}")" in
      *application/x-sharedlib*)  _strip="${STRIP_SHARED}"   ;; # Libraries (.so)
      *application/x-archive*)    _strip="${STRIP_STATIC}"   ;; # Libraries (.a)
      *application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries
      *) continue ;;
    esac
    /usr/bin/strip ${_strip} "${_binary}"
  done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null)
}

_package-docs() {
  pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel (git version)"

  cd ${_srcname}
  local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"

  mkdir -p "${_builddir}"
  cp -t "${_builddir}" -a Documentation

  # Fix permissions
  chmod -R u=rwX,go=rX "${_builddir}"
}

pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
for _p in ${pkgname[@]}; do
  eval "package_${_p}() {
    $(declare -f "_package${_p#${pkgbase}}")
    _package${_p#${pkgbase}}
  }"
done

# vim:set ts=8 sts=2 sw=2 et:

90-linux.hook

[Trigger]
Type = File
Operation = Install
Operation = Upgrade
Target = boot/vmlinuz-%PKGBASE%
Target = usr/lib/initcpio/*

[Action]
Description = Updating %PKGBASE% initcpios...
When = PostTransaction
Exec = /usr/bin/mkinitcpio -p %PKGBASE%

Edit:
Fixed checksums old 90-linux.hook

Last edited by loqs (2019-03-02 21:44:08)

Offline

#13 2019-03-02 21:11:17

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Thanks loqs, looks like a solid process. However, I get an error pretty quickly:

  HOSTCC  scripts/sign-file
  HOSTCC  scripts/extract-cert
  LD       /home/hadeion/src/linux-git/src/linux/tools/objtool/objtool-in.o
/usr/bin/ld: /tmp/ccpWhVOx.o: in function `main':
extract-cert.c:(.text.startup+0x1e): undefined reference to `OPENSSL_add_all_algorithms_noconf'
/usr/bin/ld: extract-cert.c:(.text.startup+0x23): undefined reference to `ERR_load_crypto_strings'
collect2: error: ld returned 1 exit status
make[1]: *** [scripts/Makefile.host:90: scripts/extract-cert] Error 1
make[1]: *** Waiting for unfinished jobs....
  LINK     /home/hadeion/src/linux-git/src/linux/tools/objtool/objtool
/usr/bin/ld: /tmp/cclFjP7x.o: in function `main':
sign-file.c:(.text.startup+0x48): undefined reference to `OPENSSL_add_all_algorithms_noconf'
/usr/bin/ld: sign-file.c:(.text.startup+0x4d): undefined reference to `ERR_load_crypto_strings'
/usr/bin/ld: sign-file.c:(.text.startup+0x7ad): undefined reference to `OpenSSL_add_all_digests'
collect2: error: ld returned 1 exit status
make[1]: *** [scripts/Makefile.host:90: scripts/sign-file] Error 1
make: *** [Makefile:1073: scripts] Error 2
make: *** Waiting for unfinished jobs....
  CALL    scripts/checksyscalls.sh
==> ERROR: A failure occurred in build().
    Aborting...

Which I guess isn't surprising. I've been having trouble compiling anything against openssl for some time.

Offline

#14 2019-03-02 21:40:37

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Have you got an openssl compat library?  There were two minor issues with the instructions
(the checksum for the config and 90-linux.hook were not updated and I had not mentioned the need for a custom 90-linux.hook )
but that should not cause the issue you are facing

makepkg
==> Making package: linux-git 0-1 (Sat 02 Mar 2019 21:29:14 UTC)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating linux git repo...
Fetching origin
  -> Found config
  -> Found 60-linux.hook
  -> Found 90-linux.hook
  -> Found linux.preset
==> Validating source files with sha256sums...
    linux ... Skipped
    config ... Passed
    60-linux.hook ... Passed
    90-linux.hook ... Passed
    linux.preset ... Passed
==> Extracting sources...
  -> Creating working copy of linux git repo...
Cloning into 'linux'...
done.
Checking out files: 100% (63135/63135), done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
  HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  HOSTCC  arch/x86/tools/relocs_common.o
  HOSTLD  arch/x86/tools/relocs
  UPD     include/config/kernel.release
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  WRAP    arch/x86/include/generated/asm/dma-contiguous.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/export.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/mm-arch-hooks.h
  UPD     include/generated/uapi/linux/version.h
  UPD     include/generated/utsrelease.h
  CC      kernel/bounds.s
  UPD     include/generated/bounds.h
  UPD     include/generated/timeconst.h
  CC      arch/x86/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  DESCEND  objtool
  HOSTCC   /tmp/linux-git/src/linux/tools/objtool/fixdep.o
  HOSTLD   /tmp/linux-git/src/linux/tools/objtool/fixdep-in.o
  LINK     /tmp/linux-git/src/linux/tools/objtool/fixdep
  CC       /tmp/linux-git/src/linux/tools/objtool/exec-cmd.o
  CC       /tmp/linux-git/src/linux/tools/objtool/help.o
  CC       /tmp/linux-git/src/linux/tools/objtool/pager.o
  CC       /tmp/linux-git/src/linux/tools/objtool/parse-options.o
  CC       /tmp/linux-git/src/linux/tools/objtool/run-command.o
  CC       /tmp/linux-git/src/linux/tools/objtool/sigchain.o
  CC       /tmp/linux-git/src/linux/tools/objtool/subcmd-config.o
  LD       /tmp/linux-git/src/linux/tools/objtool/libsubcmd-in.o
  AR       /tmp/linux-git/src/linux/tools/objtool/libsubcmd.a
  GEN      /tmp/linux-git/src/linux/tools/objtool/arch/x86/lib/inat-tables.c
  CC       /tmp/linux-git/src/linux/tools/objtool/arch/x86/decode.o
  LD       /tmp/linux-git/src/linux/tools/objtool/arch/x86/objtool-in.o
  CC       /tmp/linux-git/src/linux/tools/objtool/builtin-check.o
  CC       /tmp/linux-git/src/linux/tools/objtool/builtin-orc.o
  CC       /tmp/linux-git/src/linux/tools/objtool/check.o
  CC       /tmp/linux-git/src/linux/tools/objtool/orc_gen.o
  CC       /tmp/linux-git/src/linux/tools/objtool/orc_dump.o
  CC       /tmp/linux-git/src/linux/tools/objtool/elf.o
  CC       /tmp/linux-git/src/linux/tools/objtool/special.o
  CC       /tmp/linux-git/src/linux/tools/objtool/objtool.o
  CC       /tmp/linux-git/src/linux/tools/objtool/libstring.o
  CC       /tmp/linux-git/src/linux/tools/objtool/str_error_r.o
  LD       /tmp/linux-git/src/linux/tools/objtool/objtool-in.o
  LINK     /tmp/linux-git/src/linux/tools/objtool/objtool
scripts/kconfig/conf  --olddefconfig Kconfig
#
# configuration written to .config
#
==> Starting pkgver()...
==> Updated version: linux-git 4.20.13.r0.g0f7c162c1df5-1
==> Starting build()...
scripts/kconfig/conf  --syncconfig Kconfig
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  DESCEND  objtool
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  CC       /tmp/linux-git/src/linux/tools/objtool/arch/x86/decode.o
  CC       /tmp/linux-git/src/linux/tools/objtool/builtin-check.o
  CC       /tmp/linux-git/src/linux/tools/objtool/builtin-orc.o
  HOSTCC  scripts/dtc/checks.o
  CC       /tmp/linux-git/src/linux/tools/objtool/check.o
  CC       /tmp/linux-git/src/linux/tools/objtool/orc_gen.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.h
  CC       /tmp/linux-git/src/linux/tools/objtool/orc_dump.o
  YACC    scripts/dtc/dtc-parser.tab.c
  HOSTCC  scripts/dtc/yamltree.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  CC       /tmp/linux-git/src/linux/tools/objtool/elf.o
  LD       /tmp/linux-git/src/linux/tools/objtool/arch/x86/objtool-in.o
  CC       /tmp/linux-git/src/linux/tools/objtool/special.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  CC       /tmp/linux-git/src/linux/tools/objtool/objtool.o
  CC       /tmp/linux-git/src/linux/tools/objtool/libstring.o
  CC       /tmp/linux-git/src/linux/tools/objtool/str_error_r.o
  HOSTLD  scripts/dtc/dtc
  LD       /tmp/linux-git/src/linux/tools/objtool/objtool-in.o
  LINK     /tmp/linux-git/src/linux/tools/objtool/objtool
  HOSTCC  scripts/bin2c
  CC      scripts/mod/empty.o
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/mod/mk_elfconfig
  HOSTCC  scripts/kallsyms
  CC      scripts/mod/devicetable-offsets.s
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/conmakehash
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/recordmcount
  HOSTCC  scripts/sortextable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/sign-file

This looks to be where your build failed

  HOSTCC  scripts/extract-cert
  CALL    scripts/checksyscalls.sh
  HOSTLD  scripts/mod/modpost
  CHK     include/generated/compile.h
  CC      init/main.o
  CC      init/do_mounts.o
  CC      init/do_mounts_initrd.o
  CC      init/initramfs.o
  CC      init/calibrate.o
  HOSTCC  usr/gen_init_cpio
  UPD     include/generated/compile.h
  CC      init/init_task.o
  AR      arch/x86/crypto/built-in.a
  CC [M]  arch/x86/crypto/glue_helper.o
  GEN     usr/initramfs_data.cpio
  AS [M]  arch/x86/crypto/aes-x86_64-asm_64.o
  AS      usr/initramfs_data.o
  AR      usr/built-in.a
  CC [M]  arch/x86/crypto/aes_glue.o
  CC      kernel/bpf/core.o
  CC      kernel/bpf/syscall.o
  CC      init/version.o
  AS [M]  arch/x86/crypto/des3_ede-asm_64.o
  CC [M]  arch/x86/crypto/des3_ede_glue.o
  AS [M]  arch/x86/crypto/camellia-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/camellia_glue.o
  AS [M]  arch/x86/crypto/blowfish-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/blowfish_glue.o
  AS [M]  arch/x86/crypto/twofish-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/twofish_glue.o
  AS [M]  arch/x86/crypto/twofish-x86_64-asm_64-3way.o
  AR      init/built-in.a
  CC [M]  arch/x86/crypto/twofish_glue_3way.o
Generating X.509 key generation config
  AS [M]  arch/x86/crypto/chacha20-ssse3-x86_64.o
  CC [M]  arch/x86/crypto/chacha20_glue.o
  CC      certs/system_keyring.o
  AS [M]  arch/x86/crypto/chacha20-avx2-x86_64.o
  AS [M]  arch/x86/crypto/serpent-sse2-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/serpent_sse2_glue.o
  AS [M]  arch/x86/crypto/aesni-intel_asm.o
  CC [M]  arch/x86/crypto/aesni-intel_glue.o
  EXTRACT_CERTS   
  CC      certs/blacklist.o
  AS [M]  arch/x86/crypto/aesni-intel_avx-x86_64.o
  AS [M]  arch/x86/crypto/aes_ctrby8_avx-x86_64.o
  AS [M]  arch/x86/crypto/ghash-clmulni-intel_asm.o
  CC [M]  arch/x86/crypto/ghash-clmulni-intel_glue.o
  CC [M]  arch/x86/crypto/crc32c-intel_glue.o
  AS [M]  arch/x86/crypto/crc32c-pcl-intel-asm_64.o
  AS [M]  arch/x86/crypto/sha1_ssse3_asm.o
  CC [M]  arch/x86/crypto/sha1_ssse3_glue.o
  CC      kernel/bpf/verifier.o
  CC      certs/blacklist_nohashes.o
###
### Now generating an X.509 key pair to be used for signing modules.
###
### If this takes a long time, you might wish to run rngd in the
  AS [M]  arch/x86/crypto/sha1_avx2_x86_64_asm.o
### background to keep the supply of entropy topped up.  It
### needs to be run as root, and uses a hardware random
### number generator if one is available.
###
Generating a RSA private key
...  AS [M]  arch/x86/crypto/sha1_ni_asm.o
...  AS [M]  arch/x86/crypto/crc32-pclmul_asm.o
...  CC [M]  arch/x86/crypto/crc32-pclmul_glue.o
................  CC      kernel/bpf/inode.o
...............  AS [M]  arch/x86/crypto/sha256-ssse3-asm.o
...  AS [M]  arch/x86/crypto/sha256-avx-asm.o
...  AS [M]  arch/x86/crypto/sha256-avx2-asm.o
.  CC [M]  arch/x86/crypto/sha256_ssse3_glue.o
  AS [M]  arch/x86/crypto/sha256_ni_asm.o
..  AS [M]  arch/x86/crypto/sha512-ssse3-asm.o
  CC      kernel/bpf/helpers.o
....  AS [M]  arch/x86/crypto/sha512-avx-asm.o
.  AS [M]  arch/x86/crypto/sha512-avx2-asm.o
...  CC [M]  arch/x86/crypto/sha512_ssse3_glue.o
.  AS [M]  arch/x86/crypto/crct10dif-pcl-asm_64.o
...  CC [M]  arch/x86/crypto/crct10dif-pclmul_glue.o
...............  AS [M]  arch/x86/crypto/poly1305-sse2-x86_64.o
...  CC [M]  arch/x86/crypto/poly1305_glue.o
..............++++
.....................  AS [M]  arch/x86/crypto/poly1305-avx2-x86_64.o
...  AS [M]  arch/x86/crypto/aegis128-aesni-asm.o
....  CC [M]  arch/x86/crypto/aegis128-aesni-glue.o
...  AS [M]  arch/x86/crypto/aegis128l-aesni-asm.o
...  CC [M]  arch/x86/crypto/aegis128l-aesni-glue.o
.....  AS [M]  arch/x86/crypto/aegis256-aesni-asm.o
  CC [M]  arch/x86/crypto/aegis256-aesni-glue.o
....  CC [M]  arch/x86/crypto/morus640_glue.o
  CC      kernel/bpf/tnum.o
..........  CC [M]  arch/x86/crypto/morus1280_glue.o
......  CC      kernel/bpf/hashtab.o
............++++
writing new private key to 'certs/signing_key.pem'
-----
###
### Key pair generated.
###
  EXTRACT_CERTS   certs/signing_key.pem
  AS      certs/system_certificates.o
  AR      certs/built-in.a
  CC      mm/filemap.o
  CC      mm/mempool.o
  AS [M]  arch/x86/crypto/morus640-sse2-asm.o
  CC [M]  arch/x86/crypto/morus640-sse2-glue.o
  AS [M]  arch/x86/crypto/morus1280-sse2-asm.o
  CC [M]  arch/x86/crypto/morus1280-sse2-glue.o
  AS [M]  arch/x86/crypto/camellia-aesni-avx-asm_64.o
  CC [M]  arch/x86/crypto/camellia_aesni_avx_glue.o
  CC [M]  fs/9p/vfs_super.o
  CC [M]  fs/9p/vfs_inode.o
  AS [M]  arch/x86/crypto/cast5-avx-x86_64-asm_64.o
  CC      mm/oom_kill.o
  CC [M]  arch/x86/crypto/cast5_avx_glue.o
  AS [M]  arch/x86/crypto/cast6-avx-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/cast6_avx_glue.o
  AS [M]  arch/x86/crypto/twofish-avx-x86_64-asm_64.o
  CC [M]  fs/9p/vfs_inode_dotl.o
  CC [M]  arch/x86/crypto/twofish_avx_glue.o
  CC      kernel/bpf/arraymap.o
  AS [M]  arch/x86/crypto/serpent-avx-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/serpent_avx_glue.o
  AS [M]  arch/x86/crypto/camellia-aesni-avx2-asm_64.o
  CC [M]  arch/x86/crypto/camellia_aesni_avx2_glue.o
  AS [M]  arch/x86/crypto/serpent-avx2-asm_64.o
  CC      ipc/compat.o
  GEN     security/apparmor/capability_names.h
  GEN     security/apparmor/rlim_names.h
  GEN     security/apparmor/net_names.h
  GEN     security/apparmor/net_names.h
  CC      security/apparmor/apparmorfs.o
  CC [M]  fs/9p/vfs_addr.o
  CC      ipc/util.o
  CC      mm/fadvise.o
  CC [M]  arch/x86/crypto/serpent_avx2_glue.o
  CC      mm/maccess.o
  CC      ipc/msgutil.o
  CC      kernel/bpf/percpu_freelist.o
  CC [M]  fs/9p/vfs_file.o
  CC      mm/page_alloc.o
  AS [M]  arch/x86/crypto/morus1280-avx2-asm.o
  CC      kernel/bpf/bpf_lru_list.o
  CC [M]  arch/x86/crypto/morus1280-avx2-glue.o
  CC      ipc/msg.o
  CC      mm/page-writeback.o
  CC      ipc/sem.o
  CC      kernel/bpf/lpm_trie.o
  LD [M]  arch/x86/crypto/aes-x86_64.o
  LD [M]  arch/x86/crypto/des3_ede-x86_64.o
  LD [M]  arch/x86/crypto/camellia-x86_64.o
  LD [M]  arch/x86/crypto/blowfish-x86_64.o
  LD [M]  arch/x86/crypto/twofish-x86_64.o
  LD [M]  arch/x86/crypto/twofish-x86_64-3way.o
  LD [M]  arch/x86/crypto/chacha20-x86_64.o
  LD [M]  arch/x86/crypto/serpent-sse2-x86_64.o
  LD [M]  arch/x86/crypto/aesni-intel.o
  LD [M]  arch/x86/crypto/ghash-clmulni-intel.o
  LD [M]  arch/x86/crypto/crc32c-intel.o
  CC [M]  fs/9p/vfs_dir.o
  LD [M]  arch/x86/crypto/sha1-ssse3.o
  LD [M]  arch/x86/crypto/crc32-pclmul.o
  LD [M]  arch/x86/crypto/sha256-ssse3.o
  LD [M]  arch/x86/crypto/sha512-ssse3.o
  LD [M]  arch/x86/crypto/crct10dif-pclmul.o
  LD [M]  arch/x86/crypto/poly1305-x86_64.o
  LD [M]  arch/x86/crypto/aegis128-aesni.o
  LD [M]  arch/x86/crypto/aegis128l-aesni.o
  LD [M]  arch/x86/crypto/aegis256-aesni.o
  LD [M]  arch/x86/crypto/morus640-sse2.o
  LD [M]  arch/x86/crypto/morus1280-sse2.o
  LD [M]  arch/x86/crypto/camellia-aesni-avx-x86_64.o
  LD [M]  arch/x86/crypto/cast5-avx-x86_64.o
  LD [M]  arch/x86/crypto/cast6-avx-x86_64.o
  LD [M]  arch/x86/crypto/twofish-avx-x86_64.o
  LD [M]  arch/x86/crypto/serpent-avx-x86_64.o
  LD [M]  arch/x86/crypto/camellia-aesni-avx2.o
  LD [M]  arch/x86/crypto/serpent-avx2.o
  LD [M]  arch/x86/crypto/morus1280-avx2.o

Edit:
As a test to check it can build cleanly on your system please install devtools and use extra-x86_64-build instead of makepkg -rsi you can kill the process after it has passed

HOSTCC  scripts/sign-file

Last edited by loqs (2019-03-02 21:50:53)

Offline

#15 2019-03-03 20:20:41

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Hi loqs,

By openssl compat library, do you mean the openssl-1.0 package? The way I usually work around openssl difficulties is to compile against libressl, which I have installed under /usr/local

I noticed the problem you mentioned with the integrity checks, so I've been using --skipinteg.

When I try using extra-x86_64-build I get an error:

==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> [<username>]...done
==> ERROR: /var/lib/archbuild/extra-x86_64/<username>/etc/makepkg.conf not found.
    Aborting...
==> ERROR: Could not download sources.

It's not a tool I'm familiar with, and the documentation isn't complete, so it's hard for me to say what is going on with that smile

Offline

#16 2019-03-03 20:56:53

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

I have no familiarity with libressl from within linux-git/src/linux

 make V=1 scripts
make -f ./scripts/Makefile.build obj=scripts/basic
rm -f .tmp_quiet_recordmcount
make -f ./scripts/Makefile.build obj=scripts/dtc
  gcc -Wp,-MD,scripts/dtc/.dtc.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/dtc.o scripts/dtc/dtc.c
  gcc -Wp,-MD,scripts/dtc/.flattree.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/flattree.o scripts/dtc/flattree.c
  gcc -Wp,-MD,scripts/dtc/.fstree.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/fstree.o scripts/dtc/fstree.c
  gcc -Wp,-MD,scripts/dtc/.data.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/data.o scripts/dtc/data.c
  gcc -Wp,-MD,scripts/dtc/.livetree.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/livetree.o scripts/dtc/livetree.c
  gcc -Wp,-MD,scripts/dtc/.treesource.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/treesource.o scripts/dtc/treesource.c
  gcc -Wp,-MD,scripts/dtc/.srcpos.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/srcpos.o scripts/dtc/srcpos.c
  gcc -Wp,-MD,scripts/dtc/.checks.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/checks.o scripts/dtc/checks.c
  gcc -Wp,-MD,scripts/dtc/.util.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/util.o scripts/dtc/util.c
  flex -oscripts/dtc/dtc-lexer.lex.c -L scripts/dtc/dtc-lexer.l
  bison -o/dev/null --defines=scripts/dtc/dtc-parser.tab.h -t -l scripts/dtc/dtc-parser.y
  gcc -Wp,-MD,scripts/dtc/.dtc-lexer.lex.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt -Iscripts/dtc -c -o scripts/dtc/dtc-lexer.lex.o scripts/dtc/dtc-lexer.lex.c
  bison -oscripts/dtc/dtc-parser.tab.c -t -l scripts/dtc/dtc-parser.y
  gcc -Wp,-MD,scripts/dtc/.dtc-parser.tab.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt -Iscripts/dtc -c -o scripts/dtc/dtc-parser.tab.o scripts/dtc/dtc-parser.tab.c
  gcc -Wp,-MD,scripts/dtc/.yamltree.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -Iscripts/dtc/libfdt  -c -o scripts/dtc/yamltree.o scripts/dtc/yamltree.c
  gcc   -o scripts/dtc/dtc scripts/dtc/dtc.o scripts/dtc/flattree.o scripts/dtc/fstree.o scripts/dtc/data.o scripts/dtc/livetree.o scripts/dtc/treesource.o scripts/dtc/srcpos.o scripts/dtc/checks.o scripts/dtc/util.o scripts/dtc/dtc-lexer.lex.o scripts/dtc/dtc-parser.tab.o scripts/dtc/yamltree.o   -lyaml
make -f ./scripts/Makefile.asm-generic \
            src=uapi/asm obj=arch/x86/include/generated/uapi/asm
make -f ./scripts/Makefile.asm-generic \
            src=asm obj=arch/x86/include/generated/asm
make -f ./scripts/Makefile.build obj=scripts
make -f ./scripts/Makefile.build obj=scripts/mod need-builtin=
  gcc -Wp,-MD,scripts/mod/.empty.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned    -DKBUILD_BASENAME='"empty"' -DKBUILD_MODNAME='"empty"' -c -o scripts/mod/empty.o scripts/mod/empty.c
  gcc -Wp,-MD,scripts/mod/.mk_elfconfig.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89         -o scripts/mod/mk_elfconfig scripts/mod/mk_elfconfig.c   
  scripts/mod/mk_elfconfig < scripts/mod/empty.o > scripts/mod/elfconfig.h
  gcc -Wp,-MD,scripts/mod/.modpost.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89       -c -o scripts/mod/modpost.o scripts/mod/modpost.c
  gcc -Wp,-MD,scripts/mod/.devicetable-offsets.s.d  -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned    -DKBUILD_BASENAME='"devicetable_offsets"' -DKBUILD_MODNAME='"devicetable_offsets"'  -fverbose-asm -S -o scripts/mod/devicetable-offsets.s scripts/mod/devicetable-offsets.c
set -e; mkdir -p scripts/mod/; 	(set -e; echo "#ifndef __DEVICETABLE_OFFSETS_H__"; echo "#define __DEVICETABLE_OFFSETS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 	's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}' < scripts/mod/devicetable-offsets.s; echo ""; echo "#endif" ) > scripts/mod/devicetable-offsets.h.tmp; if [ -r scripts/mod/devicetable-offsets.h ] && cmp -s scripts/mod/devicetable-offsets.h scripts/mod/devicetable-offsets.h.tmp; then rm -f scripts/mod/devicetable-offsets.h.tmp; else : '  UPD     scripts/mod/devicetable-offsets.h'; mv -f scripts/mod/devicetable-offsets.h.tmp scripts/mod/devicetable-offsets.h; fi
  gcc -Wp,-MD,scripts/mod/.file2alias.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89       -c -o scripts/mod/file2alias.o scripts/mod/file2alias.c
  gcc -Wp,-MD,scripts/mod/.sumversion.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89       -c -o scripts/mod/sumversion.o scripts/mod/sumversion.c
  gcc   -o scripts/mod/modpost scripts/mod/modpost.o scripts/mod/file2alias.o scripts/mod/sumversion.o   
make -f ./scripts/Makefile.build obj=scripts/selinux need-builtin=
make -f ./scripts/Makefile.build obj=scripts/selinux/genheaders need-builtin=
  gcc -Wp,-MD,scripts/selinux/genheaders/.genheaders.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./include/uapi -I./include -I./security/selinux/include    -o scripts/selinux/genheaders/genheaders scripts/selinux/genheaders/genheaders.c   
make -f ./scripts/Makefile.build obj=scripts/selinux/mdp need-builtin=
  gcc -Wp,-MD,scripts/selinux/mdp/.mdp.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./include/uapi -I./include -I./security/selinux/include    -o scripts/selinux/mdp/mdp scripts/selinux/mdp/mdp.c   
  gcc -Wp,-MD,scripts/.bin2c.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include    -o scripts/bin2c scripts/bin2c.c   
  gcc -Wp,-MD,scripts/.kallsyms.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include    -o scripts/kallsyms scripts/kallsyms.c   
  gcc -Wp,-MD,scripts/.conmakehash.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include    -o scripts/conmakehash scripts/conmakehash.c   
  gcc -Wp,-MD,scripts/.recordmcount.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include    -o scripts/recordmcount scripts/recordmcount.c   
  gcc -Wp,-MD,scripts/.sortextable.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include -I./tools/include   -o scripts/sortextable scripts/sortextable.c   
  gcc -Wp,-MD,scripts/.asn1_compiler.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include -I./include   -o scripts/asn1_compiler scripts/asn1_compiler.c   
  gcc -Wp,-MD,scripts/.sign-file.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include    -o scripts/sign-file scripts/sign-file.c   -lcrypto
  gcc -Wp,-MD,scripts/.extract-cert.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I./tools/include    -o scripts/extract-cert scripts/extract-cert.c   -lcrypto

https://git.kernel.org/pub/scm/linux/ke … h=v4.20.13 using libressl it would include openssl/pkcs7.h instead of openssl/cms.h in both cases the only library linked against is crypto but

sign-file.c:(.text.startup+0x48): undefined reference to `OPENSSL_add_all_algorithms_noconf'
/usr/bin/ld: sign-file.c:(.text.startup+0x4d): undefined reference to `ERR_load_crypto_strings'
/usr/bin/ld: sign-file.c:(.text.startup+0x7ad): undefined reference to `OpenSSL_add_all_digests'

It can not find those symbols in the crypto library.
DeveloperWiki:Building_in_a_clean_chroot#Classic_way could work around that alternatively could you remove libressl or mount an empty directory over /usr/local/ while building the package.

Offline

#17 2019-03-03 22:18:13

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

loqs wrote:

alternatively could you remove libressl

Ah, that did it. I didn't think having libressl under /usr/local would interfere so much, sorry I didn't mention it earlier. The 4.20.13 kernel has finished compiling.

I've got work now so won't be able to test it and keep progressing the bisect until later. I'll update with a new post when I have more questions or information.

Offline

#18 2019-03-03 23:30:25

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

I now have a second computer affected by the same problem. This time the hardware and configuration is very different:

  • intel core i7-7700 cpu

  • ext4-on-LVM-on-LUKS-on-LVM root

  • nvidia GT-730 gpu

  • HP 82B4 motherboard

Offline

#19 2019-03-03 23:31:29

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Before you test please replace 90-linux.hook with the one from post #12 if you have not already done so (otherwise the hook will not trigger and will need to manually generate the initrd)

cd linux-git
makepkg --repackage -i

Offline

#20 2019-03-04 02:06:33

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Hi loqs,

Yep, I replaced the 90-linux.hook, --skipinteg no longer required.

So, this is awkward: I did reproduce the problem when compiling the 4.20.13 kernel, as expected ... but then when I compiled the 4.20.12 kernel, the problem was still present. (This is on the intel/HP box.)

It's turning into a bit of a head-scratcher

Offline

#21 2019-03-04 02:26:41

/dev/zero
Member
From: Melbourne, Australia
Registered: 2011-10-20
Posts: 1,247

Re: [SOLVED] Something funky with kernel 4.20.13? (ext4 root fs)

Even more awkward: I (kind of?) found the problem and it's not (completely) the kernel. It's all been because of me getting cocky.

I was recently playing around with compiling pacman from scratch. The build of pacman 5.1.2 was still in my path. When I remove that pacman build and use the Arch Linux default (which is now 5.1.3) to install kernel 5.20.13, the system boots successfully.

Open question: when it came to rolling back to 4.20.12, why did it work? After all, I was using the homegrown pacman 5.1.2 to do the rolling back.

Still it seems like I should mark the problem as solved now. The solution is, always use the latest pacman, and if things start breaking, remove your custom build.

Thanks for your support loqs, the information about how to git-bisect the kernel sources was immensely interesting and I will probably refer to it in future.

Offline

Board footer

Powered by FluxBB