User Tools

Site Tools


tech:linux:slackware:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tech:linux:slackware:start [2015/07/19 11:05]
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/''​
-  * I have these links: +  * 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" (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/​setup ​|  ​->  |/​opt/​sys/​var/​log/​setup ​ | +/​var/​live/​log/​scripts ​            ​-> /​opt/​sys/​var/​log/​scripts 
-    |/​var/​live/​log/​scripts ​|  ​->  |/​opt/​sys/​var/​log/​scripts ​ | +/​var/​live/​log/​removed_scripts ​    ​-> /​opt/​sys/​var/​log/​removed_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/​removed_packages ​|  ​->  |/​opt/​sys/​var/​log/​removed_packages ​ | +/​var/​live/​log/​packages ​           -> /​opt/​sys/​var/​log/​packages 
-    |/​var/​live/​log/​packages ​|  ​->  |/​opt/​sys/​var/​log/​packages ​ | +/​var/​live/​lib/​virtuoso ​           -> /​opt/​sys/​var/​lib/​virtuoso 
-    |/​var/​live/​lib/​virtuoso ​|  ​->  |/​opt/​sys/​var/​lib/​virtuoso ​ | +/​var/​live/​lib/​rpm ​                ​-> /​opt/​sys/​var/​lib/​rpm 
-    |/​var/​live/​lib/​rpm ​|  ​->  |/​opt/​sys/​var/​lib/​rpm ​ | +/​var/​live/​cache/​ldconfig ​         -> /​opt/​sys/​var/​cache/​ldconfig 
-    |/​var/​live/​cache/​ldconfig ​|  ​->  |/​opt/​sys/​var/​cache/​ldconfig ​ | +/​var/​live/​cache/​fontconfig ​       -> /​opt/​sys/​var/​cache/​fontconfig</code
-    |/​var/​live/​cache/​fontconfig ​|  ​->  |/​opt/​sys/​var/​cache/​fontconfig ​ | +  ​* 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/​''​
-    |/var/​static/​cache/​fontconfig |  - ​|/​opt/​sys/​var/​cache/​fontconfig ​ | +
-    ​|/​var/​static/​cache/​ldconfig |  ->  |/opt/sys/var/cache/​ldconfig ​ | +
-    |/var/static/log/setup |  ->  |/​opt/​sys/​var/​log/​setup ​ | +
-    |/var/static/​log/​removed_packages |  ->  |/opt/sys/var/log/​removed_packages ​ | +
-    |/​var/​static/​log/​scripts |  ​->  |/opt/sys/var/log/scripts ​ | +
-    |/​var/​static/​log/​removed_scripts |  ->  |/​opt/​sys/​var/​log/​removed_scripts ​ | +
-    |/​var/​static/​log/​packages |  ->  |/​opt/​sys/​var/​log/​packages ​ | +
-    |/​var/​static/​lib/​virtuoso |  ->  |/​opt/​sys/​var/​lib/​virtuoso ​ | +
-    |/​var/​static/​lib/​rpm |  ->  |/​opt/​sys/​var/​lib/​rpm ​ |+
  
 ==== Adapt the startup scripts to engage the "​live"​ footprint ==== ==== Adapt the startup scripts to engage the "​live"​ footprint ====
Line 74: 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]] //
  
tech/linux/slackware/start.1437321951.txt.gz · Last modified: 2015/07/19 11:05 by rk4n3