LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-18-2021, 06:23 PM   #1
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,065

Rep: Reputation: Disabled
[Call for translators] The new guided mode of the Slint installer.


The most recent Slint ISO available here provides a "guided" installation mode alongside the usual "manual" mode running 'setup' This new mode is provided by a single (but not so short) shell script named 'auto'.

I have uploaded a new resource on Transifex for it so please translators of the previous version of the Slint installer translate also this script.

A big thank to Christian Ruesch who already completed the translation to German without waiting for a "go". Thanks also to Dimitris Tzemos who already began the translation to Greek.

If you try the new installer you will see the messages to be translated in context. I also present the new features below, that I am of course ready to help include in the Slackware installer.

In addition an audio walk-through has been also kindly provided by user Pawel Loba.

Questions, issues can also be brought to our chat channel: #slint @ irc.freenode.net. I answer when awaken (UTC+1).

In 'auto' mode the installer first lists the drives on which Slint can be installed, if several lets the user choose which one to use.

If possible the installer lets the user choose among several possibilities:
_ dedicate the drive to Slint.
_ use the free space at end of the drive to install Slint (allowed for a drive with a GPT having booted in EFI mode)
_ shrink the last partition of the drive to make room from Slint (allowed for a drive with a GPT having booted in EFI mode)

The restriction in the latter cases are to make sure that existing OS will still boot after having installed Slint.

The installer can shrink the last partition of a drive if it has a file system of type ext, commonly used for Linux partitions. In case of a partition of type ntfs used by Windows, the user need to shrink it from Windows before installing Slint. Instructions to do so are provided in the document FreeSpace.

When the last partition of the drive has been shrunk the user can still choose between dedicating the drive to Slint and installing Slint in the freed space.

If the drive is not dedicated to Slint all data previously stored in it are preserved, including existing OS. This allows to set up a multi-boot installation and also to install Slint on a drive previously used only for data storage.

If the drive is dedicated to Slint and is connected through USB the user can choose to make it portable, allowing to use it on any computer able to boot off an USB attached drive.

If the drive is dedicated to Slint the installer can optionally encrypt this drive. Then the GRUB boot loader asks the passphrase registered during installation before displaying the boot menu. The Slint system partition is encrypted and also the optional additional partition. This is a protection against the theft of data in case of loss or theft of the drive or computer.

According to the size of the available space on the drive the user can choose the size of the main Slint partition, and if it remains enough free space chooses the size of an additional partition.

In case of installation on an eMMC drive or a SD card, an f2fs file system that fits these kinds of devices will be used to format the partitions.

When all done, a summary of these choices is presented to the user who can accept or change them before the installer puts them into effect.

If available a wired internet connection is used, else if possible a wireless one is set up, the user indicating which network to use and the associated passphrase or password. This allows to install directly from mirrors of Slackware and Slint packages more recent than the ones found on the ISO, case occurring.

If available, the Internet connection is also used to propose the timezone associated to the machine's location according to its network address.

When preparing the drive the installer creates a swap file on the system partition instead of a swap partition. It also installs a script that will create a swap space on zram at each boot, with a higher priority than the swap file. This minimizes the writes on disk, thus the wear out of flash drives, and also increases the usable RAM size multiplying it by about 1.75 by default.

At end of installation, users tell if they will use a braille devices on Slint. If speech was used during installation it will also be available on Slint.

The user chooses to start Slint in console or graphical mode. This can be changed after installation, as well as the desktop used in graphical mode, Mate by default.

The user is also proposed to make of an USB flash drive a rescue boot stick.

The GRUB boot manager is used in all contexts (BIOS or Legacy as well as EFI) and a "generic" kernel associated to an initrd installed.

The GRUB boot menu always include a "rescue" boot entry to detect and boot almost any installed operating system.

When installation is finished and before rebooting the user can display a preview of the GRUB boot menu that will be displayed at next boot.

Last edited by Didier Spaier; 02-19-2021 at 11:39 AM.
 
