Commit Graph

90 Commits

Author SHA1 Message Date
Anton Midyukov
00283166b7 syslinux: fixed for using BOOTLOADER not equal syslinux
Do not create syslinux.cfg if EFI_BOOTLOADER is set to not equal grub-efi.
2020-04-03 22:56:58 +07:00
Anton Midyukov
216da2366c syslinux: do not use syslinux to generate config on unsupported arches
These are partial commits reverts:
01ee407543
e42bcdcb30
5cfc7ede81
2020-04-03 22:56:58 +07:00
Anton Midyukov
df1d1f8a6c grub, syslynux: rename scripts
The scripts were named the same for syslinux and grub. Because of this,
scripts for syslinux were overwritten by grub scripts.
2020-04-03 22:16:55 +07:00
aae4330953 disable virtual keyboard for VNC install mode 2019-09-30 21:41:24 +03:00
Anton Midyukov
32e79be977 syslinux: add pxelinux.0
...so that bits required for PXE boot are handy in the image.

Suggested-by: glebfm@altlinux.org, klark@altlinux.org
2019-09-30 21:40:51 +03:00
Anton Midyukov
e42bcdcb30 90-build-distro.mk, boot.mk, syslinux: add ARM64 EFI support for distro targets 2019-08-30 19:23:28 +03:00
Anton Midyukov
01ee407543 syslinux: copy config for grub2 on aarch64 2019-08-30 19:23:27 +03:00
Michael Shigorin
79a1c46d85 syslinux: tweak vncconnect item description
I've just borrowed glebfm@'s one introduced by commit
ec23a8ec7b before; this
still might be improved it seems.

Suggested-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
2019-08-19 23:37:45 +03:00
Gleb Fotengauer-Malinovskiy
ec23a8ec7b Add installer VNC configs with different labels for images with grub bootloader 2019-08-19 23:33:55 +03:00
Gleb Fotengauer-Malinovskiy
6812e1fe57 install2: fix definition of default password in vnc listen config 2019-08-19 23:33:48 +03:00
Gleb Fotengauer-Malinovskiy
5cfc7ede81 ppc64le: use syslinux feature only to generate config 2019-08-19 23:32:07 +03:00
Gleb Fotengauer-Malinovskiy
f981ae0c07 syslinux: drop BOOT_TYPE definition (it is already defined by build-distro) 2019-08-19 23:29:09 +03:00
Anton Midyukov
d2937227ce syslinux: X86 only 2019-07-08 21:09:39 +03:00
Michael Shigorin
3c2ef1c035 rework isoboot support beyond x86
Every .iso was assumed to be bootable since the very beginning[*],
and isoboot images were deemed to be x86 isolinux ones; this didn't
change with basic ppc/armh support as I never ran into hardware
that would _boot_ those ISOs, not only run the code, and it was
only e2k isodata project that finally forced this refactoring.

It's still not perfect: pack and syslinux features still end up
somewhat interwoven, and too much places care for architecture
the image is being built for (instead of archdep features tossing
their appropriate bits and pieces in).

Should help:
- any-arch regarding isodata images;
- {x86,aarch64}/efi by decoupling isoboot and isolinux;
- ppc{,64} as introducing yaboot support will be easier now;
- mipsel{,64} too, hopefully.

* I knew of school addon images baked with mkimage-profiles-desktop
  but postponed and then neglected the whole problem for years...
2018-07-25 16:49:01 +03:00
Mikhail Efremov
a618abb49f syslinux: Use vga=normal
This is more appropriate default value nowaday.
2018-07-16 20:52:16 +03:00
Michael Shigorin
4d0ae3af60 syslinux: dedup generate.mk
Should be a (slightly cleaner) no-op.
2018-03-03 15:22:33 +03:00
Michael Shigorin
5cfcd809fb vnc: different labels for install+vnc* targets
These happened to collide after initial copypaste
of 20install2.cfg snippet, spotted that recently.
2018-03-03 15:13:35 +03:00
Michael Shigorin
459a46b868 syslinux: fix rescue_rw config snippet
This one enables rw session support for Rescue images;
the nitpick is that syslinux' gfxboot *will* set this up
when booting the same ISO from USB Flash media instead of
optical one (CD/DVD-ROM/RW), and we don't put gfxboot into
a standalone rescue image.

