Ulyana: apt-get dist-upgrade eliminated amd64-microcode, and networking
Linux MintThis forum is for the discussion of Linux Mint.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Ulyana: apt-get dist-upgrade eliminated amd64-microcode, and networking
Is this a known problem?
Following a simple apt-get dist-upgrade on Mint 20, as I've done many times in the past, graphics are stuck at 1024x768, and 'ip a' lists only lo. Nothing in /etc/network/interfaces was changed since last September. There are no clues from "Failed" lines in journal.
Following is from same PC, where apt-get dist-upgrade on Focal works as expected:
If both Ubuntu and Mint are generic setups with recommended sources only.
Ubuntu only uses packages from Ubuntu repositories.
Mint uses packages from Mint and Ubuntu repositories.
Given the aggressive behavior of 'dist-upgrade', this may be an unfortunate miscalculation in Mint's design.
Quote:
graphics are stuck at 1024x768, and 'ip a' lists only lo
Lots of folks having issues with Mint and proprietary graphics drivers, I tried it and installed proprietary Nvidia from Mint repos, lasted only a week, damn unstable. I reinstalled and just doing nouveau and/or intel and it appears to be fairly stable now. I'm assuming both the nic and wireless adapters are missing?
Did you try loading the kernel modules?
Maybe firmware package was removed because of 'dist-upgrade'.
grep ' remove ' /var/log/dpkg.log, perhaps? To see what packages were removed during dist-upgrade.
This was a good start. It turns out the problem started on a previous upgrade (November), when linux-image-5.8.0-25-generic was installed, but not corresponding linux-modules-extra. At the time I must have been distracted, or ran out of gas and went to bed, then didn't get back to it until yesterday. On this upgrade, linux-modules-extra-5.0.0-32-generic got removed, which showed up in the grep. So, needed linux-modules-extra was missing from both installed kernels. This I easily fixed via a chroot from Focal, which solved both problems.
The new question is why linux-modules-extra had previously been installed, but not included with the two newer kernel additions.
Brains, never wireless here except on one old laptop that was given to me with a useless no longer available battery, and except for Roku and Firestick. Never proprietary graphics drivers here either. With Debians, *buntus and Mints here, currently only standard repos are enabled, with one big exception: TDE on all Debians and most *buntus. Once upon a time I did use backports for something, but that was too long ago to remember.
Both linux-image-generic and linux-modules-extra-<latest_version>-generic depend on linux-image-<latest_version>-generic which in turn depends on linux-modules-<latest_version>-generic
All nice to know, but I don't see how that helps with "why", after it had been installed previously. I can't recall ever having explicitly asked for linux-modules-extra previously.
If you removed linux-image-generic and installed linux-image-5.8.0-25-generic directly then linux-modules-extra-5.8.0-25-generic wouldn't be installed because it is only a dependency of linux-image-generic, but not of any versioned linux-image-* package.
The Ubuntu way is for linux-image-generic to always be installed and automatically pull the newest linux-module-extra-* version as its dependency.
Linux-image-generic is not installed. Attempting installation with apt wants to add intel-microcode, and an older 5.4.0-67 kernel and modules-extra, among others. Apt-mark hold linux-*-5.4.0-67* prevents installing linux-image-generic with apt or apt-get.
Installing with aptitude offered me an option (remove linux-modules-5.0.0-32-generic, which got left behind with linux-image-5.0.0-32-generic removal) that worked, without adding any other package. Bizarro.
The only reason I have Mint installed is for triage, and helping forum and mailing list users solve problems. Mint's flagship Cinnamon, MATE & XFCE are DEs I have no interest in actually using. I dislike Mint's LightDM implementation as well.
Linux-image-generic is not installed. Attempting installation with apt wants to add intel-microcode, and an older 5.4.0-67 kernel and modules-extra, among others.
Well, when using the kernel packages how they supposed to be used on Ubuntu/Mint then installing intel-microcode is unavoidable even if your processor is AMD (just as amd64-microcode gets installed even when your processor is Intel). You're supposed to waste disk space on it.
If you want this setup to work with linux-image-5.8.0-* kernels then you should install linux-generic-hwe-20.04 instead of linux-generic because 5.8.0 is a hardware enablement kernel.
Post #9 triggered some memory. When I dist-upgraded from Tricia to Ulyana, no new kernel was installed. So, I searched, and found the highest available version was 5.8, not 5.4, so 5.8 is what I installed manually. From grepping linux in .bash_history:
All after are from after starting this thread. My searching before this thread failed to include modules, and was apparently begun at the time I did the upgrade, without progress before quitting back then. Then and since I was looking only for uninstalled firmware, because both graphics and NIC were affected.
My DDG fu hasn't been good enough as yet to be able to read the "dates" while perusing .bash_history.
BTW, no hwe included anywhere in dpkg -l output, except for xserver-xorg-video-amdgpu-hwe, for which reason unknown.
I searched, and found the highest available version was 5.8, not 5.4, so 5.8 is what I installed manually.
This is how you do it in Debian. In Ubuntu/Mint, you install either linux-generic for the standard kernel or linux-generic-hwe for the more recent kernel (usually if your hardware is not yet supported by the standard kernel).
Debian generally is more flexible, and Debian packages are more atomic (or less interdependent). E.g. about two dozens of Debian firmware-* packages are all combined together into linux-firmware in Ubuntu.
The general idea here is that Debian is for power users who know what firmware packages to install for their hardware and don't like the bloat. While Ubuntu setup is more friendly to newbies who can just install a meta-package like linux-generic or linux-generic-hwe, and that will automatically pull all the needed packages including linux-firmware, linux-modules-* and whatnot.
For this to work as intended, dependent packages (linux-image-*, linux-modules-*, etc.) should be marked as automatically installed. This way, when linux-generic / linux-generic-hwe start to point to another kernel, the old kernel packages will be autoremovable.
Code:
Dq linux-im # alias | grep Dq -> alias Dq='echo dpkg-query -l ; dpkg-query -l | sort | grep '
Great minds think alike
Code:
$ alias|grep dpkg-query
alias dlc='dpkg-query -Wf'\''${Status} ${Package}\n'\''|awk '\''$3~/config-files/{print$4}'\'''
alias dlp='dpkg-query -Wf'\''${Status} ${Package}\n'\''|awk '\''/^purge/{print$4}'\'''
alias dq='dpkg-query -W'
alias dqc='dpkg-query --control-list'
alias dql='dpkg-query -L'
alias dqs='dpkg-query -S'
Code:
$ cat ~/bin/dl
#!/bin/sh
# Better dpkg -l
# `tput cols` works only if TERM is set, `stty size` works always. I'm not aware
# of a terminal emulator not setting TERM, thus using `tput cols`.
: ${COLUMNS:=$(tput cols)}
br=' '
# test is not an arithmetic evaluation, 010 is decimal
if [ 0"$COLUMNS" -gt 60 ]; then
nw=$(( -(COLUMNS-51)/4-10 ))
vw=$(( -(COLUMNS-61)/4-7 ))
elif [ 0"$COLUMNS" -gt 54 ]; then
nw=-12
vw=-7
elif [ 0"$COLUMNS" -gt 24 ]; then
vw=$(( -(COLUMNS-25)/3-7 ))
nw=$((5-COLUMNS+vw))
br='\n+-> '
dw=$((4-COLUMNS))
else
nw=-12
vw=-7
br='\n+-> '
dw=-20
COLUMNS=24
fi
: ${dw:=$((6-COLUMNS-nw-vw))}
snv="\${db:Status-Abbrev} \${binary:Package;$nw} \${Version;$vw}"
dsc="\${binary:Summary;$dw}"
exec dpkg-query --show --showformat="$snv$br$dsc\n" "$@"
Code:
$ cat ~/bin/dlb
#!/bin/sh
# list binaries installed by a package
dpkg-query -L $@ | xargs -r stat -c'%A%n' 2>/dev/null |
sed -nr '/^-.{2,8}[xs]/s/^.{10}//p' | sort | column
$ cat ~/bin/dlm
#!/bin/sh
dpkg-query -L $@ |
sed -nr '\:^.*/man[^/]/:{s///;s/\.gz$//;s/^(.*)\.(.*)$/\2\t\1/p}' |
sort -u | column
Quote:
My DDG fu hasn't been good enough as yet to be able to read the "dates" while perusing .bash_history.
.bash_history has no timestamps. Package actions (install/upgrade/remove/purge) can be tracked via /var/lib/dpkg.log
In formulating a response to this, I answered my own question about how to read timestamps. Instead of simply viewing with MC, use the history command.
Code:
# inxi -S
System: Host: asa88 Kernel: 5.8.0-44-generic x86_64 bits: 64 Console: tty 3 Distro: Linux Mint 20 Ulyana
# tail -n13 .bash_history
aptitude search linux | grep -i hwe
#1615939039
Dq hwe
#1615936675
Dq linux
#1615936688
mountsrv
#1615936693
mc
#1615940584
Off
#1615998227
# history
# history | tail -n13
1009 2021-03-17 12:19:43 tail -n13 >>out
1010 2021-03-17 12:19:52 echo inxi -S > out
1011 2021-03-17 12:19:55 inxi -S >> out
1012 2021-03-17 12:20:08 echo tail -n13 .bash_history >>out
1013 2021-03-17 12:20:10 tail -n13 .bash_history >>out
1014 2021-03-17 12:20:12 mc
1015 2021-03-17 12:24:43 echo 'history | tail -n13' > out
1016 2021-03-17 12:24:58 echo inxi -S > out
1017 2021-03-17 12:25:04 inxi -S >> out
1018 2021-03-17 12:25:10 echo tail -n13 .bash_history >>out
1019 2021-03-17 12:25:19 tail -n13 .bash_history >>out
1020 2021-03-17 12:25:27 echo 'history | tail -n13' >> out
1021 2021-03-17 12:25:31 history | tail -n13 >> out
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.