Commit Graph

42 Commits

Author SHA1 Message Date
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
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
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
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
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
Mike Radyuk
a35b5fbc21 added MENUITEM variable 2012-09-12 19:19:37 +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
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
8989fc2771 added plymouth feature
An initial draft of it was done half a year ago but several tricky
thingies had kept the code from showing up as it was rather brittle
and incomplete.

This implementation involves quite a few changes all over the place
but finally works good enough for live and installer images.

Please pay attention to the versions of these packages:
- installer-feature-setup-plymouth (0.3.2-alt1+)
- branding-altlinux-sisyphus (20110706-alt2+ if used)
- plymouth (0.8.3-alt20.git20110406+)

See also:
- http://www.altlinux.org/Branding
- http://www.altlinux.org/Plymouth
2012-06-14 17:15:24 +03:00
Michael Shigorin
b5e6906b56 syslinux configuration revisited
- incompatible change (to fix the rather broken early style):
  use/syslinux/ui-% is now use/syslinux/ui/%;

- default timeout changed to 9 seconds (long enough and keeps
  the countdown in a single figure);

- added totaltimeout of 300 seconds;

- provided live kiosk images with almost-instant boot by default;

...and some other assorted tweaks here and there, sorry.
2012-03-31 21:08:09 +03:00
Michael Shigorin
dbed41bf81 syslinux: *.cfg tweaks
- parameter order fixed to "simple first, then those with args"
  and documented as the preferred one (might be debatable, okay)
- added "lowmem" to live so it avoids a ramdisk but works off media
  (it's a knob for propagator)
- added "fastboot" everywhere (but failsafe install) to make use
  of Linux 2.6.29+ async controller initialization
- every snippet got a trailing newline so that isolinux.cfg is readable

And a fancy makefile to check for shortcut dups!
2011-12-19 22:32:59 +02:00
Michael Shigorin
bc8251f3f8 features.in/syslinux: bump livecd boot priority
As noted by imz@ in #26608, a LiveCD is the more preferred
boot target to a local drive usually (just as was discussed
and implemented for ALT Linux 4.0 IIRC).
2011-11-24 13:11:17 +02:00
Michael Shigorin
ad68750855 experimental server-ovz-netinst image
It's now possible to:
- make distro/server-ovz.iso;
- make distro/server-ovz-netinst.iso;
- publish the former image's contents on ftp.linux.kiev.ua;
- boot the latter (~17M) image and enjoy the netinstall ;-)

The catch is that the stage2 (altinst file) location has to be
hardwired into syslinux config snippet for things to happen
automatically -- even if it can be specified manually in case
of failure.