See-also: http://altlinux.org/propagator
See-also: http://altlinux.org/remount_rw
2017-12-11 20:09:20 +03:00
Michael Shigorin
bca1342015 syslinux, tty: better serial support
A one-liner for syslinux and a simple installer feature
change a lot in this regard!
2017-03-31 20:53:59 +03:00
Michael Shigorin
c73abccd2c install2, syslinux: fix VNC support
Was broken in too many places including several libraries
x11vnc currently links against getting removed, several
utilities missing, and no way to guess what to do...

One could stumble upon http://altlinux.org/vncinst
or find the implementation in installer.git but it's
not exactly user-friendly.
2017-02-01 18:32:43 +03:00
Michael Shigorin
c9806d9b5c syslinux: *disable* bootsplash for rescue targets
Turns out it's "splash=0" that does the job.

Suggested-by: Lenar Shakirov <snejok@altlinux.org>
See-also: https://bugzilla.altlinux.org/28625
2017-01-24 17:39:58 +03:00
Michael Shigorin
91075d008f syslinux: introduced BOOTVGA
...instead of hardwired 0x314 (which is rather wrong
for modern kernels and hardware, just ran into that
with yet another Matrox G200eW WPCM450).
2016-12-30 16:25:48 +03:00
Michael Shigorin
2fcfe3a70e syslinux: update branding defaults
s/ALT Linux/ALT/g as per s/ALT Linux/BaseALT/g Ltd
2016-12-26 16:12:39 +03:00
Michael Shigorin
f7df0f588c syslinux: un-tweak showopts for rescue_fm snippet
This one is related to forensics mode handling in mkimage:
there's a regex that's expecting the old string ending with
hash value, and it stops working when this is changed here
(at least as of mkimage 0.2.18).

So partially undo the change for this particular file to avoid
refind's example menu for regular-rescue.iso (or any other image
involving forensics mode), and hope to revert this commit some day.
2016-08-23 20:58:56 +03:00
Michael Shigorin
ed1c73b173 syslinux: tweak showopts
This keyword was misused due to the lack of understanding
of its meaning; thanks zerg@ for the hint, let's hide the
kernel boot parameters not expected to be modified by user
under the hood (and vice versa in some cases).

Note that this is just a keyword shift in all cases
but mediacheck where "showopts" is now added.

NB: this keyword is only relevant for gfxboot.
2016-08-19 14:01:04 +03:00
Michael Shigorin
07d0cc30b4 syslinux: split 20install2.cfg
"Failsafe install" disabling APIC/LAPIC looks somewhat obsolete
by now; the only reasonable part seems to be the attempt to force
VESA videodriver for the installer (should be done within installer
itself though).
2016-04-27 12:53:09 +03:00
Michael Shigorin
84bb55d09f syslinux: fix gfxboot hook
...to *not* error out if there's no gfxboot at all.
2016-04-20 16:58:45 +03:00
Michael Shigorin
3efa389326 syslinux: fixed RESCUE_BOOTARGS support
"Forensic mode" submenu has fallen apart after the original commit
as the tricky logic in mkimage::tools/mki-copy-efiboot failed to
pick up the new variant; this should all be redone (solo@ has
started doing something but it needs a time-consuming review).

