summaryrefslogtreecommitdiffstats
path: root/liveinit.tpl (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-05liveinit: cosmetics Eric Hameleers1-1/+1
2020-09-05Expand the capabilities of the 'toram' boot parameter Eric Hameleers1-4/+17
toram=all Prevent writes to disk since we are supposed to run from RAM; equivalent to parameter "toram". toram=os Load OS modules into RAM, but write persistent data to USB.
2020-09-05Allow a custom domain name for the live host Eric Hameleers1-2/+16
New boot parameter: "domain=your_custom_domain", The domain component defaults to 'example.net'.
2020-06-16liveinit: the chown in busybox does not understand '--reference' Eric Hameleers1-1/+1
2020-05-12liveinit: give .Xresources file the correct ownership Eric Hameleers1-0/+1
2020-04-30Make "load=nvidia" work Eric Hameleers1-0/+8
Using a squashfs module created from nvidia-kernel and nvidia-driver packages. A sample script for creating this nvidia module was added to liveslak, see: ./contrib/scripts/makemod_nvidia. These two packages were created using the scripts from slackbuilds.org: https://slackbuilds.org/repository/14.2/system/nvidia-kernel/ https://slackbuilds.org/repository/14.2/system/nvidia-driver/ Note that the nvidia-driver package was created on a multilib system so that it could pick up 32bit compat libraries (needed for Steam among others), and the CURRENT variable was set to 'yes' so that the nvidia drivers are fully separated from mesa and xorg-server and do not overwrite system libraries: # COMPAT32="yes" CURRENT="yes" ./nvidia-driver.SlackBuild
2020-03-31Correctly read OS configuration from disk file if present Eric Hameleers1-2/+2
Liveslak can optionally load a OS config file "@DISTRO@_os.cfg" from within the 'livemain' directory on the boot medium, which contains "VARIABLE=value" lines, where VARIABLE is one of the following variables: BLACKLIST, KEYMAP, LIVE_HOSTNAME, LOAD, LOCALE, LUKSVOL, NOLOAD, RUNLEVEL, TWEAKS, TZ, XKB. During boot, any variable from that file will be set in the boot environment if it has not yet been defined in the init script. You can prevent this behaviour by adding 'cfg=skip' to the boot commandline.
2019-11-02liveinit.tpl: cleanup some code Eric Hameleers1-8/+0
These lines became obsolete with Linux kernel 2.6 (Slackware >= 11) when the kernel module extension changed from .o to .ko.
2019-11-02liveinit.tpl: explicitly tell udevadm to add newly detected hardware Eric Hameleers1-1/+1
The default for 'udevadm trigger' is 'change', not 'add', so the scriptline basically did nothing. This prevented some network devices from getting initialized because their subsystem is 'pci' and not 'net'. Thanks to Kanaya for debugging this with his Nvidia MCP51 ethernet device.
2019-05-11liveinit: correctly scan partitions and block devices Eric Hameleers1-7/+37
Do not make assumptions about how partitions and block devices are named. but check the OS instead (in /sys/block and /sys/class/block).
2019-02-15Fix PXE boot. Fix pxeserver. Add support for PXE-booting UEFI-based PC's Eric Hameleers1-10/+23
Note that UEFI PXE-boot is not yet working, I do not know why.
2019-01-23Quell the noise generated by dhcpcd on boot Eric Hameleers1-2/+2
2019-01-22liveinit: add debug pause for PXE network configuration Eric Hameleers1-0/+4
2019-01-22liveinit: mention on-screen that eth0 is fallback for failed nic detection Eric Hameleers1-1/+1
2019-01-22liveinit: fix a bug in PXE network device configuration Eric Hameleers1-1/+2
2019-01-17liveinit: clean up that remount command Eric Hameleers1-1/+1
2019-01-17Follow the Slackware init with respect to readonly root on boot Eric Hameleers1-4/+5
The live init script creates a /etc/fastboot file to prevent any file system check on boot. This is cleaner than hacking rc.S and failing.
2019-01-05init: the dhcpcd 'pid' file is in another location now. Eric Hameleers1-4/+15
2018-09-04Make the default language of the Live ISO configurable Eric Hameleers1-6/+23
Added a new parameter to 'make_slackware_live.sh' script: -l <localization> For example, create a liveslak ISO with dutch as the default language instead of US english: # ./make_slackware_live.sh -l nl Using this parameter you can onfigure a different default language for the resulting ISO image. The default localization if you do not supply this parameter remains "us" as before. The boot menu offers a selection of other languages/localizations to pick from (currently you can select any of 'be br da gb de de_ch es fr fr_ch it ja nl pt ru se us') but now you can create your own brand of liveslak ISO with your own language as the default.
2018-09-04On loading of 'distro_os.cfg' do not overwrite pre-defined values Eric Hameleers1-4/+13
Variables defined on the boot commandline have preference over any variable set in the .cfg file.
2018-09-04liveinit: cosmetical re-arrangement Eric Hameleers1-2/+3
2018-09-01Finish the zstd compression implementation in liveslak Eric Hameleers1-4/+23
The new zstd compression support for squashfs modules allows for a much snappier system because zstd decompression is 5 times faster than that of xz (see https://sourceforge.net/p/squashfs/mailman/message/35989805/), but at the expense of ISO sizes that are at least 10% bigger. The latter means that we have to do some more pruning of the XFCE and PLASMA5 images to make these fit in a CDROM and DVD image, respectively. Here are some initial benchmarks with PLASMA5 Live ISO images, booting in QEMU (times are in minutes:seconds): Stage ZSTD XZ --------------------------------------- Boot to runlevel 4 start 0:39 0:50 SDDM Login Manager visible 0:55 1:26 Plasma5 desktop ready 1:42 3:17 I also tested two of the bigger applications, measuring the time between entering the command in a terminal and having a usable application window: Stage ZSTD XZ ---------------------------------------- LO Writer window visible 0:17 0:34 Chromium window visible 0:09 0:14 It is obvious that a big Desktop Environment like Plasma5 where a lot of binaries have to be loaded from their squashfs modules benefits a lot from zstd, because after booting, the Plasma5 DE is available in roughly 53% of the time it takes when using xz compression. Zstd support in squashfs was added to Linux kernel 4.14. That means, no customimzation of Slackware is required to make the Live OS work from zstd-compressed squashfs modules. In order to *create* these zstd-compressed squashfs modules, you will need some custom packages at the moment, until they get added to Slackware-current: zstd and a rebuild squashfs-tools to add the lacking zstd support to mksqhashfs/unsquashfs.
2018-06-15Add support for on-disk OS configuration file Eric Hameleers1-1/+37
The configuration file must be in the liveslak main directory ('/liveslak' by default) and be called 'DISTRO_os.cfg' where DISTRO is the lower-case name of the distro ('slackware' by default). The following variables can be defined in the configuration file, one per line, in the format VAR=value: BLACKLIST, INIT, KEYMAP, LIVE_HOSTNAME, LOAD, LOCALE, LUKSVOL, NOLOAD, RUNLEVEL, TWEAKS, TZ, XKB. Since the configuration file is sourced by the live init script, it is OK to have comments in it that are prefixed with '#'.
2018-03-31Adapt to new behaviour of glibc-zoneinfo and the timeconfig script Eric Hameleers1-1/+1
2017-09-23liveinit.tpl: fix a sed syntax error in find_loop() Eric Hameleers1-1/+1
2017-09-19Add upslak.sh, a script to tweak the Live USB stick. Eric Hameleers1-10/+26
Purpose: to update the content of a Slackware Live USB stick. upslak.sh accepts the following parameters: -b|--nobackup Do not try to backup original kernel and modules. -d|--devices List removable devices on this computer. -h|--help This help. -i|--init <filename> Replacement init script. -k|--kernel <filename> The kernel file (or package). -m|--kmoddir <name> The kernel modules directory (or package). -n|--netsupport Add network boot support if not yet present. -o|--outdev <filename> The device name of your USB drive. -p|--persistence Move persistent data into new Live module. -r|--restore Restore previous kernel and modules. -s|--scan Scan for insertion of new USB device instead of providing a devicename (using option '-o'). -v|--verbose Show verbose messages. -w|--wait<number> Add <number> seconds wait time to initialize USB.
2017-07-31liveinit: reset freetype hinting params to defaults on every boot Eric Hameleers1-5/+9
2017-07-19Allow syntax 'livemedia=scandev:/path/to/live.iso' Eric Hameleers1-2/+28
Use the 'scandev' keyword instead of specifying an actual partition name if you want liveslak to scan all partitions for the ISO. Use this if you are not sure of the devicename and have no means of figuring it out.
2017-04-30Add boot-time tweak 'nsh' to disable new sub-pixel hinting in freetype Eric Hameleers1-0/+48
Freetype has enabled a 'new style' of sub-pixel hinting, based on the Infinality patch but simplified for speed. Some people feel that this new type of hinting is resulting in worse font rendering than with the old auto-hinter built into Freetype. The new tweak 'nsh' effectively disables the new type of sub-pixel hinting and makes Freetype fall back to the old behaviour. Usage: add "tweaks=nsh" to the boot commandline of the Live OS.
2017-01-23The liveinit script is a template too and cannot be used as-is. Eric Hameleers1-0/+0
This file was forgotten in the previous commit. It has now also been given a '.tpl' extension in the liveslak sources, to indicate that it is a template and not usable as-is. The 'make_slackware_live.sh' script parses the template file and performs a series of variable substitutions to generate the final 'init' script inside the initrd of the ISO image.
2017-01-23Add '2017' to the copyright statements. Eric Hameleers1-1/+1
2017-01-01DLACK: create a default config for localectl. Eric Hameleers1-0/+2
2016-08-15liveinit: sort the modules found with 'find' to assure correct loading order. Eric Hameleers1-1/+1
2016-07-31liveinit: allow modules to be organized in subdirectories. Eric Hameleers1-19/+29
The addons/ and optional/ directory will be searched for *.sxz modules even if they live in subdirectories. This allows you to organize your modules instead of dumping them all into a single directory. If a module fails to load (because it is corrupted for instance) liveinit will mention this on screen and write the modulename to a file '/mnt/live/modules/failed'.
2016-07-28liveinit: warn if a module could not be mounted. Eric Hameleers1-4/+9
2016-07-28liveinit: add a forgotten '$MARKER' prefix to a console message. Eric Hameleers1-1/+1
2016-07-22liveinit: Use Shift-AltGr as the Compose Key, seems to be the sanest choice. Eric Hameleers1-7/+8
As documented in file "/usr/share/X11/xkb/rules/xorg.lst": lv3 Key to choose 3rd level lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose And as explained in https://help.ubuntu.com/community/ComposeKey : There are four levels of keyboard entry. Selecting a level involves holding a set of modifier keys down, this changes the function of all the other keys on the keyboard. The levels are, by default: Level Modifier Keys produced ------------------------------- 1 None Lowercase letters, numbers, etc. 2 Shift Uppercase letters, symbols printed on keyboard, etc. 3 AltGr Extra symbols not printed on the keyboard, some dead keys. 4 AltGr-Shift Even more symbols, more dead keys. Dead keys are keys that appear to do nothing at first; they apply an accent to the next letter you type. Third and fourth level choosers: Holding down the AltGr key and pressing another key will produce a third level character. Holding down the AltGr and Shift keys (the order can be important) and pressing another key will produce a fourth level character. Note that some combinations are dead keys; an additional key-press is required whereupon a diacritic will be added to the final character keyed. Compose key: Keying the combination Shift+AltGr (in that order), releasing these keys, then entering two other keys will produce a special character.
2016-07-22liveinit: replace instances of 'live' username with '${LIVEUID}'. Eric Hameleers1-6/+8
2016-07-20liveinit: use AltGr as Compose Key only for US keyboard layouts. Eric Hameleers1-11/+24
2016-07-20liveinit: optionally specify XkbOptions through the "xkb" boot parameter. Eric Hameleers1-10/+25
Variable XKB can be set to "XkbLayout,XkbVariant,XkbOptions". For example "xkb=ch,fr,compose:sclk,grp:alt_shift_toggle" Note that the XkbOptions can be several comma-separated values. The XkbLayout and XkbVariant values must not contain commas. You can still set just the XkbVariant by adding something like "kbd=ch xkb=,fr"
2016-06-23liveslak: enhance the boot debug a bit. Eric Hameleers1-5/+11
Some explanation about what the 'debug' boot parameter does: 'debug=1' => enable some strategic pauses during boot while showing 'mount' and 'blkid' output, so you can scroll back and inspect the proceedings (just 'debug' also enables level 1). 'debug=2' => enable verbose script execution in addition to the above pause moments. 'debug=3' => verbose script execution but without the mount/blkid info during the strategically placed pauses. 'debug=4' => dumps you into a debug shell right before the switch_root. No other pauses other debugging aids are offered like with levels 1, 2 or 3. But you can check the health of your Live system before Slackware boots up.
2016-06-20Allow persistence and (luks) containers in subdirectories. Eric Hameleers1-5/+5
2016-06-15Deal properly with the user enabling any optional/addon kernel modules. Eric Hameleers1-0/+17
When the user loads a non-system squashfs module (for instance from the optional or addons subdirectories) and this contains kernel modules, then the kernel must be made aware using a "depmod -a" call. The previous implementation did this at the end of rc.local but that was too late in the boot process: the kernel needs to be aware of the new modules straight from the start, so that udev can enable the hardware which is supported by these new kernel drivers on time. So the depmod call was moved to the live init script (inside the initrd).
2016-06-15liveinit: use boot parameter "nop=wipe" to erase existing persistent data. Eric Hameleers1-0/+16
Sometimes your Slackware Live develops issues because the persistent data storage is conflicting with new packages or data which you added to the Live OS. This can be fixed by erasing persistent data, thereby reverting the Live OS to its initial state - i.e. when the USB stick was booted for the first time. For this purpose the functionality of the existing "nop" boot parameter was extended to allow the '=' and specifying a value of 'wipe'. Note that the persistent data will be wiped before the Live OS boots, and it does not matter if you are using a persistence directory or a container file for storing persistent data. This wipe includes all your persistent personal data in /home/ unless you have moved your /home into a container file on the USB stick.
2016-06-15liveinit: DEBUG=4 dumps you into a debug shell right before the switch_root. Eric Hameleers1-2/+3
After doing your debug checks you can then type "exit" to exit the debug shell. The init script will continue with the switch_root and boot the OS.
2016-05-29Silence a (harmless) error during network boot. Eric Hameleers1-1/+1
We bind-mount /run if we started dhcpcd - so it can not be un-mounted at the end of the init.
2016-05-28Ensure that a PXE-booted Slackware Live will shutdown properly. Eric Hameleers1-0/+10
In case of network boot, do not kill the network, umount NFS prematurely or stop udevd on shutdown.
2016-05-18Git rid of a (harmless) error message during boot. Eric Hameleers1-4/+8
2016-05-17Call 'depmod' when a loaded optional/addon contains kernel modules. Eric Hameleers1-1/+1
2016-05-17Disable the SSH daemon by default and use a tweak to start it on demand. Eric Hameleers1-0/+4
The passwords for users 'live' and 'root' are easy to guess. When you use the Slackware Live Edition on a public network, you do not want people to use an exposed SSH login. If you still want to have the SSH daemon enabled on boot, use the 'tweak' boot parameter and provide a 'ssh' value as follows: "tweak=ssh" This can be combined with other tweaks of course, all comma-separated.