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?

  • Some of the packages that are not installed might have dependencies, breaking them you will break the system. – Hunter.S.Thompson Sep 21 '17 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 '17 at 19:10
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/

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.