Skip to content
This repository has been archived by the owner on Oct 31, 2021. It is now read-only.
/ SaLT-scripts Public archive

(Obsolete) A collection of scripts that deal with SaLT, can build live modules and that can create a ready-to-burn Live ISO.

Notifications You must be signed in to change notification settings

Salix-OS/SaLT-scripts

Repository files navigation

                                           ┌──────────────┐
                                           │ SaLT scripts │
                                           └──────────────┘


I/ What are “SaLT” and “SaLT scripts”?
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
  → SaLT stands for Salix Live Tools. With these tool set, you can create an initrd for booting
    live media. SaLT bundle a basic tree structure for booting but it aims at creating an initrd
    and so is not a complete solution for creating a Live CD.
  → SaLT scripts are a collection of scripts that deal with SaLT, can build live modules and that
    can create a ready-to-burn Live ISO.

  Both these tools are free (GPL v3+) and maintained by the same team:
    ▸ JRD <[email protected]>
    ▸ Shador <[email protected]>
    ▸ Akuna <[email protected]>


II/ Minimum requirements
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
  Some software must be installed in the host system. I will list them as named in Slackware/Salix.
  Required:
   - spkg or pkgtools
   - coreutils, sed, grep, tar, gzip, bzip2, xz, findutils
   - glibc, sysfsutils, gcc, glib2, automake, autoconf, make
   - wget
   - fuse, util-linux-ng
   - squashfs-tools
   - grub2
   - perl
   - imagemagick
   - cdrtools
  Optional:
   - fake-uname (could be usefull if your running kernel is different that the one you bundle)
   - xcf2png (if you provide a background image in XCF format)
  Some software need to be available as packages for the target Live system. These are:
   - kernelsource (exploded in a directory, linked from /usr/src/ ; or installed)
   - kernelive
   - curlftpfs, sshfs(-fuse)


III/ Create an ISO
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
  For creating an ISO, you only need few things actually.
  You will need a kernelive package, a list of packages (organized by live modules),
  some custom packages (like an installer, the persistence wizard, …), the standard
  kernel packages (image, headers, …), a list of liveenv modules, and a PNG image for
  the bootloader background.

  1/ kernelive
  ------------
    Kernelive is a side project available here:
        https://salix.svn.sourceforge.net/svnroot/salix/kernelive/trunk
    ◆ Get the kernelsource of the kernel you want to build.
    ◆ Use a tiny script fake-uname (available on this site as a package) to fake the kernel
      version in use.
    ◆ Create a config-KVER.live for the corresponding KVER kernel version.
      You could have a look to the patch file to know the diff from slackware kernel in order to
      apply to yours.
    ◆ use the kernelive SLKBUILD file with slkbuild.

  2/ packages
  -----------
    You must now decide which packages you want to include in your ISO.
    You must also arganize your packages in collections (modules).
    Be carefull to put any package that depends directly on the kernel version in a separate
    module, together with the kernelive package.
    The last module will contains a special package, named liveenv, which deals with configuring
    a live system.

    ◆ Create a file packages-foobar for each foobar module. This file will list each package on
      one line.
    ◆ Create a file MODULES_INFO with the referenced modules:
      ┊ module=kernel,packages-kernel
      ┊ module=base,packages-base
      ┊ module=live,packages-live

    You must now define which liveenv module you want to provide.
    You can list them in liveenv/modules directory. At least all 0? modules should be considered.

    ◆ Create a file MODULES.liveenv with the referenced liveenv modules:
      ┊ etc
      ┊ root-password
      ┊ hostname

    ◆ Copy the standard kernel packages in std-kernel directory:
      - kernel-huge
      - kernel-modules
      - kernel-firmware
      - kernel-headers

    ◆ Copy your special packages in local directory:
      - kernelive
      - salix-live-installer
      - persistence-wizard

    Get all remaining packages by issueing:
      $ ./getpkgs.sh ARCH VERSION
    where ARCH could be 32 or 64 and VERSION is the Slackware version.

  3/ configuration
  ----------------
    You need to indicate some configuration before continuing.
    This is done in a file named “config”. Example:
      ┊ # vim: set syn=sh:
      ┊ if [ -z "$DISTRO" ]; then
      ┊   DISTRO=salix
      ┊   VER=xfce-13.37-32
      ┊   RLZ=test
      ┊   # empty for a final release for example
      ┊   #RLZ=
      ┊   # 
      ┊   BGIMAGE_NAME=salix.xcf
      ┊   # don't change this unless you sure that the newer version works the same
      ┊   FUFSVER=0.4.2
      ┊   FUFSURL=http://funionfs.apiou.org/file/funionfs-$FUFSVER.tar.gz
      ┊   # this is atuo-generated for convenience but you can provide another filename
      ┊   ISO_NAME=${DISTRO}live-$VER${RLZ:+-$RLZ}.iso
      ┊   # the package containing the live kernel. Normally you won't need to change this
      ┊   KERNELPKGNAME=kernelive
      ┊   # unless you have a very good reason, use xz
      ┊   COMP=xz # could be xz, lzm, lzo, gz.
      ┊   
      ┊   export DISTRO
      ┊   export VER
      ┊   export RLZ
      ┊   export BGIMAGE_NAME
      ┊   export FUFSVER
      ┊   export FUFSURL
      ┊   export ISO_NAME
      ┊   export KERNELPKGNAME
      ┊   export COMP
      ┊ fi

    You will also need a background image for the bootloader (the one you specified in the
    config file).
    The image could be in any format, but will be converted to PNG 640×480, 8bits RGB Color.
    If you decide to have a Gimp XCF source file, you will also need the xcf2png tool installed.

  
  ◆ After that, you just need to run:
      # ./build-iso.sh


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ▸ Akuna <[email protected]>
  ▸ JRD <[email protected]>
  ▸ Shador <[email protected]>

About

(Obsolete) A collection of scripts that deal with SaLT, can build live modules and that can create a ready-to-burn Live ISO.

Resources

Stars

Watchers

Forks

Packages

No packages published