| Commit message (Collapse) | Author | Files | Lines |
|
Do not make assumptions about how partitions and block devices are named.
but check the OS instead (in /sys/block and /sys/class/block).
|
|
Note that UEFI PXE-boot is not yet working, I do not know why.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
Variables defined on the boot commandline have preference over
any variable set in the .cfg file.
|
|
|
|
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.
|
|
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 '#'.
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
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'.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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"
|
|
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.
|
|
|
|
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).
|
|
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.
|
|
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.
|
|
We bind-mount /run if we started dhcpcd - so it can not be un-mounted
at the end of the init.
|
|
In case of network boot, do not kill the network, umount NFS prematurely
or stop udevd on shutdown.
|
|
|
|
|
|
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.
|
|
The functionality of the old "nga" parameter is now implemented as a "tweak".
Tweaks are customizations that cater to specific hardware needs.
Syntax: tweaks=tweak1[,tweak2,[,...]]
Example: tweaks=nga,tpb
Currently implemented tweaks:
- nga => no glamor acceleration (X.Org tweak).
- tpb => enable TrackPoint scrolling while holding down middle mouse button.
- syn => start the syndaemon for better support of Synaptics touchpads.
|
|
Provided by GigglesUK, thanks.
|
|
|
|
This default behaviour can be prohibited by applying an extended 'hostname'
boot parameter as follows:
hostname=your_custom_hostname,fixed
The qualifier 'fixed' after the comma will prevent the hostname from being
changed to something else than 'your_custom_hostname'.
|
|
|
|
|
|
New boot parameter:
dhcpwait=<numseconds>
Maximum wait time for the DHCP client to configure a network interface
(new default: 20 seconds, was 10 seconds).
|
|
|
|
It is now possible to PXE-boot the Slackware Live Edition.
Extract the content of the ISO to (for instance) a new directory
called 'slackware-live' below your TFTP server's /tftproot directory
and then add lines like this to your pxelinux.cfg/default file:
label liveslak
kernel slackware-live/boot/generic
append initrd=slackware-live/boot/initrd.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=us tz=Europe/Amsterdam locale=us_EN.utf8 nfsroot=192.168.0.1:/tftpboot/slackware-live hostname=pxelive
Two new boot parameters have been added to support a NFS root:
* nfsroot => mandatory parameter defines the IP address of the NFS server
and the path to the extracted content of Slackware Live Edition.
* nic => parameter defining the driver for the network card (optional
and usually not needed because UDEV will figure out the driver for you),
the interface name (optional),
the IP configuration method (static IP or DHCP),
and in case of a static IP, the required parameters ipaddress, netmask
and an optional gateway.
Note that the 'nic' parameter is optional if you have a DHCP server in
your LAN: Slackware Live will figure out what the interface name is.
Syntax of these parameters:
nfsroot=ip.ad.dr.ess:/path/to/liveslak
nic=<driver>:<interface>:<dhcp|static>[:ipaddr:netmask[:gateway]]
Example use of these parameters:
nfsroot=192.168.1.1:/tftproot/slackware-live
nic=auto:eth0:static:10.0.0.21:24:
nic=:eth1:static:192.168.1.6:255.255.255.248:192.168.1.1
|