Commit Graph

77 Commits

Author SHA1 Message Date
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
Michael Shigorin
c12f0c17bc syslinux: drop "menu label" for gfxboot
The issue is that gfxboot's gettext support works on "label"
strings but doesn't work properly on "menu label" ones as of 4.04
(the "menu label" translations pop up in the "Loading ..." window
but menu items themselves are unaffected thus untranslated).

NB: debian wheezy's syslinux-4.05 package patchset contains
somewhat related 07-gfxboot-menu-label.patch; might be worth
attention given that debian folks participate in upstream.
2013-02-11 21:29:15 +04:00
Michael Shigorin
9ff596db7f syslinux: lowered livecd boot priority
The reason is that the most interesting live images by now are
installable ones, and while configurable boot order is not there yet
the "classic" livecd images will require manual choice to boot.

Thanks sem@ for reminding of that FR (which is still open).
2013-01-20 23:11:57 +04:00
Ildar Mulyukov
4302943861 documentation: fix bulleted lists marked with '+' 2012-11-22 10:56:57 +06:00
Michael Shigorin
d5cf1ff3eb renamed menuitem-grub feature to relname
Its immediate purpose was influencing the GRUB boot menu
*but* the implemented mechanism is actually a part of the
long planned text branding and might be further merged
into branding when hierarchical features finally chime in.

So let's get the naming straight before it breeds.
2012-09-12 20:12:41 +03:00
Michael Shigorin
f44908ca78 proofreading of the merged commits
File contents should be correct.
2012-09-12 19:39:42 +03:00
Mike Radyuk
a35b5fbc21 added MENUITEM variable 2012-09-12 19:19:37 +03:00
Michael Shigorin
b21353a00c complex subprofile delimiter changed ("/" -> "@")
That sub/stage2/install2 was somewhat clumsy actually as it looked
like a hierarchical thing while being a substitution thing:
generic stage2 would get put in place renamed as install2.

This could only get worse with hierarchical features which have
already been both requested and considered for quite a time,
and "stage2 at install2" reads much more naturally.
2012-08-11 20:11:17 +03:00
Michael Shigorin
9c16a9e6ff rescue += boot off sda/sdb
There's no (convenient) "eject" at times, so it's better to provide
extra ways of booting right away.
2012-08-08 20:39:26 +04:00
Michael Shigorin
cbfc3db882 syslinux: honour META_VOL_SET for boot menu
This trots along the TODO item on text branding
and hopefully helps Michael Radyuk (torabora)
with his feature request to tweak the installer's
"Install ALT Linux" label; as an example, Simply
will now offer to "Install Simply Linux".
2012-08-06 23:58:26 +04:00
Michael Shigorin
46e3c94707 syslinux: no ui, no escape
This one was suggested by enp@ for industrial use where
some extra protection for the boot process might be quite
desirable.

If no syslinux ui was specified (the stock configuration paths
ensure there is one) or if it was set to "none" explicitly,
then there's no boot: prompt (let alone any menu).

If there's a need to ensure that the boot process is not
interruptable by Ctrl/Shift/Caps Lock/Scroll Lock.
2012-07-31 13:51:34 +04:00
Michael Shigorin
cb764516eb build-vm: standalone build is a must, too
The problem was spotted by Alexander Bandura:
bin/tar2vm wasn't present in the generated profile.

I considered extending features.in/Makefile to include
bin/ alongside lib/ but that would make the helper's location
unpredictable (unless BUILDDIR is specified explicitly) so
restricting sudoers would be harder; worse yet, the copied file
would come with write access for the user building an image.

The implications in restricted case are complex enough anyways
so the recommended implementation would only include a fixed
readonly location like /usr/share/mkimage-profiles/bin/tar2vm
as laid out in doc/vm.txt, and that means it's in the metaprofile
not a generated profile.
2012-07-18 16:06:15 +03:00
Michael Shigorin
aa0f5c94e4 05live.cfg: drop "splash" by default
It's configured by plymouth feature when needed;
install2 bootargs support is generalized a bit
to become stage2 one as was intended anyways.
2012-06-25 19:29:38 +03:00
Michael Shigorin
2935c44dbb syslinux: get rid of ^s with gfxboot
Keyboard accelerators rather make sense
with menu/vesamenu UI.
2012-06-18 20:55:52 +03:00