Pop!_Os Kernel update troubles

I’m currently running Pop!_Os and have been for a little bit.

I recently decided to take the next steps in my linux education and wanted to try some virtual machine stuff.

I recently followed the guide for VFIO on Pop!_Os: VFIO in 2019 -- Pop!_OS How-To (General Guide though) [DRAFT]

However, it looks like I have to apply a kernel patch as I’m passing through an rx480, it has a reset bug…

Downloading, patching, and compiling the kernel were all straight-forward, found excellent tutorials and documentation… however since Pop doesn’t use GRUB and instead uses SystemD-boot, that’s where guides seem to run out.

I followed this guide for the most part: https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

but once I get to the Install the Linux kernel parts, my OS messes up. I can no longer boot into the OS, instead I get BusyBox were I can’t even type anything in its CLI prompt. This happens regardless of what I select in the bootloader.

I’m at a loss…

Maybe switch to grub with apt install grub-customizer ?

Will poke at this more in am

1 Like

I’m going to give up on Pop!_Os for now. Let’s try Ubuntu.

Ubuntu is good. Honestly for custom solutions I find myself just running Fedora or Arch because they are the least “get in the way” distributions. It’s a meme that they are hard to install. So if your up to good documentation on everything you do I suggest arch since it’s up in the air.

As for system D boot being the cause. I dont think so. I’ve never encountered it doing something like this. When it did happen is was because I was pointing at the wrong LVM or disk on something. Hmm interesting

1 Like

I’m not exactly sure what the issue was, but after switching to Ubuntu I’ve had much more success.

Nvidia drivers prevented me from using the 5.4 kernel which was annoying, and after following this guide (https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html) I still had issues with dpkg picking up the new kernel, but Grub did pick it up… No idea what I’m doing I guess.

I instead used this guide now: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel and now dpkg, picked it up and everything but NVIDIA drivers screamed at me for something about a magic number… I gave up and went to bed, I’m now at work. I think I can get this working tonight. I’ll post here if I hit any other snags tonight.

I just want to let everyone know, I got it all working.

Ubuntu + Kernel Patch + VFIO + looking glass

I’m happy. I will post links or make a new forum post about my process.

1 Like

don’t mean to derail but LVM on Fedora was pretty straight forward to make… just gotta remind to build root, home, swap, biosboot/efi and you’re good to go… arch in the other hand… I casually read the manual, not a linux virgin but still didn’t fully understand it.

hey OP if ubuntu breaks give Fedora a go.

if Fedora breaks then you might try arch.

if anything else fails there’s Debian, rock solid distro.

I’ve tried Fedora in the past it wasn’t bad. But so far I’m really enjoying Ubuntu.

And this is basically what I did for anyone that finds this in the future to update my Ubuntu kernel:
I referenced https://syslint.com/blog/tutorial/how-to-compile-linux-kernel-in-debian-ubuntu-the-easy-way/

Downloaded the same kernel version as I already had.

then ran the following:

unxz -v linux-5.3.15.tar.xz
tar xvf linux-5.3.15.tar
(extracts the kernel source code)

cd linux-5.3.15/
(cd into the kernel source folder)

cp -v /boot/config-$(uname -r) .config
(this copies your existing kernel config)

apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
(I think this is right but I’m not 100% sure at this point, but this installs the packages so you can build the kernel)

make menuconfig
(then save the config, it’s basically the previous settings, plus defaults for new things from what I understand)

patch -p1 < …/rx480patch
(I don’t remember where I found the patch file)

make-kpkg clean
fakeroot make-kpkg -j30 --initrd --append-to-version=-new kernel_image kernel_headers
(this builds the kernel, j30 specifies that you are using 30 threads to build the kernel, I have a 16 core/32 thread processor, this number should be adjusted based on your processor)

(For the following two, you’ll need to use the files names of what was generated)
dpkg -i linux-headers-…deb
dpkg -i linux-image-…deb
(this installs the kernel)

update-grub
(this updates the grub bootloader)

2 Likes

Awesome! Thanks so much for providing such a detailed answer.

BTW. If you could set that post as the solution, that would be great! This will allow people to jump straight to that post for the answer. Not all threads have the “solution” ability tho. To know which ones that do, you just have to see if you see the solution icon. Its an icon of a box with a check mark in it and it resides on the bottom of your posts, you can click on that icon and that will set that post as the solution of thread.

2 Likes