Old 02-18-2021, 07:27 PM   #2
rokytnji
LQ Veteran
 
Registered: Mar 2008
Location: Waaaaay out West Texas
Distribution: antiX 23, MX 23
Posts: 7,145
Blog Entries: 21

Rep: Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482
Quote:
If the drive is dedicated to Slint and is connected through USB the user can choose to make it portable, allowing to use it on any computer able to boot off an USB attached drive.
Just curious if a snapshot iso is made. Or Just a basic original iso with original tools. Does it come with persistence or one manually has to do that afterwards.

Sounds neato to me.

Edit. My bad. I missed this.

Quote:
Questions, issues can also be brought to our chat channel: #slint @ irc.freenode.net. I answer when awaken (UTC+1).
sorry

Last edited by rokytnji; 02-18-2021 at 07:29 PM.
 
Old 02-19-2021, 03:38 AM   #3
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,065

Original Poster
Rep: Reputation: Disabled
@rokytnji: np.

Well, "portable" in the sentence you quoted doesn't mean that the system will be a live one (as provided by Eric for Slackware) but installed in a device like, say, an USB attached SSD exactly as it would be on a fixed drive, with just the initrd and the GRUB menu adapted:
  • The initrd includes a lot of kernel modules that allow to boot on a machine of which we do not know the hardware at time of installation.
  • We don't install a boot entry in the firmware's NVRAM if the system has booted in EFI mode when installing.
  • We do not include a discovery of other OS when building the GRUB menu with os-prober (but we include a single boot entry to do that "live" as in all installation schemes)
Additionally (but not specifically for a portable installation, this is always done if the drive is dedicated to Slint):
  • GRUB is installed for both the i386-pc and the x86_64-efi targets, to allow booting in EFI as well as in Legacy modes
  • If user requested that the drive be encrypted we store a LUKS key in the initrd, so it won't be necessary to type the passphrase twice (the script init of the initrd, shipped in our mkinitrd package, has been modified to support this) or to carry the LUSK key in a flash drive.
Before someone asks: the LUKS key is stored in /etc/keys so after a kernel upgrade we put it also in the new initrd.

The function that handle a portable installation in the auto script is pasted below.

