1

I'm trying to build the 4.13.2 kernel for void linux to get the Vega drivers and I can't get it to boot.

Build process:

cp /boot/config-4.12 .config
yes "" | make oldconfig
make nconfig
    Changed processor type
    Include ext4 by default
    Made sure AMD drivers are included
make -j32 bzImage modules
make modules_install
System.map /boot/System.map-4.13.2 
arch/x86/boot/bzImage /boot/vmlinuz-4.13.2 
.config /boot/config-4.13.2 
dracut -f /boot/initramfs-4.13.2.img 4.13.2
update-grub

I tried to base the config from the existing one, which boots okay.

After a while it drops into the dracut debug shell. dmesg is full of "Scanning for all btrfs devices" until the message "Could not boot". Neither /dev/nvme* nor /dev/disk/by-uuid exists.

fstab:

/dev/nvme0n1p1  swap    swap    sw 0 0
/dev/nvme0n1p2  /       ext4    defaults 0 1
/dev/nvme0n1p3  /home   ext4    defaults 0 2
tmpfs           /tmp    tmpfs   defaults,nosuid,nodev 0 0

I did get some errors when creating initramfs, but I don't see how they are related:

> dracut -f /boot/initramfs-4.13.2.img 4.13.2
dracut: Executing: /usr/bin/dracut -f /boot/initramfs-4.13.2.img 4.13.2
dracut: dracut module 'bootchart' will not be installed, because command '/sbin/bootchartd' could not be found!
dracut: dracut module 'modsign' will not be installed, because command 'keyctl' could not be found!
dracut: dracut module 'busybox' will not be installed, because command 'busybox' could not be found!
dracut: dracut module 'url-lib' will not be installed, because command 'curl' could not be found!
dracut: dracut module 'plymouth' will not be installed, because command 'plymouthd' could not be found!
dracut: dracut module 'plymouth' will not be installed, because command 'plymouth' could not be found!
dracut: dracut module 'plymouth' will not be installed, because command 'plymouth-set-default-theme' could not be found!
dracut: dracut module 'lvmmerge' will not be installed, because command 'lvm' could not be found!
dracut: 90crypt: Could not find any command of '/systemd-cryptsetup cryptsetup'!
dracut: dracut module 'dmraid' will not be installed, because command 'dmraid' could not be found!
dracut: dracut module 'dmsquash-live-ntfs' will not be installed, because command 'ntfs-3g' could not be found!
dracut: dracut module 'lvm' will not be installed, because command 'lvm' could not be found!
dracut: dracut module 'mdraid' will not be installed, because command 'mdadm' could not be found!
dracut: dracut module 'multipath' will not be installed, because command 'multipath' could not be found!
dracut: dracut module 'crypt-gpg' will not be installed, because command 'gpg' could not be found!
dracut: dracut module 'cifs' will not be installed, because command 'mount.cifs' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'dcbtool' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'fipvlan' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'lldpad' could not be found!
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: *** Including module: bash ***
dracut: *** Including module: dash ***
dracut: *** Including module: i18n ***
dracut: *** Including module: drm ***
dracut-install: ERROR: installing '=drivers/gpu/drm'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.jgsVnm/initramfs --kerneldir /lib/modules/4.13.2/ -m -s drm_crtc_init =drivers/gpu/drm
dracut: *** Including module: btrfs ***
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: resume ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules
dracut: Skipping udev rule: 50-firmware.rules
dracut: Skipping udev rule: 50-udev.rules
dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: *** Including module: usrmount ***
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including module: shutdown ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done***
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Store current command line parameters ***
dracut: *** Creating image file '/boot/initramfs-4.13.2.img' ***
dracut: *** Creating initramfs image file '/boot/initramfs-4.13.2.img' done ***

I'm not sure what the next steps are?

2
  • Some of the packages that are not installed might have dependencies, breaking them you will break the system. Sep 21, 2017 at 16:20
  • I tried installing the dependencies but I couldn't find everything in the void repository. But it got me thinking, I shouldn't need an initramfs file if I include the necessary features in the kernel. This gets me past the "Could not boot" message but now get a host of other messages instead. Is there way to access them? I can't find anything useful in /var/log after reboot.
    – Jonas
    Sep 21, 2017 at 19:10

1 Answer 1

1

I got it working by skipping the initramfs and including the required kernel modules into the kernel.

With lspci -kk | grep "Kernel modules" | sort | uniq I could list the modules in use currently and with them together with the default config I got it up and running.

Based of this guide: https://www.dotslashlinux.com/2017/04/29/booting-the-linux-kernel-without-an-initrd-initramfs/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .