void linux용 사용자 정의 커널, 부팅할 수 없음, nvme 드라이버

void linux용 사용자 정의 커널, 부팅할 수 없음, nvme 드라이버

Vega 드라이버를 얻기 위해 void linux용 4.13.2 커널을 빌드하려고 하는데 부팅할 수 없습니다.

빌드 프로세스:

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

기존 구성을 기반으로 구성을 시도했는데 정상적으로 시작되었습니다.

잠시 후 dracut 디버그 셸로 들어갑니다. dmesg는 "시작할 수 없습니다" 메시지가 나타날 때까지 "모든 btrfs 장치 검색 중"으로 가득 차 있습니다. 존재하지도 존재 /dev/nvme*하지도 않습니다 /dev/disk/by-uuid.

파일 시스템 테이블:

/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

initramfs를 생성할 때 몇 가지 오류가 발생하지만 그 오류가 어떻게 관련되는지 이해하지 못합니다.

> 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 ***

다음 단계가 무엇인지 잘 모르겠습니다.

답변1

initramfs를 건너뛰고 필요한 커널 모듈을 커널에 포함시켜 작동하게 만들었습니다.

현재 사용 중인 모듈을 기본 구성과 함께 나열 lspci -kk | grep "Kernel modules" | sort | uniq하고 이를 시작하고 실행할 수 있습니다.

이 가이드를 바탕으로:https://www.dotslashlinux.com/2017/04/29/booting-the-linux-kernel-without-an-initrd-initramfs/

관련 정보