This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tech:linux:slackware:start [2015/07/18 21:37] rk4n3 |
tech:linux:slackware:start [2018/01/11 13:01] (current) rk4n3 |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Technical Information: Slackware Topics ====== | ====== Technical Information: Slackware Topics ====== | ||
+ | [[tech:linux:slackware:kernel:start|low-latency kernel]] | ||
===== Zenteknix Standard Installation ===== | ===== Zenteknix Standard Installation ===== | ||
* Plan out host name and IP address, configure DHCP server if relevant | * Plan out host name and IP address, configure DHCP server if relevant | ||
- | * Install from DVD, choosing generic kernel (omitting "huge" kernel) | + | * Install from DVD, choosing generic kernel (omitting "huge" kernel) - [[tech:linux:slackware:pkgskip|here]] is what packages I prefer to de-select (not install) |
* Create initrd, using command generated by:<code>chroot /mnt /usr/share/mkinitrd/mkinitrd_command_generator.sh</code> ... a fairly commonly-generated command: <code>chroot /mnt mkinitrd -c -k 3.10.17 -f ext4 -r /dev/sda1 -m usb-storage:ehci-hcd:ehci-pci:usbhid:hid_generic:uhci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz</code> | * Create initrd, using command generated by:<code>chroot /mnt /usr/share/mkinitrd/mkinitrd_command_generator.sh</code> ... a fairly commonly-generated command: <code>chroot /mnt mkinitrd -c -k 3.10.17 -f ext4 -r /dev/sda1 -m usb-storage:ehci-hcd:ehci-pci:usbhid:hid_generic:uhci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz</code> | ||
* Edit /mnt/etc/lilo.conf to add initrd line, with a KVM-based VM using virtio, add:<code>disk = /dev/vda | * Edit /mnt/etc/lilo.conf to add initrd line, with a KVM-based VM using virtio, add:<code>disk = /dev/vda | ||
Line 37: | Line 38: | ||
* ''restrict <ntpserveripaddr> mask 255.255.255.255 nomodify notrap noquery'' | * ''restrict <ntpserveripaddr> mask 255.255.255.255 nomodify notrap noquery'' | ||
- | ===== Zenteknix "liveslack" Modifications ===== | + | ===== Trivia ===== |
+ | |||
+ | ==== Allow your login to reboot/shutdown from XFCE ==== | ||
+ | Put your login in the ''wheel'' group, and in ''/etc/polkit-1/rules.d/50-default.rules'':<code> | ||
+ | polkit.addRule(function(action, subject) { | ||
+ | if (subject.isInGroup("wheel")) { | ||
+ | return polkit.Result.YES; | ||
+ | } | ||
+ | });</code> | ||
+ | |||
+ | ==== Python ''setuptools'' installation ==== | ||
+ | See [[https://packaging.python.org/tutorials/installing-packages|official documentation ...]] | ||
+ | * Retrieve the ''get-pip.py'' script from the official documentation site | ||
+ | * Run ''python get-pip.py'', which will install ''pip'' as well as ''pysetuptools'' | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Zenteknix "FreeSlack Live" Modifications ===== | ||
+ | After installing slackware, and sanitizing it to FreeSlack, these steps can be used to convert the installation to an operationally "live" variant, which minimizes changes to disk during routine operation. | ||
==== Migrate the ''/var'' footprint to a "live"-capable arrangement ==== | ==== Migrate the ''/var'' footprint to a "live"-capable arrangement ==== | ||
- | * Create directory ''/var/live'' \\ ... this will house the memory-resident "live" portion of the ''/var'' footprint | + | * Create directory to house the memory-resident "live" portion of the ''/var'' footprint \\ ''mkdir /var/live'' |
- | * Initialize the "live" area: ''mount -t tmpfs tmpfs /var/live -o nodev,uid=0,gid=0,size=100m'' | + | * Initialize the "live" area: \\ ''mount -t tmpfs tmpfs /var/live -o nodev,uid=0,gid=0,size=100m'' |
* Migrate these ''/var'' subdirectories to under the live portion, one at a time, with: \\ ''cd /var ; mv subdirname live ; ln -s live/subdirname'' \\ Including: ''cache'', ''lib'', ''lock'', ''log'', ''run'', ''spool'', ''state'', ''tmp'' | * Migrate these ''/var'' subdirectories to under the live portion, one at a time, with: \\ ''cd /var ; mv subdirname live ; ln -s live/subdirname'' \\ Including: ''cache'', ''lib'', ''lock'', ''log'', ''run'', ''spool'', ''state'', ''tmp'' | ||
* Initialize the storage "layers" from the current "live" footprint | * Initialize the storage "layers" from the current "live" footprint | ||
Line 50: | Line 71: | ||
==== Design and Prune the Storage Layers ==== | ==== Design and Prune the Storage Layers ==== | ||
* The /usr/share/mime directory is re-built at every boot, so migrating that into the "live" footprint makes sense: \\ ''mkdir -p /var/static/usr /var/live/usr/share'' \\ ''chmod 755 /var/static/usr /var/live/usr /var/live/usr/share'' \\ ''cd /usr/share'' \\ ''mv mime /var/live/usr/share'' \\ ''ln -s /var/live/usr/share/mime'' \\ ''rsync -ai /var/live/usr/ /var/static/usr/'' | * The /usr/share/mime directory is re-built at every boot, so migrating that into the "live" footprint makes sense: \\ ''mkdir -p /var/static/usr /var/live/usr/share'' \\ ''chmod 755 /var/static/usr /var/live/usr /var/live/usr/share'' \\ ''cd /usr/share'' \\ ''mv mime /var/live/usr/share'' \\ ''ln -s /var/live/usr/share/mime'' \\ ''rsync -ai /var/live/usr/ /var/static/usr/'' | ||
- | * | + | * The rationale behind the various things residing under the ''/var'' footprint can be a bit diverse, and there are some of these things that benefit from some persistence across a reboot. To accommodate this (as well as minimize in-memory space occupied by the "live" footprint), one can migrate selected subdirectories from the directory tree under ''/var/live'', in a rather "surgical" fashion, to a location designated as the "persistent storage layer" (I chose ''/opt/sys/var''), and populate the ''/var/live'' tree with the symbolic links to the respective locations. In doing this with a stock slackware installation, I start out with these links:<code>/var/live/log/setup -> /opt/sys/var/log/setup |
+ | /var/live/log/scripts -> /opt/sys/var/log/scripts | ||
+ | /var/live/log/removed_scripts -> /opt/sys/var/log/removed_scripts | ||
+ | /var/live/log/removed_packages -> /opt/sys/var/log/removed_packages | ||
+ | /var/live/log/packages -> /opt/sys/var/log/packages | ||
+ | /var/live/lib/virtuoso -> /opt/sys/var/lib/virtuoso | ||
+ | /var/live/lib/rpm -> /opt/sys/var/lib/rpm | ||
+ | /var/live/cache/ldconfig -> /opt/sys/var/cache/ldconfig | ||
+ | /var/live/cache/fontconfig -> /opt/sys/var/cache/fontconfig</code> | ||
+ | * After migrating subdirectories and populating the respective links under ''/var/live'', synchronizing to ''/var/static'' should be performed. This can either be done manually by repeating the process under ''/var/static'', or it can be scripted, or (if no other undesired changes have occurred under ''/var/live''): \\ ''rsync -ai /var/live/ /var/static/'' | ||
==== Adapt the startup scripts to engage the "live" footprint ==== | ==== Adapt the startup scripts to engage the "live" footprint ==== | ||
Line 56: | Line 86: | ||
if [ -d /var/live/log ]; then | if [ -d /var/live/log ]; then | ||
/sbin/mount -v -n -t tmpfs tmpfs /var/live -o nodev,uid=0,gid=0,size=100m | /sbin/mount -v -n -t tmpfs tmpfs /var/live -o nodev,uid=0,gid=0,size=100m | ||
+ | /sbin/mount -v -n -t tmpfs tmpfs /tmp -o nodev,uid=0,gid=0,size=256m | ||
fi</code> | fi</code> | ||
* Add to ''/etc/rc.d/rc.S'' before Configure ISA Plug-n-Play devices:<code># Add /var/live to /etc/mtab, and sync from static: | * Add to ''/etc/rc.d/rc.S'' before Configure ISA Plug-n-Play devices:<code># Add /var/live to /etc/mtab, and sync from static: | ||
+ | /sbin/mount -f tmpfs /tmp -t tmpfs | ||
/sbin/mount -f tmpfs /var/live -t tmpfs | /sbin/mount -f tmpfs /var/live -t tmpfs | ||
/usr/bin/rsync -ai /var/static/ /var/live/</code> | /usr/bin/rsync -ai /var/static/ /var/live/</code> | ||
+ | |||
+ | ==== Packages needed for guitarix on slackware/FreeSlack ==== | ||
+ | * celt-0.11.3-x86_64-1_SBo.tgz | ||
+ | * libwebp-0.4.3-x86_64-2_SBo.tgz | ||
+ | * pysetuptools-18.2-x86_64-1_SBo.tgz | ||
+ | * spice-protocol-0.12.11-noarch-1_SBo.tgz | ||
+ | * celt051-0.5.1.3-x86_64-1_SBo.tgz | ||
+ | * lilv-0.22.0-x86_64-1_SBo.tgz | ||
+ | * serd-0.22.0-x86_64-1_SBo.tgz | ||
+ | * sratom-0.4.6-x86_64-1_SBo.tgz | ||
+ | * guitarix-0.34.0-x86_64-1_SBo.tgz | ||
+ | * lv2-1.12.0-x86_64-1_SBo.tgz | ||
+ | * set_rlimits-1.3.0-x86_64-1_SBo.tgz | ||
+ | * tunctl-1.5-x86_64-2_SBo.tgz | ||
+ | * jack2-1.9.10-x86_64-1_SBo.tgz | ||
+ | * numpy-1.9.1-x86_64-1_SBo.tgz | ||
+ | * six-1.10.0-x86_64-1_SBo.tgz | ||
+ | * usbredir-0.7-x86_64-1_SBo.tgz | ||
+ | * ladspa_sdk-1.13-x86_64-4_SBo.tgz | ||
+ | * opus-1.1.2-x86_64-1_SBo.tgz | ||
+ | * sord-0.14.0-x86_64-1_SBo.tgz | ||
+ | * webkitgtk-2.4.11-x86_64-1_SBo.tgz | ||
+ | * liblrdf-0.5.0-x86_64-1_SBo.tgz | ||
+ | * pyparsing-2.0.3-x86_64-1_SBo.tgz | ||
+ | * spice-0.12.7-x86_64-1_SBo.tgz | ||
+ | |||
\\ | \\ | ||
// Links: [[:tech:linux:start|Linux Info]] ... [[:tech:start|Tech Info]] // | // Links: [[:tech:linux:start|Linux Info]] ... [[:tech:start|Tech Info]] // | ||