SlackwareThis Forum is for the discussion of Slackware Linux.
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.
--- 10_linux.new 2021-09-10 21:45:00.000000000 +0300
+++ 10_linux 2023-09-22 10:51:25.658346996 +0300
@@ -47,6 +47,9 @@
# older kernels.
GRUB_DISABLE_LINUX_PARTUUID=${GRUB_DISABLE_LINUX_PARTUUID-true}
+# Default to disabling the initrd support for the Slackware's huge kernels.
+GRUB_DISABLE_INITRD_FOR_HUGE_KERNELS=${GRUB_DISABLE_INITRD_FOR_HUGE_KERNELS-true}
+
# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
# and mounting btrfs requires user space scanning, so force UUID in this case.
if ( [ "x${GRUB_DEVICE_UUID}" = "x" ] && [ "x${GRUB_DEVICE_PARTUUID}" = "x" ] ) \
@@ -84,17 +87,22 @@
os="$1"
version="$2"
type="$3"
- args="$4"
+ flavor="$4"
+ args="$5"
if [ -z "$boot_device_id" ]; then
boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
fi
if [ x$type != xsimple ] ; then
+ niceflavor=""
+ if [ "x${flavor}" != xdefault ]; then
+ niceflavor="${flavor^} "
+ fi
case $type in
recovery)
- title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
+ title="$(gettext_printf "%s, with Linux %s%s (recovery mode)" "${os}" "${niceflavor}" "${version}")" ;;
*)
- title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
+ title="$(gettext_printf "%s, with Linux %s%s" "${os}" "${niceflavor}" "${version}")" ;;
esac
if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
@@ -102,7 +110,7 @@
title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
fi
- echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
+ echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$flavor-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
else
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
fi
@@ -194,7 +202,6 @@
is_top_level=true
while [ "x$list" != "x" ] ; do
linux=`version_find_latest $list`
- gettext_printf "Found linux image: %s\n" "$linux" >&2
basename=`basename $linux`
dirname=`dirname $linux`
rel_dirname=`make_system_path_relative_to_its_root $dirname`
@@ -202,6 +209,13 @@
alt_version=`echo $version | sed -e "s,\.old$,,g"`
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+ # We will skip the vmlinuz-generic and and vmlinuz-huge which are symlinks
+ if [ "x${version}" = xgeneric ] || [ "x${version}" = xhuge ]; then
+ list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
+ continue
+ fi
+ gettext_printf "Found linux image: %s\n" "$linux" >&2
+
initrd_early=
for i in ${GRUB_EARLY_INITRD_LINUX_STOCK} \
${GRUB_EARLY_INITRD_LINUX_CUSTOM}; do
@@ -219,6 +233,7 @@
"initramfs-genkernel-${alt_version}" \
"initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
"initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
+ "initrd-generic-${version}.gz" "initrd-generic-${version}.img" \
"initrd.gz"; do
if test -e "${dirname}/${i}" ; then
initrd_real="${i}"
@@ -226,6 +241,36 @@
fi
done
+ # Backup the value of GRUB_CMDLINE_LINUX, because it may be altered for the huge kernels.
+ GRUB_CMDLINE_LINUX_ORIGINAL="${GRUB_CMDLINE_LINUX}"
+
+ flavor="default"
+ if echo "${basename}" | grep -wq vmlinuz-huge ; then
+ flavor="huge"
+ if [ "x${GRUB_DISABLE_INITRD_FOR_HUGE_KERNELS}" = xtrue ]; then
+ initrd_real=""
+ # We will parse the command line, replacing the resume device when it's specified as
+ # UUID or PARTUUID, because this way is supported only with an initrd. Also, we will
+ # remove the rootflags parameter, because the huge kernel has issues on handling it.
+ parsed_cmdline=""
+ while read parameter; do
+ if echo "${parameter}" | grep -wq -E "resume=UUID=*|resume=PARTUUID=*" ; then
+ value=$(echo "${parameter}" | cut -d= -f3)
+ if blkid | grep -wq "${value}" ; then
+ swap_device=$(blkid | grep "${value}" | cut -d: -f1)
+ parameter="resume=${swap_device}"
+ fi
+ elif echo "${parameter}" | grep -wq -E "rootflags=*" ; then
+ continue
+ fi
+ parsed_cmdline="${parsed_cmdline} ${parameter}"
+ done <<< $(echo -n "${GRUB_CMDLINE_LINUX}" | tr -s "[:blank:]" | tr ' ' '\n')
+ GRUB_CMDLINE_LINUX=$(echo "${parsed_cmdline}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
+ fi
+ elif echo "${basename}" | grep -wq vmlinuz-generic ; then
+ flavor="generic"
+ fi
+
initrd=
if test -n "${initrd_early}" || test -n "${initrd_real}"; then
initrd="${initrd_early} ${initrd_real}"
@@ -271,26 +316,29 @@
fi
if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xtrue ]; then
- linux_entry "${OS}" "${version}" simple \
+ linux_entry "${OS}" "${version}" simple "$flavor" \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
submenu_indentation="$grub_tab"
-
+
if [ -z "$boot_device_id" ]; then
boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
fi
# TRANSLATORS: %s is replaced with an OS name
- echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+ echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$flavor-$boot_device_id' {"
is_top_level=false
fi
- linux_entry "${OS}" "${version}" advanced \
+ linux_entry "${OS}" "${version}" advanced "$flavor" \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
- linux_entry "${OS}" "${version}" recovery \
+ linux_entry "${OS}" "${version}" recovery "$flavor" \
"single ${GRUB_CMDLINE_LINUX}"
fi
+ # Restore the original value of GRUB_CMDLINE_LINUX.
+ GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_ORIGINAL}"
+
list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
done
I believe that's a really nice idea the translation of resume= kernel parameter to the real/current disk device, for the huge kernels.
BUT, what's wrong with rootflags= parameter? Why do you eliminate it for the huge kernels?
Last edited by LuckyCyborg; 10-31-2023 at 07:24 AM.
I have no hopes for the Slackware 15.1 with Plasma5 to be released before everybody else will ship Plasma6 . Yep, there will be the glorious Slackware 14.2 all over again. It's not crystal clear for everybody?
And that's plenty of time to have another LTS kernel or two...
Slackware 15.1 is expected after:
1. GRUB 2.12;
2. Python updates (many);
3. ending the debate about without/with systemd.
PS
PAM was NO -?-> YES
GRUB is NO -?-> YES
systemd is NO -?-> ??
where "??" it should still be YES to comply with the rule (and not to be forced to completely switch to Ubuntu because of the antivirus requirements).
Slackware 15.1 is expected after:
1. GRUB 2.12;
2. Python updates (many);
3. ending the debate about without/with systemd.
PS
PAM was NO -?-> YES
GRUB is NO -?-> YES
systemd is NO -?-> ??
where "??" it should still be YES to comply with the rule (and not to be forced to completely switch to Ubuntu because of the antivirus requirements).
Well, regarding LinuxPAM and Kerberos, that was loooong overdue. Our BDFL insisted into no-PAM until almost all businesses ran away. Someone remember ivandi and kikinovak? They was some of the last Mohicans running a small Business in Slackware.
Regarding GRUB2, anyone who is not stuck with an Intel Core2 Due laptop in the top of a hill from forest (like me right now) will heartily agree that should have been done years ago already.
Regarding systemd, sincerely I believe that you should have no hopes until BlueZ will hard depend on it.
That's not because they are systemd hatters - I don't believe this, but because in the last 30 years our BDFL tailored his own init system on top of SysV init. Nope, don't believe in the legends which say that's BSD like, BSD init systems has nothing to do with it. BUT, it's the single real invention of Slackware - excluding maybe ConsoleKit2, as the rumors says...
So, IF you really want a Slackware with systemd, probably the best way is to fork it.
Come on! The Slackware is already half ported to systemd (thanks to elogind adoption) and in your own country Romania are some very skilled people in Slackware. Find Arny and/or find Darth Vader - both of them are (or at least they was) of Maintainer Grade on Slackware. Touch their hearts or impress their wallets, and probably you will got a fine Slackware with systemd as you need.
Last edited by LuckyCyborg; 10-31-2023 at 09:41 AM.
Niki Kovacs (kikinovak) was one of the people whose documentation I read when I decided to use Slackware as the OS framework for my servers.
I don't know Arny and I only spoke with Darth Vader on the forum, I don't know anything about him after he left the forum.
I wouldn't feel comfortable with a systemd outside of official Slackware.
Where I can't get rid of systemd, Ubuntu helps me.
I have no hopes for the Slackware 15.1 with Plasma5 to be released before everybody else will ship Plasma6 . Yep, there will be the glorious Slackware 14.2 all over again. It's not crystal clear for everybody?
And that's plenty of time to have another LTS kernel or even two...
Unless Slackware 15.1 is released within a few months we will end up in a situation where all stable versions but the latest stable Slackware 15.0 has become EOL.
Unless Slackware 15.1 is released within a few months we will end up in a situation where all stable versions but the latest stable Slackware 15.0 has become EOL.
regards Henrik
That is a very good point.
However, IMO... we don't need anything more than 1 stable version and 1 current for testing to become the next stable.
Would not bother me a bit if 15.0 became EOL on the day that 15.1 is released.
Yes, based on Pat's previous posts the change log needs to reflect notable changes with GRUB before 15.1 might be close. I don't know about other changes. Some time back Pat hinted -- or at least toyed -- that a beta could be close.
Pat does a good job ensuring software is the latest stable practical with each release, but he also leans toward stability. I am hoping he leans toward KDE 5.27.x with 15.1 rather than play the public relations game and wait until KDE 6.0 is announced. A similar precedent was Slackware 12.2 and 13.0. The 12.2 release contained KDE 3.5.10 while 13.0 included KDE 4.x (and some 3.5.10 backports in /extra). Since the upcoming release thus far has remained 15.1 rather than 16.0, I hope for a repeat and KDE 5.27.x is included.
Probably all academic though. I learned long ago not to guess Pat's check list for each release.
Quote:
Unless Slackware 15.1 is released within a few months we will end up in a situation where all stable versions but the latest stable Slackware 15.0 has become EOL.
Pat hasn't published formal life cycles for each release. A reasonable guess is he might declare 14.0 EOL after 15.1 is released and possibly 14.1.
Quote:
Would not bother me a bit if 15.0 became EOL on the day that 15.1 is released.
Probably would bother most other Slackware users quite a bit!
@LuckyCyborg: You are like the Rocky and Bullwinkle hat gags. Bullwinkle keeps trying to pull off magic tricks and fails. You keep trying to bad mouth much of what Pat does and keep failing too.
Pat hasn't published formal life cycles for each release. A reasonable guess is he might declare 14.0 EOL after 15.1 is released and possibly 14.1.
You must have missed seeing this in all 3 of the 14.x changlogs
Code:
+--------------------------+
Mon Oct 9 18:10:01 UTC 2023
####################################################################
# NOTICE OF INPENDING EOL (END OF LIFE) FOR OLD SLACKWARE VERSIONS #
# #
# Effective January 1, 2024, security patches will no longer be #
# provided for the following versions of Slackware (which will all #
# be more than 7 years old at that time): #
# Slackware 14.0, Slackware 14.1, Slackware 14.2. #
# If you are still running these versions you should consider #
# migrating to a newer version (preferably as recent as possible). #
# Alternately, you may make arrangements to handle your own #
# security patches. #
####################################################################
+--------------------------+
"marav
Senior Member
I clearly don't understand your post, except the fact that you quoted my post (from kernel 6.6-rc1 ...)
what exactly is your request here ?"
I think it was a hint to announce the future Slackware kernel.
true?
Last edited by bigbadaboum; 10-31-2023 at 06:58 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.