Code:
portable() {
    [ ! "$PORTABLE" ] && return
    echo "portable" >>$INSTALL/log
    echo "The presence of this file indicates that this system should be portable." > $SLINT/etc/portable
    rootdelay=10
    KERNELVERSION=$(ls $SLINT/boot/vmlinuz-generic-*|cut -d- -f3)
    HOST_AND_STORAGE=$(find $SLINT/lib/modules/$KERNELVERSION/kernel/drivers/ -name "*.ko"|grep -e "/storage/" -e "/host/" -e "/core/"|grep -v -e /staging/ -e /inifiniband/|sed "s,.*/,,;s/.ko//;s/$/:/"|tr -d '\n')
    FS="btrfs:ext2:ext4:f2fs:jfs:reiserfs:xfs:crc32_generic:crc32_pclmul:"
    USB_KBD="uhci-hcd:usbhid:"
    MODENCRYPT="af_alg:algif_skcipher"
    ROOTUUID=$(cat $INSTALL/rootuuid)
    FSTYPE=$(cat $INSTALL/fstype)
    DRIVENAME=$(cat $INSTALL/drivename)
    sed "/GRUB_DISABLE_OS_PROBER/s/.*/GRUB_DISABLE_OS_PROBER=true/" $SLINT/etc/default/grub >bof
    mv bof $SLINT/etc/default/grub
    if [ "$ENCRYPT" ]; then
        sed "/#GRUB_ENABLE_CRYPTODISK/s/.*/GRUB_ENABLE_CRYPTODISK=y/
        /GRUB_PRELOAD_MODULES/s/.*/GRUB_PRELOAD_MODULES=\"luks cryptodisk\"/ 
        /^GRUB_DISABLE_LINUX_PARTUUID/s/.*/GRUB_DISABLE_LINUX_PARTUUID=true/
        /^GRUB_DISABLE_LINUX_UUID/s/.*/GRUB_DISABLE_LINUX_UUID=false/" $SLINT/etc/default/grub >bof
        mv bof $SLINT/etc/default/grub
    fi
    MODULES="$HOST_AND_STORAGE$FS$USB_KBD$MODENCRYPT"
    chroot $SLINT grub-install --target=i386-pc  $DRIVENAME 1>>$INSTALL/log 2>>$INSTALL/errors
    chroot $SLINT grub-install --target=x86_64-efi --no-nvram --bootloader-id=slint $DRIVENAME 1>>$INSTALL/log 2>>$INSTALL/errors
    mkdir -p $SLINT/boot/efi/EFI/BOOT
    cp  $SLINT/boot/efi/EFI/slint/grubx64.efi $SLINT/boot/efi/EFI/BOOT/BOOTx64.EFI
    echo "EFI\slint\grubx64" > /SLINT/boot/efi/startup.nsh
    lsblk -l -o uuid,type,name|grep part| \
    sed "s, *\([^ ]*\) *[^ ]*  *\([^ ]*\).*,s;/dev/\2;UUID=\1;," > $SLINT/tmp/part_list
    chroot $SLINT geninitrd 1>>$INSTALL/log 2>>$INSTALL/errors
    if [ "$ENCRYPT" ]; then
        chroot $SLINT cp -a /etc/keys/root$KEYFILE /boot/initrd-tree/$KEYFILE
        chroot $SLINT mkinitrd \
        -k $KERNELVERSION \
        -m $MODULES \
        -K /$KEYFILE \
        -C UUID=$(cat $INSTALL/rootcryptuuid):cryptroot  \
        -w $rootdelay \
        -r UUID=$(cat $INSTALL/rootuuid) \
        -o /boot/initrd-generic-$KERNELVERSION 1>>$INSTALL/log 2>>$INSTALL/errors
    else
        # we run mkinitrd again (after geninitrd) to include the setting
        # -w rootdelay and the modules
        chroot $SLINT mkinitrd \
        -k $KERNELVERSION \
        -w $rootdelay \
        -m $MODULES \
        -o /boot/initrd-generic-$KERNELVERSION 1>>$INSTALL/log 2>>$INSTALL/errors
    fi
    cat <<-EOF >>$SLINT/etc/grub.d/40_custom
    menuentry "Detect and boot installed operating systems" {
    set sg2d_directory="/boot/grub"
    export sg2d_directory
    configfile "/boot/grub/main.cfg"
    }
    EOF
    ( cd  $ISO/boot/grub/
    cp osdetect.cfg tools.cfg main.cfg grub-mkrescue-sed.sh \
    $SLINT/boot/grub/
    )
    chroot $SLINT /usr/sbin/update-grub 1>>$INSTALL/log 2>>$INSTALL/errors
    cat <<-EOF >> $SLINT/tmp/post-install
    if [ ! -f /etc/fstab.orig ]; then
        cp /etc/fstab /etc/fstab.orig
    fi
    sed -f /tmp/part_list /etc/fstab > dummy
    mv dummy /etc/fstab
    sed "/# Initially/d" /etc/fstab > dummy
    mv dummy /etc/fstab
    EOF
    chmod 0755 $SLINT/tmp/post-install
    chroot $SLINT /tmp/post-install 1>>$INSTALL/log 2>>$INSTALL/errors
}

Last edited by Didier Spaier; 02-19-2021 at 03:39 AM.
 
2 members found this post helpful.
Old 02-19-2021, 05:08 AM   #4
rokytnji
LQ Veteran
 
Registered: Mar 2008
Location: Waaaaay out West Texas
Distribution: antiX 23, MX 23
Posts: 7,145
Blog Entries: 21

Rep: Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482Reputation: 3482
Thanks Didier. I am airy fairy sometimes. I see a thread named Slint translators needed. Which I promptly ignore and forget the main words " needs translators ".

Then dive right in and ask questions . I can be a such a flake sometimes.