Fixes: 79d0208841
2016-04-14 16:18:30 +03:00
Michael Shigorin
79d0208841 syslinux: added RESCUE_BOOTARGS support
This one is just like STAGE2_BOOTARGS but for rescue images
(which don't do that one for quite a few reasons).
2016-04-04 13:53:18 +03:00
Michael Shigorin
1345c6e041 syslinux: dropped netinstall snippet (useless)
This one was an experimental but the server is long
offline and isn't going back up; remove the obsolete
config snippet, if/when it's done again it's the easiest
part to be restored (the implementation should provide
HTTP/FTP/NFS-publishable deliverables without the need
to extract those from ISO images).
2015-06-22 23:16:50 +03:00
Michael Shigorin
18dbadd81c syslinux: introduce SYSLINUX_DIRECT
There's a convention that syslinux configuration snippets
carrying the names of subprofiles involved are picked up
automatically; there were a few special cases already
when this is actually inconvenient, and there's another
one at hand so let's just step up and do it.

NB: this is a sort of a hacky hook though, wish an elegant
    interface would come to mind some day.
2015-06-05 11:13:36 +03:00
Michael Shigorin
54d19238ac syslinux: added 84rescue_remote.cfg
This one provides cmdline arguments for startup-rescue >= 0.24
which would bring up networking and sshd in its turn thus allowing
remote access to the host booted in this mode.

The feature has been asked for by many people including mithraen@
and valintinr@ (and I'd make use of it another day too).

See the appropriate startup-rescue commit description for notes
on implementation; this default set of variable values should be
both useful and illustrative though.
2015-06-01 20:07:57 +03:00
Michael Shigorin
07933f3c60 syslinux: mediacheck should honour bootargs too
...just like any other stage2 based boot target,
both for consistency and specifically for propagator
test image.
2015-03-29 20:41:34 +03:00
Michael Shigorin
3e1fe68a54 syslinux: update rw to use cdrom method, not disk
The former approach to handling "LiveCD with sessions"
has been to mangle "automatic=method:cdrom" into
"automatic=method:disk,label:ALT*" within gfxboot
so that propagator and make-initrd-propagator would
try and discover/create a filesystem labelled
"alt-live-storage" on a LiveFlash's free space.

Then "live_rw" handling has been unified in
make-initrd-propagator (as of 0.18-alt1) to accept
any of "label" subparameter or "live_rw" argument
to go and create_disk_slice().

Then propagator's cdrom.c has been fixed to actually
try sdX1 before sdX (as of 20150306-alt1).

And now it's all been tested to verify that:
- flash "ro" and "rw" boot is OK
- CD-ROM "ro" boot is OK
- CD-ROM "rw" boot is fine given that there's
  a partition labeled "alt-live-storage" elsewhere

This is a can of worms indeed :-/

References
~~~~~~~~~~
* http://altlinux.org/initrd-propagator
* http://altlinux.org/make-initrd-propagator
* http://bugzilla.altlinux.org/28289
2015-03-10 00:00:14 +03:00
Michael Shigorin
1a7eed303d pid1: initial "run as PID 1" feature
This one has been inspired by these guys:

  http://www.informatimago.com/linux/emacs-on-user-mode-linux.html
  https://raymii.org/s/blog/Vim_as_PID_1_Boot_to_Vim.html

It's aimed at building images running their main userspace
piece instead of ramdisk's init, that means PID=1, UID=0.

Mostly fun of course but it suddenly became interesting with
kernel IP autoconfiguration and e.g. elinks running this way
(NB: requires patched make-initrd 0.8.8 at the moment to get
resolver configured).

And startup times are way better than sysvinit and systemd combined!
2014-09-19 20:53:25 +04:00
Michael Shigorin
ab84d06028 syslinux: "cdrom" notice
cfg.in/README should be explicit regarding
"automatic=method:cdrom" being usable for
flash media too (propagator has been fixed
since 20101130-alt10 or so, and gfxboot is
able to tweak the cmdline having figured
out it's running off the flash either).
2014-05-05 23:50:44 +04:00
Michael Shigorin
bb37e68588 syslinux: slightly better mediachk label
It's not neccessarily installation media.

Shift boot order so that rescue image can get mediacheck too
but still boot into rescue by default.
2014-04-19 13:48:12 +04:00
Michael Shigorin
1a8d7e3126 syslinux: bump rescue loop device number limit
As proposed by Maxim Suhanov since there are only
7 loop devices available upon bootup which might be
not enough given ro,loop mounts by default.
2014-04-19 13:48:12 +04:00
Michael Shigorin
a2fcc601c9 syslinux: process @rescue_hash@ (forensic mode)
This value is used to authenticate rescue rootfs image
by verifying the squashfs file's sha256sum before use
(propagator-20140419+).

Looks like this check might be useful for other stage2
images as well but let's get started with this one.

Thanks Maxim Suhanov <suhanov/group-ib.ru> for both
http://www.forensicswiki.org/wiki/Forensic_Live_CD_issues
and propagator patches.
2014-04-19 13:48:11 +04:00
Michael Shigorin
84a591471c syslinux: fix "forensic" wording
Thanks Maxim Suhanov (suhanov <AT> group-ib.ru,
http://www.forensicswiki.org/wiki/User:.FUF)
for taking the time to review regular-rescue image.

Note that there are more than just filesystems:
arrays, logical volumes and swaps aren't activated either;
startup-rescue >= 0.18 should make that clear enough.

syslinux shortcut handling is case-insensitive,
let's find yet another letter...
2014-04-19 13:47:31 +04:00
Michael Shigorin
8362a7b905 syslinux: add forensics mode
A variant of rescue that marks the need to be careful
towards block devices and filesystems thus reducing
the amount of auto-activation done by startup-rescue
(0.17 or newer).
2014-04-14 20:50:19 +04:00
Michael Shigorin
ed75be87a1 syslinux: fix mediacheck label for gfxboot
Whoops, the very first build of a real distro with gfxboot
has shown that the label isn't picked up there... and things
are actually worse: iso.needscheck gfxboot test seems to look
up "check=1" in sectors where it might have been landing back
then but it's just not there by now; some kludgery is due in
branding-altlinux-sisyphus unfortunately.
2014-04-07 23:32:38 +04:00
Michael Shigorin
71db9c6701 syslinux: support forthcoming mediacheck feature
Just a humble config snippet for another squashfs;
note that @bootargs@ aren't expected at all this time.
2014-03-31 23:50:00 +04:00
Michael Shigorin
8419175c02 syslinux: help git grep *_size
It's not exactly obvious how install2_size, live_size or rescue_size
get defined since the variable names themselves get constructed;
help git grep these down.
2014-03-31 23:45:43 +04:00
Michael Shigorin
3f547e2504 documentation: use paths relative to toplevel dir
This change is done to reduce ambiguity in some cases;
the previous intention has been to ease navigation when
staying in a particular directory, now it's been changed
in favour of convenient toplevel `git grep' in fact.

Both variants have their pros and cons, I just find myself
leaning to this one by now hence the commit.  Feel free to
provide constructive criticism :)

Some path-related bitrot has also been fixed while at that.
2014-03-05 21:36:30 +04:00
Michael Shigorin
5f68010ae8 syslinux: add 40lateboot.cfg (_after_ ??live*.cfg)
Actually a copy of 10localboot.cfg with a different name
and sorting order so as to address #26608: there's no possibility
to make a LiveCD image that would boot itself by default if localboot
has been configured in.

It's only a partial solution as it doesn't override 10localboot
in case it's there already but a step in that direction...
2014-02-03 23:29:32 +04:00
Michael Shigorin
a0d0be1a71 syslinux: fixed live_rw configuration
The initial revision was brilliantly buggy: it is *so* apparent
that cdrom will never be actually used for rw slice that this
has evaded my attention rather completely.
2014-01-28 21:25:36 +04:00
Michael Shigorin
73fd4d337e syslinux: cosmetic space
"prompt" and subsequent first "label" were not separated
in any way while second "label" and forth were; let's make
the resulting isolinux.cfg a tiny bit more pretty.
2013-09-24 14:51:45 +04:00
Michael Shigorin
c7dadfd899 syslinux: ensure "default" line is there
alterator-netinst currently relies on "default"
being specified explicitly; it's wrong and it should
cope with the first "label" clause as well but we're
better off being strict to this script, not that one.

This commit should be no-op regarding syslinux itself.
2013-09-23 22:20:34 +04:00
Michael Shigorin
429ce58608 added live_rw support
There's a need for a separate boot target since
persistent storage is way slower than tmpfs indeed;
usbflash has a tendency for huge performance drops
given simultaneous writes in addition to reads which
are the bottleneck already.

make-initrd-propagator 0.18 introduced ext4 rw slice,
so the corresponding kernel module needs to be included
into stage1; see also #28289.

NB: not available on x86_64-efi (or hybrid GPT to be strict)
due to fragility of the hack being made: parted(8) panics
upon seeing that, and good ol' fdisk is unable to treat it.

NB: use/live/rw use/rescue/rx use/syslinux/ui/gfxboot
are unlikely to play very nice together due to the latter's
magic l10n: "session" label is taken by live_rw config snippet
and *is* translated in design-bootloader-source;
OTOH "rescue_session" is *not*.
2013-03-25 14:13:42 +04:00