The other catch is that currently a netinstall image is somewhat
tied to the particular image it installs since stage1 kernel and
stage2 modules must correspond strictly (the typical symptoms of
the glitch would be missing mouse driver and weird "permission
denied" errors during an attempt to partition the hard drives).

It might be desirable to provide multi-distro netinstall image...
2011-11-19 22:05:11 +02:00
Michael Shigorin
102aa3851d syslinux *.cfg: replace banner
Back then I didn't come up with anything smarter than
"mkimage-profiles 2.0" (with my tongue in a cheek),
but as m-p has grown up to 0.4 it's time to fix this.

When done properly, all of the string should be brandable
(with some sane default value inheriting from image name),
but let's do it at least bit by bit.
2011-11-07 00:01:36 +02:00
Michael Shigorin
912d86c4af features.in/syslinux: tweak 00gfxboot.cfg
The same change as in m-p-d f1c5dd0 (discussed in #22486).
Seems it wasn't the culprit regarding the "BIOS won't boot
off this DVD" but is also recommended in README.gfxboot.
2011-11-04 16:54:41 +02:00
Michael Shigorin
812883facc features.in/syslinux: new 10removable.cfg
Borrowed from wmsmall iso by kostyalamer@.
2011-11-04 16:54:41 +02:00
Michael Shigorin
a3c0d2bbc3 initial features.in/dos
This was tackled before but it took raorn@'s hint regarding
sys-freedos-linux (ms-sys has no bootsectors compatible with
freedos currently) and gns@' quick rush at make-freedos-floppy
script to wrap things up.

Should be further developed to become actually useful though.
2011-11-04 16:15:30 +02:00
Michael Shigorin
3d10c59d2b test-based ramdisk size for live squashfs images
Implementation based on m-p-d::profiles/scripts.d/03-syslinux
(but heavily modified for m-p of course)
2011-11-04 16:15:30 +02:00
Michael Shigorin
f5a8b89381 stage2 based live subprofiles, updated docs
- introduced generic stage2 subprofile (non-standalone)
- ported installer and rescue over to stage2/{install2,rescue}
- initial stage2/live (needs more work for sure)
- use make-initrd-propagator
- updated and somewhat extended doc/

NB: mind #26133, #26134
2011-11-04 16:15:30 +02:00
Michael Shigorin
0e57149de9 initial rescue image
NB: this implementation is awfully cut-n-paste one,
there are lots of common code with install2
which are subject to careful surgery
2011-11-04 16:15:30 +02:00
Michael Shigorin
1941e52780 syslinux: add vesamenu ui support
...and switch syslinux.iso over to it: syslinux-3.86-alt4's
(actually opensuse's) gfxboot hackery doesn't properly init
video mode so memdisk-started freedos has console troubles
(and yesterday's hdt.c32 hassles could be avoided as well
it seems).  And that's being implemented.

Mid-term plan: try switching to syslinux4.

PS: CLI fallback was actually a bug in hdt from syslinux <= 3.86-alt3
2011-11-04 16:15:29 +02:00
Michael Shigorin
3f012958dc server-ovz; KDEFAULT; syslinux features reworked
Renamed server-light.iso into server-ovz.iso to avoid brand dilution
and confusion (rider@'s server-light rather favours kvm, anyways).

Introduced KDEFAULT: a reliable default kernel chooser knob
since apt's regex ordering proved pretty unreliable.
Spelling things explicitly is better anyways.

SYSLINUX related features undergone pretty major rewrite
(that includes syslinux, hdt and memtest).

The problem to tackle was features.in/syslinux/generate.mk
assuming syslinux and pciids available in build *host* system;
this well might not be the case (or worse yet, those can be
just different).  So now we're a bit less elegant and a bit
more enterprise, stuffing things into chroot and working there.

Bunch of other fixes along the road, including ; to name a few:
- fixed memtest entry (overlooked while renaming SYSLINUX_ITEMS)
- new and shiny doc/CodingStyle
- gfxboot, stage1 target chain, hdt tweaks
- distro.mk rehashed
- README++
- TODO: dropped (integer overflow anyways)
  + actually moved off-tree to reduce commit spam
- s,\.config\.mk,distcfg.mk,g
- doc/profiles.mk.sample: sample ~/.mkimage/profiles.mk
- ...and assorted fixups/additions

Sorry for convoluted commit, this would have been pretty hard to
rework into some really readable shape (and you might be interested
in the original repo's history horrors then, anyways).
2011-11-04 16:15:29 +02:00
Michael Shigorin
d93989a3ff initial logging subsystem
Now we don't dump all the gory details onto thee
but rather log them handsomely and present only
the most important details by default; use DEBUG=1
and/or BUILDLOG=/path/to/file to tweak.

Also introduced IMAGEDIR and IMAGENAME.

The rest:
- ovz-smp is no more
- base-l10n pkglist (suggested by Alexander Kuprin)
- clean.mk:
  + fixed an oversight: the test result erroneously applied
    only to the first command of several ones that should be
    run iff build/ is a symlink
  + drop implicit rules (it's no C code)
- Makefile: more reasonable iso names
- image.in/Makefile: .disk/date too
2011-11-04 16:15:29 +02:00
Michael Shigorin
a9e161b40d gfxboot brought to reasonable shape
Also included:
- reworked syslinux feature inclusion
- syslinux: s/textprompt/prompt/
- README++
2011-11-03 20:41:49 +02:00
Michael Shigorin
c8b578dd9a features' day
- get rid of $dest
- work on features.in/syslinux
- README++
2011-11-03 20:39:01 +02:00