So basically. Transfer to usb is like saving you from downloading a install file. That is my take away.
Thanks again for educating me. Here is hoping you get the translators you need.

Me being Texican. That makes me useless in this thread.
 
Old 02-21-2021, 12:29 PM   #5
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,065

Original Poster
Rep: Reputation: Disabled
New files to translate coming but not yet ready.

Dear translators,

Beyond the new 'auto' script there a few changes in the current version of the installer in the scripts 'rc.S' and 'setup'.

The POT file for rc.S is already in Transifex, the one for rc.S will follow suite.

Please wait until I give a 'go' to translate them, as I will first extract of the huge PO files for Slint-14.2.1 the messages belonging to each of these files in each translation. This way you will easily spot the (actually very few) new messages to translate, instead of re-translating everything in these files.

Progress report: at time of writing 'auto' is fully translated to French, German, Greek, Portuguese (Portugal) and Swedish. Thanks folks!

PS in 'auto' please do not translate 'yes' 'no', y/N 'h' (for help), 'q' (for quit) 'c' (sor console) and 'g' (for graphical) in the context of an input expected from the user. But you may explain these abbreviations if you think it's needed.

Last edited by Didier Spaier; 02-21-2021 at 12:37 PM.
 
Old 02-21-2021, 04:06 PM   #6
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,065

Original Poster
Rep: Reputation: Disabled
The new resources named rcS and setup are on Transifex

Hi folks,

translation of rc.S and setup can begin.

It shouldn't take more than 5 minutes for each.

Thanks.
 
Old 02-27-2021, 05:34 AM   #7
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,065

Original Poster
Rep: Reputation: Disabled
Slint migrates from Transifex to Crowdin

I am migrating progressively translation files from Transifex to Crowdin: https://crwd.in/slint

Rationale:
  • Crowdin is more accessible to the blind and we have already three volunteers blind translators.
  • Crowdin provides its own machine translation (MT) engine, which proposes several translations of each source string or message. You can just pick one and edit it as need be. I used that to translate 'auto' to French and it saved me a lot of time! Not all languages are supported yet, but most are.
I have already uploaded the source and translations files of auto, setup and rc.S (in their state on Transifex at time of writing) to Crowdin.

From now on, please use Crowdin, just following https://crwd.in/slint. You will be requested either to sign up, or just to log in with Facebook, Google, Twitter, GitHub or GitLab.

You may continue to translate off line if you prefer, but then please then upload the translations to Crowdin.

During the transition period I will take care to transfer a newer translation from Transifex to Crowdin, case occurring.

The platform has an extensive documentation.

Please use preferably the #slint channel on irc.freenode.net for any question or issue. Thanks!

Last edited by Didier Spaier; 02-27-2021 at 08:31 AM. Reason: typos
 
Old 03-09-2021, 04:51 AM   #8
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,065

Original Poster
Rep: Reputation: Disabled
Migration from Transifex to Crowdin completed

All source files and translations for Slint-14.2.1 have been migrated, as well as sources translations (in the form of PO files) of the man pages included in the pkgtools and slackpkg packages of Slackware version 14.2. Source files and translations for previous Slint versions have not been migrated but are frozen. So, all translation work from now on will based only on files in Crowdin, be it on line or off line.

Last edited by Didier Spaier; 03-09-2021 at 04:52 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANNOUNCE and CALL FOR TESTING] Slint ISO with a new installer Didier Spaier Slackware 9 02-21-2021 12:27 PM
[SOLVED] Can't set LC_TIME in Slint installer if based on the initrd of Slackware-current (glibc-2.30) Didier Spaier Slackware 3 10-20-2019 10:20 AM
[SOLVED] [Help wanted] Test a speaking Slint installer in a mini-ISO Didier Spaier Slackware 1 03-07-2019 08:24 AM
[SOLVED] Questions about fbterm's usage in Slint or Slackware installer Didier Spaier Slackware 2 03-05-2014 05:09 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 11:59 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration