Ihar Hancharenka c60f621121 m
2024-04-04 17:50:44 +03:00
..
m
2024-03-28 17:33:49 +03:00
m
2023-11-21 22:05:37 +03:00
m
2024-01-14 10:14:30 +03:00
2023-03-27 16:52:17 +03:00
m
2024-03-11 10:29:36 +03:00
m
2023-09-29 20:58:42 +03:00
m
2023-09-14 22:46:48 +03:00
2023-03-27 16:52:17 +03:00
m
2024-02-07 15:50:51 +03:00
m
2024-02-23 20:58:33 +03:00
m
2024-03-05 13:28:27 +03:00
2023-03-27 16:52:17 +03:00
m
2024-03-29 14:13:53 +03:00
m
2024-01-27 07:23:12 +03:00
m
2024-02-25 18:02:17 +03:00
2023-03-27 16:52:17 +03:00
m
2024-04-04 17:50:44 +03:00
m
2024-02-29 09:14:15 +03:00
m
2024-02-11 11:00:49 +03:00
2023-03-27 16:52:17 +03:00
m
2024-04-03 19:27:44 +03:00
m
2024-03-08 10:59:52 +03:00
m
2023-12-18 17:27:18 +03:00
2023-03-27 16:52:17 +03:00
m
2024-03-04 20:23:55 +03:00
m
2023-10-06 22:29:04 +03:00
2023-03-27 16:52:17 +03:00
m
2023-10-24 22:52:55 +03:00
2023-03-27 16:52:17 +03:00
m
2024-03-21 09:03:03 +03:00
m
2024-01-27 07:23:12 +03:00
2023-03-27 16:52:17 +03:00
2023-03-27 16:52:17 +03:00
2023-03-27 16:52:17 +03:00
2023-03-27 16:52:17 +03:00
m
2023-11-01 10:27:51 +03:00
2023-03-27 16:52:17 +03:00
m
2024-04-01 16:59:58 +03:00
2023-03-27 16:52:17 +03:00

reparing

login

$ sudo systemctl disable lightdm.service
Synchronizing state of lightdm.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install disable lightdm
Removed "/etc/systemd/system/display-manager.service".

$ sudo systemctl enable --now lightdm.service
$ sudo dpkg-reconfigure lightdm

$ sway -d --unsupported-gpu

Mar 31 20:43:25 EPBYGOMW0024T2 systemd[1]: Started greetd.service - Greeter daemon.
Mar 31 20:43:25 EPBYGOMW0024T2 greetd[1642]: PAM unable to dlopen(pam_lastlog.so): /usr/lib/security/pam_lastlog.so: cannot open shared object file: No such file or directory
Mar 31 20:43:25 EPBYGOMW0024T2 greetd[1642]: PAM adding faulty module: pam_lastlog.so

pam

$ dpkg -L login
...
/etc/pam.d/login
...
82:session    optional   pam_lastlog.so

pam_lastlog: deprecate it and disable by default

dd

sudo dd bs=4M of=/dev/sda status=progress oflag=sync status=progress if=<dist>.iso

rhino dist grub nomodeset

e -> splash -> nomodeset -> F10

chroot

sudo lsblk
sudo mount /dev/nvme0n1p… /mnt
sudo mount /dev/nvme0n1p… /mnt/boot/efi/
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt

uefi

https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot

UMS/KMS

grub

amdgpu

disabling modesetting

https://wiki.archlinux.org/title/Kernel_mode_setting#Disabling_modesetting

driver=free i915.modeset=0 radeon.modeset=0 nouveau.modeset=0

nomodeset The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesnt work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded.

Note that this option is sometimes needed for nVidia cards when using the default "nouveau" drivers. Installing proprietary nvidia drivers usually makes this option no longer necessary, so it may not be needed to make this option permanent, just for one boot until you installed the nvidia drivers.

iommu=soft pci=noats acpi=off https://forum.garudalinux.org/t/cant-boot-on-integrated-radeon-gpu/14890 radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 modprobe.blacklist=radeon

initramfs

/etc/modprobe.d/blacklist.conf ... blacklist radeon options radeon modeset=0

initramfs-tools: /etc/initramfs-tools/conf.d /etc/initramfs-tools/update-initramfs.conf /etc/kernel/postinst.d/initramfs-tools /etc/kernel/postrm.d/initramfs-tools /usr/sbin/update-initramfs /usr/share/lintian/overrides/initramfs-tools /usr/share/man/man5/update-initramfs.conf.5.gz /usr/share/man/man8/update-initramfs.8.gz

$ cat /etc/initramfs-tools/modules 
# delete line
radeon modeset=1
$ update-initramfs -u -k all
$ tree /etc/initramfs-tools
/etc/initramfs-tools/
    conf.d/
        calamares-safe-initramfs.conf
        cryptsetup
    hooks/
    initramfs.conf
    modules
    scripts/
        init-bottom
        init-premount
        init-top
        local-bottom
        local-premount
        local-top
        nfs-bottom
        nfs-premount
        nfs-top
        panic
    update-initramfs.conf
