Discussion:
Rename /boot/efi/EFI/Slackware on uefi installs
(too old to reply)
John Forkosh
2019-11-01 04:07:30 UTC
Permalink
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried
to install a current64 distro on a separate partition
"alongside" my existing stable 14.2x64 distro, and be
able to boot both, it overwrote the 14.2 stuff in Slackware/,
leaving only current64 bootable.

During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add
a Slackware/ boot table entry rather than installing lilo.
Seems (at least to me) like it would be easy-cum-trivial
to modify the script so that it asks for an entry name
rather than hard-coded Slackware.

Where/how could that be done? Or, at least, before running
setup, how could I edit the script to change hard-coded
Slackware to hard-coded something else, like Slack142x64,
etc. Thanks.
--
John Forkosh ( mailto: ***@f.com where j=john and f=forkosh )
John Forkosh
2019-11-01 04:57:38 UTC
Permalink
Post by John Forkosh
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried
to install a current64 distro on a separate partition
"alongside" my existing stable 14.2x64 distro, and be
able to boot both, it overwrote the 14.2 stuff in Slackware/,
leaving only current64 bootable.
During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add
a Slackware/ boot table entry rather than installing lilo.
Seems (at least to me) like it would be easy-cum-trivial
to modify the script so that it asks for an entry name
rather than hard-coded Slackware.
Where/how could that be done? Or, at least, before running
setup, how could I edit the script to change hard-coded
Slackware to hard-coded something else, like Slack142x64,
etc. Thanks.
P.S. Okay, so I'm seeing what appears to be the hard-coded
Slackware in source/a/elilo/eliloconfig (looks like it occurs
23 separate times, but that's not too bad). Are there any other
places I'm missing?

But in slackware64/a/ there's only the J-compressed
elilo-3.16-x86_64-10.txz which indeed contains that eliloconfig.
So is the correct/only way to change Slackware to first
edit the source, then tar-update it in elilo-3.16-x86_64-10.txz,
and then either (a)rerun the usb-and-pxe-installers/usbimg2disk.sh
script to generate new install media, or (b)tar-update the .txz
on existing install media? Or what else???
--
John Forkosh ( mailto: ***@f.com where j=john and f=forkosh )
Henrik Carlqvist
2019-11-01 19:34:50 UTC
Permalink
So is the correct/only way to change Slackware to first edit the
source, then tar-update it in elilo-3.16-x86_64-10.txz, and then either
(a)rerun the usb-and-pxe-installers/usbimg2disk.sh script to generate
new install media, or (b)tar-update the .txz on existing install media?
Or what else???
As you have discovered, it is possible to customize Slackware packages
like that. However, when it comes to customizing the configuration
scripts which are run at the end of the Slackware installation I prefer
to create my own package which overwrites the original configuration
script.

Having my custom settings in my own packages has the major advantage that
in a few years when I upgrade to Slackware 17.93 I will know exactly how
I have customized earlier versions of Slackware by looking at my rather
small collection of custom packages.

My custom packages lives in a /cus/ directory next to the standard
directories /a/, /ap/... I have edited the file isolinux/setpkg to also
install my packages in the /cus/ directory and make sure that my custom
packages are installed after all the other packages so my settings
overwrite the original settings.

regards Henrik
John Forkosh
2019-11-04 04:39:31 UTC
Permalink
Post by Henrik Carlqvist
So is the correct/only way to change Slackware to first edit the
source, then tar-update it in elilo-3.16-x86_64-10.txz, and then either
(a)rerun the usb-and-pxe-installers/usbimg2disk.sh script to generate
new install media, or (b)tar-update the .txz on existing install media?
Or what else???
As you have discovered, it is possible to customize Slackware packages
like that. However, when it comes to customizing the configuration
scripts which are run at the end of the Slackware installation I prefer
to create my own package which overwrites the original configuration
script.
Having my custom settings in my own packages has the major advantage that
in a few years when I upgrade to Slackware 17.93 I will know exactly how
I have customized earlier versions of Slackware by looking at my rather
small collection of custom packages.
My custom packages lives in a /cus/ directory next to the standard
directories /a/, /ap/... I have edited the file isolinux/setpkg to also
install my packages in the /cus/ directory and make sure that my custom
packages are installed after all the other packages so my settings
overwrite the original settings.
regards Henrik
Thanks, Henrik. I think I see what you're saying, especially after
looking at isolinux/setpkg, which looks like it would be easy enough to
blindly add another line to after "Y"...\ and before 2> $TMP/SeTSERIES.
But I don't think that'll help me here. I just want to change the
(apparently hard-coded in the setup scripts) default directory name
EFI/Slackware to EFI/Slack-something-else. And that'll allow me to
have several uefi boottable entries to choose from on the uefi boot
menu.
--
John Forkosh ( mailto: ***@f.com where j=john and f=forkosh )
Jimmy Johnson
2019-11-02 05:15:52 UTC
Permalink
Post by John Forkosh
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried
to install a current64 distro on a separate partition
"alongside" my existing stable 14.2x64 distro, and be
able to boot both, it overwrote the 14.2 stuff in Slackware/,
leaving only current64 bootable.
During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add
a Slackware/ boot table entry rather than installing lilo.
Seems (at least to me) like it would be easy-cum-trivial
to modify the script so that it asks for an entry name
rather than hard-coded Slackware.
Where/how could that be done? Or, at least, before running
setup, how could I edit the script to change hard-coded
Slackware to hard-coded something else, like Slack142x64,
etc. Thanks.
I multi boot using grub installed to another partition, so I don't have
your problem, but if I did I would start here:
https://duckduckgo.com/?q=slackware+update+lilo++uefi&t=ffab&ia=web

I hope that helps,
--
Jimmy Johnson

Plasma 5.17 - AMD A8-7600 - EXT4 at sda11
Registered Linux User #380263
John Forkosh
2019-11-04 04:29:03 UTC
Permalink
Post by Jimmy Johnson
Post by John Forkosh
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried
to install a current64 distro on a separate partition
"alongside" my existing stable 14.2x64 distro, and be
able to boot both, it overwrote the 14.2 stuff in Slackware/,
leaving only current64 bootable.
During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add
a Slackware/ boot table entry rather than installing lilo.
Seems (at least to me) like it would be easy-cum-trivial
to modify the script so that it asks for an entry name
rather than hard-coded Slackware.
Where/how could that be done? Or, at least, before running
setup, how could I edit the script to change hard-coded
Slackware to hard-coded something else, like Slack142x64,
etc. Thanks.
I multi boot using grub installed to another partition, so I don't have
https://duckduckgo.com/?q=slackware+update+lilo++uefi&t=ffab&ia=web
I hope that helps,
Thanks, Jimmy. That query coughs up roughly the same stuff I'd googled
myself before posting, though I hadn't tried duckduckgo before, which
seems to be an interesting alternative.
The underlying question is whether or not changing "Slackware" to
"Slack-whatever" in eliloconfig is everything that needs to be done
to achieve the desired result, i.e., putting all slackware stuff in
EFI/Slack-whatever/ rather than EFI/Slackware/. eliloconfig is itself
run from another script, setup.ll.eliloconfig, which is run from ...
So the directory name "Slackware" could be hard-coded somewhere else
that I've missed, which would likely mess things up pretty badly.
--
John Forkosh ( mailto: ***@f.com where j=john and f=forkosh )
Ned Latham
2019-11-04 04:42:02 UTC
Permalink
Post by John Forkosh
Post by Jimmy Johnson
Post by John Forkosh
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried
to install a current64 distro on a separate partition
"alongside" my existing stable 14.2x64 distro, and be
able to boot both, it overwrote the 14.2 stuff in Slackware/,
leaving only current64 bootable.
During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add
a Slackware/ boot table entry rather than installing lilo.
Seems (at least to me) like it would be easy-cum-trivial
to modify the script so that it asks for an entry name
rather than hard-coded Slackware.
Where/how could that be done? Or, at least, before running
setup, how could I edit the script to change hard-coded
Slackware to hard-coded something else, like Slack142x64,
etc. Thanks.
I multi boot using grub installed to another partition, so I don't have
https://duckduckgo.com/?q=slackware+update+lilo++uefi&t=ffab&ia=web
I hope that helps,
Thanks, Jimmy. That query coughs up roughly the same stuff I'd googled
myself before posting, though I hadn't tried duckduckgo before, which
seems to be an interesting alternative.
The underlying question is whether or not changing "Slackware" to
"Slack-whatever" in eliloconfig is everything that needs to be done
to achieve the desired result, i.e., putting all slackware stuff in
EFI/Slack-whatever/ rather than EFI/Slackware/. eliloconfig is itself
run from another script, setup.ll.eliloconfig, which is run from ...
So the directory name "Slackware" could be hard-coded somewhere else
that I've missed, which would likely mess things up pretty badly.
Try it out, John. What's the worst that can happen?
King Beowulf
2019-11-07 05:26:54 UTC
Permalink
Post by John Forkosh
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried to install a
current64 distro on a separate partition "alongside" my existing stable
14.2x64 distro, and be able to boot both, it overwrote the 14.2 stuff in
Slackware/,
leaving only current64 bootable.
During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add a Slackware/
boot table entry rather than installing lilo. Seems (at least to me)
like it would be easy-cum-trivial to modify the script so that it asks
for an entry name rather than hard-coded Slackware.
Where/how could that be done? Or, at least, before running setup, how
could I edit the script to change hard-coded Slackware to hard-coded
something else, like Slack142x64, etc. Thanks.
You are going about this the hard way. You do not need multiple /boot/
efi/EFI/Slackxxx/ enties. For example on /dev/sda create partitions:

sda1 fat32
sda2 linux
sda3 linux
sda4 swap

Install 14.2 as normal (you can do current 1st, does not matter) to sda2,
have post setup configure elilo. You now have something like in /boot/efi/
EFI/Slackware/ (ie sda1):

elilo.conf
message.txt
vmlinuz
elilo.efi

reboot and run the next Slackware but install to sda3. *SKIP* elilo
installation. reboot will now take you to sda2 (Slackware64-14.2).

cd /boot/efi/EFI/Slackware/
mv vmlinuz-stable

mount /dev/sda3 /mnt/hd
cp /mnt/hd/vmlinuz /boot/efi/EFI/Slackware/vmlinuz-current

Now edit elilo.conf (adjust timeout and delay as needed):
----------------8<--------------------
chooser=simple
default=slackware
delay=1
timeout=1
#
image=vmlinuz-stable
label=slackware
read-only
append="root=/dev/sda2 vga=normal ro"

image=vmlinuz-current
label=slacknew
read-only
append="root=/dev/sda3 vga=normal ro"
----------------8<--------------------

when you boot next, just type <TAB> in the elilo screen to bring up a
list to select.

see also:
https://www.rodsbooks.com/efi-bootloaders/elilo.html

I will leave adding initrd and generic kernel as an exercise for the
reader.
John Forkosh
2019-11-07 08:49:06 UTC
Permalink
Post by King Beowulf
Post by John Forkosh
Slack setup always names its EFI/ directory Slackware/,
with initrd, vmlinuz, etc under that. So when I tried to install a
current64 distro on a separate partition "alongside" my existing stable
14.2x64 distro, and be able to boot both, it overwrote the 14.2 stuff in
Slackware/,
leaving only current64 bootable.
During setup's lilo dialog, on detecting a uefi system,
it reaches a point where it asks whether (or not) to add a Slackware/
boot table entry rather than installing lilo. Seems (at least to me)
like it would be easy-cum-trivial to modify the script so that it asks
for an entry name rather than hard-coded Slackware.
Where/how could that be done? Or, at least, before running setup, how
could I edit the script to change hard-coded Slackware to hard-coded
something else, like Slack142x64, etc. Thanks.
You are going about this the hard way.
You do not need multiple /boot/efi/EFI/Slackxxx/ entries.
sda1 fat32
sda2 linux
sda3 linux
sda4 swap
Install 14.2 as normal (you can do current 1st, does not matter)
to sda2, have post setup configure elilo. You now have something
elilo.conf
message.txt
vmlinuz
elilo.efi
reboot and run the next Slackware but install to sda3.
*SKIP* elilo installation. reboot will now take you to sda2
(Slackware64-14.2).
cd /boot/efi/EFI/Slackware/
mv vmlinuz vmlinuz-stable
mount /dev/sda3 /mnt/hd
cp /mnt/hd/vmlinuz /boot/efi/EFI/Slackware/vmlinuz-current
----------------8<--------------------
chooser=simple
default=slackware
delay=1
timeout=1
#
image=vmlinuz-stable
label=slackware
read-only
append="root=/dev/sda2 vga=normal ro"
image=vmlinuz-current
label=slacknew
read-only
append="root=/dev/sda3 vga=normal ro"
----------------8<--------------------
when you boot next, just type <TAB> in the elilo screen
to bring up a list to select.
https://www.rodsbooks.com/efi-bootloaders/elilo.html
I will leave adding initrd and generic kernel as an
exercise for the reader.
Thanks very much. Seems to completely solve my problem,
even more easily than I'd imagined. I guess that's why they
call you "King":)
And that terrific reference
https://www.rodsbooks.com/efi-bootloaders/elilo.html
seems to explicitly solve your "exercise for the reader" problem,
which wasn't immediately clear to me. I've frequently set up
lilo.conf for multiple boots on msdos-partitioned disks,
but never elilo and never had to use that initrd=.
Thanks again, KingB.
--
John Forkosh ( mailto: ***@f.com where j=john and f=forkosh )
Loading...