$cat /usr/sbin/update-initramfs
...
BOOTDIR=/boot
CONF=/etc/initramfs-tools/update-initramfs.conf
...
get_sorted_versions()
{
	version_list="$(
		linux-version list |
		while read -r version; do
		      test -e "${BOOTDIR}/initrd.img-$version" && echo "$version"
		done |
		linux-version sort --reverse
		)"
	verbose "Available versions: ${version_list}"
}

set_current_version()
{
	if [ -f "/boot/initrd.img-$(uname -r)" ]; then
		version=$(uname -r)
	fi
}
...
# Invoke bootloader
run_bootloader()
{
	# invoke policy conformant bootloader hooks
	if [ -d /etc/initramfs/post-update.d/ ]; then
		run-parts --arg="${version}" --arg="${initramfs}" \
			/etc/initramfs/post-update.d/
		return 0
	fi
}
...

modprobe

kmod: /etc/modprobe.d/blacklist.conf


tree /etc/modprobe.d
/etc/modprobe.d
├── alsa-base.conf
├── blacklist-ath_pci.conf
├── blacklist.conf
├── blacklist-firewire.conf
├── blacklist-framebuffer.conf
├── blacklist-modem.conf
├── blacklist-oss.conf -> /lib/linux-sound-base/noOSS.modprobe.conf
├── blacklist-radeon.conf
├── blacklist-rare-network.conf
├── dkms.conf
└── iwlwifi.conf


$ dpkg -L kmod
/etc/depmod.d/ubuntu.conf
/etc/init.d/kmod
/etc/modprobe.d/blacklist-ath_pci.conf
/etc/modprobe.d/blacklist-firewire.conf
/etc/modprobe.d/blacklist-framebuffer.conf
/etc/modprobe.d/blacklist-rare-network.conf
/etc/modprobe.d/blacklist.conf
/etc/modprobe.d/iwlwifi.conf
/usr/bin/kmod
/usr/lib/modprobe.d/aliases.conf
/usr/sbin
/usr/share
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/kmod
/usr/share/doc/libkmod2/README.md
/usr/share/doc/libkmod2/TODO
/usr/share/initramfs-tools/hooks/kmod
/usr/share/man/man5/depmod.d.5.gz
/usr/share/man/man5/modprobe.d.5.gz
/usr/share/man/man5/modules.dep.5.gz
/usr/share/man/man8/depmod.8.gz
/usr/share/man/man8/insmod.8.gz
/usr/share/man/man8/kmod.8.gz
/usr/share/man/man8/lsmod.8.gz
/usr/share/man/man8/modinfo.8.gz
/usr/share/man/man8/modprobe.8.gz
/usr/share/man/man8/rmmod.8.gz
/usr/bin/lsmod
/usr/sbin/depmod
/usr/sbin/insmod
/usr/sbin/lsmod
/usr/sbin/modinfo
/usr/sbin/modprobe
/usr/sbin/rmmod
/usr/share/doc/kmod
/usr/share/man/man5/modules.dep.bin.5.gz

dkms

$ sudo dkms autoinstall

internals

0 - switch KMS off if it is not supported by xf86-video-ati/radeon

drivers/gpu/radeon/radeon_drv.c

misc 1

$ cat /usr/share/X11/xorg.conf.d/00-amdgpu.conf
Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
EndSection

Section "Files"
        ModulePath "/opt/amdgpu-pro/lib/xorg/modules"
        ModulePath "/opt/amdgpu/lib/xorg/modules"
        ModulePath "/usr/lib/xorg/modules"
EndSection

xserver-xorg-amdgpu-video-amdgpu: /usr/share/X11/xorg.conf.d/00-amdgpu.conf

$ dpkg -L xserver-xorg-amdgpu-video-amdgpu
/opt/amdgpu/lib/xorg/modules/drivers/amdgpu_drv.so
/opt/amdgpu/share/man/man4/amdgpu.4
/usr/share/X11/xorg.conf.d/00-amdgpu.conf

$ man amdgpu
$ cat /opt/amdgpu/share/man/man4/amdgpu.4
$ ls -la /lib/firmware/amdgpu

misc 2

$ sudo update-grub

recovery console

amdgpu

loglevel

misc

driver=free acpi=off noapic

/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT=...

recordfail load_video gfxmode $linux_gfx_mode insmod gzio ... set root='hd0,...'

$vt_handoff (vt = virtualterminal) is a kernel boot parameter unique to Ubuntu, and is not an upstream kernel boot parameter. Its purpose is to allow the kernel to maintain the current contents of video memory on a virtual terminal.

issues

to-read