Installing Slackware using USB thumb drive

There are several ways to install Slackware to your computer. You have network installation options available (where the packages are on a remote NFS/FTP/HTTP/Samba server) and local options (where the packages are on a DVD/CDROM or a local directory).

In all these cases you need to boot your computer with Slackware’s installer. Traditionally you can boot from a DVD or CDROM of course, or even from a floppy if you are creative. If your computer does not have a DVD/CD drive then there is still the network boot (aka PXE boot) or using a USB thumb drive to boot from.

It is the USB thumb drive I want to talk about in this blog post.

Slackware ships with a USB image file “usbboot.img” since the 12.0 release (see http://slackware.osuosl.org/slackware-13.0/usb-and-pxe-installers/usbboot.img for instance). Using “dd” this image can be transfered to a USB thumb drive which transforms the USB drive to a bootable Slackware installer. The packages will still have to be available on a local or network medium, because the “usbboot.img” image only contains kernels and setup files… no packages.

If you do not want to “sacrifice” a USB thumb drive for this (note that dumping the image file on the USB stick will destroy all data already present on the stick), there is a solution: Slackware also ships with a script “usbimg2disk.sh” since the 13.0 release (see http://slackware.osuosl.org/slackware-13.0/usb-and-pxe-installers/usbimg2disk.sh for instance). This script extracts the content from the “usbboot.img” image file and uses this to transform a regular USB thumb drive into a bootable Slackware installer  non-destructively (i.e. any existing files on the stick will not be touched), as long as there is some 30 MB of available free space on the stick.

The “usbimg2disk.sh” script is also convenient if your computer refuses to boot from a USB stick loaded with the “usbboot.img” file. The BIOS of some computers will not understand the format of the default Slackware USB image. Using the “usbimg2disk.sh” script, you create an alternative bootable USB stick that will be recognized by your computer’s BIOS.

All nice, but there is still a problem that remains to be solved.

If you have a netbook for instance.

The average netbook computer (like my own Asus EeePC 1000H) comes without DVD drive. If you are mobile and without access to wired network, it will not be easy to install Slackware packages after booting from the USB stick.

In such circumstances you need to copy the complete Slackware package tree to a disk partition of your netbook before you start the Slackware installation. This is not always efficient, or even feasible.

Now, I have been creating “multi-partition USB images” for several Slackware releases in the past (more accurately, I have written the scripts that let you create the image and then transfer it to a big enough USB stick using the ” dd” command). You can find those scripts here: http://slackware.com/~alien/tools/usbinstall/ . This is an elegant way to create a USB Slackware installer that has all packages “on board” but I wanted something that was more basic, and thus potentially easier to use for a Slackware newbie.

The “old” scripts at http://slackware.com/~alien/tools/usbinstall/ create a secoind, EXT2-formatted partition to store the Slackware packages. This makes it harder to add more files if you are on a Windows computer for instance. I wanted to have a USB stick with a single large FAT partition – and fortunately the bootloader I am using (syslinux) allows this.

So I took Slackware’s “usbimg2disk.sh” script (which I incidentally wrote too) and expanded its functionality. What is new? The script can now copy the Slackware setup files, kernels and packages all to a regular USB thumb drive, if that has a minimum of 2GB free space available.And it still retains its original functionality (to create a bootable installer as long as there is 30 MB of available free space on the stick).

The USB stick does not even have to be formatted! So, if you already have data on the stick, it will not be destroyed.

There is one advantage to formatting though: if you allow the script to format the USB stick, it will make your future Slackware installation easier. The formatting step assigns a label “USBSLACKINS” to the fat partition. This enables Slackware’s setup to recognize and mount the USB partition automatically after boot, and pre-fill the SOURCE setup dialog “Install from a pre-mounted directory” with the correct directory path. Just hit ENTER a few times to start the installation!

If you did not format the USB stick but used an existing VFAT-formatted stick, you have two options:

  1. either you assign  the label “USBSLACKINS” to the stick’s fat partition manually,
  2. or else you do the following after booting from the USB stick but before running setup: mount the USB partition yourself using the following commands (for this eaxmple I am assuming that the installer recognized the drive as “/dev/sdX“):
mkdir /usbinstall
mount -t vfat -o ro,shortname=mixed /dev/sdX /usbinstall/

And then after you’ve started “setup” and have come to the “SOURCE selection” dialog, you use the directory “/usbinstall/slackware-<version>/slackware” as the source location where setup should look for Slackware packages.

This is how the help text for the script looks:

./usbimg2disk.sh -h
#
# Purpose #1: to use the content of Slackware's usbboot.img and
#   transform a standard USB thumb drive with a single vfat partition
#   into a bootable medium containing the Slackware Linux installer.
#
# Purpose #2: to use the contents of a Slackware directory tree
#   and transform a standard USB thumb drive with
#   a single vfat partition and 2GB of free space into
#   a self-contained USB installation medium for Slackware Linux.
#
#
# Your USB thumb drive may contain data!
# This data will *not* be overwritten, unless you have
#   explicitly chosen to format the drive by using the '-f' parameter.
#
# usbimg2disk.sh accepts the following parameters:
#   -h|--help                  This help
#   -f|--format                Format the USB drive before use
#   -i|--infile <filename>     Full path to the usbboot.img file
#   -l|--logfile <filename>    Optional logfile to catch fdisk output
#   -o|--outdev <filename>     The device name of your USB drive
#   -s|--slackdir <dir>        Use 'dir' as the root of Slackware tree
#   -u|--unattended            Do not ask any questions
#
# Examples:
#
# usbimg2disk.sh -i ~/download/usbboot.img -o /dev/sdX
# usbimg2disk.sh -f -s /home/ftp/pub/slackware-13.0 -o /dev/sdX
#
# The second example shows how to create a fully functional Slackware
# installer on a USB stick (it needs a Slackware tree as the source).

The enhanced script is here: http://connie.slackware.com/~alien/tools/usbimg2disk.sh …get itwhile it’s hot!

I hope it will get added to the Slackware tree soon. Tell me if you liked it! Any questions or remarks, you can leave them below this post.

Cheers, Eric

85 thoughts on “Installing Slackware using USB thumb drive

  1. Although I don’t have enough time to try it out soon, I like this version of script! Thanks a lot. Hope it will be merged into the main tree soon.


  2. Hi Grissiom

    I hope it will be useful to people, having a “USB version” of the Slackware install DVD is in high demand.
    By the way, I made two small changes after I originally uploaded the script. It now additionally checks if you have “mtools” installed. The syslinux tool which makes your USB stick bootable depends on it. And the “syslinux-nomtools” binary seems to work (the script shows no errors) but the resulting USB stick is not bootable.

    The script version which I uploaded just now, works.

    Cheers, Eric


  3. hi Eric. i wonder if in this new release for 13.0 exist the possibility to install via usb using a PPPoE connection. and if not, can you add rp-pppoe to it? 🙂

    thank you.


  4. Hi Eric,

    I follow your instruction but i got boot error message. In my flash disk, i have 2 folders, one is syslinux, the other is slackware13

    Many Thanks, Eric



  5. Great script, I’m using it right now to create a USB stick with all the slackware13 64 packages and looking forward to many future DVD-less installs!



  6. Pingback: Alien Pastures » Preparing for a release is tedious

  7. Pingback: Alien Pastures » Slackware 13.1 is here

  8. I’m glad to see this script but I always get a:
    trap: 37: ERR: bad trap
    Whenever i try to run it. I have tried-
    # sh usbimg2disk.sh -f -s /home/antman/data/ -o /dev/sdb
    # ./usbimg2disk.sh -f -s /home/antman/data/slackware -o /dev/sdb

    I can’t even run:
    # sh usbimg2disk.sh -h
    to see the help without the trap: 37: ERR: bad trap

    I’m running this script from a debian machine (I tried it on Linux Mint also). Does it only work on a slackware machine?



  9. Ok, I figured it out. On my debian system I had to precede my command with command “bash”
    So my full command was:
    # bash ./usbimg2disk.sh -f -s /home/antman/data/ -o /dev/sdb

    The usb is building as I type this…. 😉


  10. if i give parameters -f , i got some error like this :
    “*** usbimg2disk.sh FAILED at line 37 ***
    — Cleaning up the staging area…
    rmdir: missing operand
    Try rmdir –help’ for more information. ”

    How to solve it?


  11. i got some error too if i wrote
    “sudo bash usbimg2disk.sh -i usbboot.img -o /dev/sdb1″
    Error:
    # We are going to use this device – ‘/dev/sdb1’:
    #
    # Disk /dev/sdb1: 8029 MB, 8029930496 bytes
    # 248 heads, 62 sectors/track, 1019 cylinders
    # Units = cylinders of 15376 * 512 = 7872512 bytes
    # Disk identifier: 0x00000000
    #
    # Device Boot Start End Blocks Id System

    *** ***
    *** If this is the wrong drive, then press CONTROL-C now! ***
    *** ***
    Or press ENTER to continue:
    — Available free space on the the USB drive is 7826420 KB
    — Required free space for installer: 28160 KB
    — Copying boot files to the USB drive…
    — Cleaning up the staging area…
    — Making the USB drive ‘/dev/sdb1′ bootable…
    *** usbimg2disk.sh FAILED at line 37 ***
    — Cleaning up the staging area…
    rmdir: failed to remove /mnt/img.an3S2a’: No such file or directory
    rmdir: failed to remove /mnt/usb.vqQDWF’: No such file or directory”

    can you help me?


  12. You are using the parameter “-o /dev/sdb1” which is the partition on the device. But the “-o” parameter expects the device itself, not the partition. Try “-o /dev/sdb” instead.

    Eric


  13. Pingback: using dd to make bootable slack usb

  14. the script seemed to work ok just like the previous versions
    this time however it will not boot entirely on my netbook

    i get to:
    Triggering udev events: /sbin/udevadm trigger –action=add

    and then it just sits there.
    ive checked the iso md5 its fine, tried multiple usb sticks and ports and it just wont get past that point.

    any suggestions?




  15. Pingback: Installing from thumb drive?

  16. Hey Bob.

    I bought a Netbook as a cheap replacement for my recently departed (and only) machine. It came loaded with win7starter, which was a no-go for me. Your post helped me convert it into a happy Slack 13.1 machine, so I just dropped by to congratulate and thank you for your help.

    If you ever come around to Porto Alegre, I’ll buy you a beer or something.

    Cheers!


  17. Very helpful and simple to use. Also the comments are great on clarifying the whole purpose and each part of the code. Thanks for this great script!



  18. Pingback: slackware boot from USB problems


  19. Also modify line ~#414 to:

    /usr/bin/syslinux -a -d /syslinux $TARGETPART 1>>$LOGFILE 2>&1
    (the “-s” in the normal config is replaced by “-a”, seems to be a typo)

    you may also need to change the line @ ~122 to reflect the true cylinder size of your usb drive

    for example, mine is:

    /sbin/sfdisk $USBDRV -N1 <<EOF
    0,1018,,*





  20. Pingback: Atheros AR242x Wireless Card won't find any network on Debian Lenny

  21. — Available free space on the the USB drive is 7881092 KB
    — Required free space for installer: 1935432 KB
    — Copying boot files to the USB drive…
    cp: cannot create symbolic link /mnt/usb.PUR1Ee/syslinux/extra/flashplayer-plugin’: Operation not permitted
    cp: cannot create symbolic link /mnt/usb.PUR1Ee/syslinux/isolinux/sbootmgr/RAWRITE13.EXE’: Operation not permitted
    sudo bash ./usbimg2disk.sh -i slackware64-1-27-2010.iso -o /dev/sdd
    cp: cannot create symbolic link /mnt/usb.PUR1Ee/syslinux/slackware64/PACKAGES.TXT’: Operation not permitted
    *** ./usbimg2disk.sh FAILED at line 41 ***
    — Cleaning up the staging area…



  22. Pingback: How to install through the USB-stick?

  23. Pingback: So you want to be a Slacker! What do I do next? - Page 15

  24. Pingback: Jobvill Community » Blog Archive » Install Slackware 13.1 dari Flash Disk

  25. Hello bob,
    I’ve been trying to make an usb bootable drive from a slackware64-13.37-install-dvd.iso image. First i’ve mounted the iso at “/tmp/slackware13” . Also I’ve my-sys installed. Then executed this command

    “ARCH=x86_64 SLACKROOT=/tmp/slack64-13 ./create_multipartboot.sh 4000”

    But it fails showing that it is unable to delete /dev/loop1. The output is as below.

    mkdosfs 3.0.9 (31 Jan 2010)
    Warning: block count mismatch: found 3999712 but assuming 15592.
    Loop device does not match a floppy size, using default hd params
    loop: can’t delete device /dev/loop1: Device or resource busy
    *** ./create_multipartboot.sh FAILED at line 145 ***

    I am stuck and I’ve tried it many times. What should I do?

    ThankYou,
    Harish


  26. well, i used fedora usb creator to write slack iso on usb. it did boot, however when tried to install, just says installation over in 2 sec ! will figure it soon…meanwhile let me try this script and get back with any comment


  27. Pingback: Getting back into Linux!

  28. Pingback: how to install slackware from a usb drive

  29. I have read the how-to to install Slackware on my Netbook (eeePC 1005HA). I’m a new user to Slackware and taking the challenge from the get-go! I want to learn Unix/Linux and what better way to do it than with Slackware I have been told. Anyway, the tutorial i think assumes that I have Linux running on another machine to create a boot USB thumb drive? My netbook has XP installed but it’s corrupted. How can I create the boot image from within windows? I have copied the images and also the script created by Eric and changed the boot order in BIOS but it doesn’t work. I appreciate your help.

    Marco





  30. Pingback: slackware help

  31. You should take a look at Expect, it would make your life a lot easier. Thanks for the write up, I have been unable to boot Slackware off a usb stick, but I am about to try your script. Appreciate you.


  32. Pingback: Slackware Live USB

  33. Or press ENTER to continue:
    — Formatting /dev/sdb with VFAT partition label ‘USBSLACKINS’…
    — Last chance! Press CTRL-C to abort!
    Or press ENTER to continue:
    — Available free space on the the USB drive is 7800420 KB
    — Required free space for installer: 23828 KB
    — Copying boot files to the USB drive…
    — Extracting Slackware initrd.img…
    — Modifying installer files…
    *** ./usbimg2disk.sh FAILED at line 41 ***
    — Cleaning up the staging area…

    i got the following error. i am trying to install slackware.12.0 to my labtop which doesnt have CD/DVD ROM. In my using ubuntu-12.04 on my desktop to run the following script. and i did mounted the slackware-12.iso

    These are the step i gone through
    #mount -o loop /tmp/slackware.iso /mnt/slack
    #./usbimg2disk.sh -f -s /tmp/slack -o /dev/sdb

    and got the above error as mentioned


  34. me to got the same error while trying in ubuntu…
    These are my steps
    #mount -o loop slack/slackware-12.0-install-dvd.iso /mnt/
    #./usbimg2disk.sh -f -s /mnt/ -o /dev/sdb

    # We are going to format and use this device – ‘/dev/sdb’:
    # Vendor : SanDisk
    # Model : Cruzer Blade
    # Size : 7633 MB
    #
    # FDISK OUTPUT:
    #
    # Disk /dev/sdb: 8004 MB, 8004304896 bytes
    # 212 heads, 46 sectors/track, 1603 cylinders, total 15633408 sectors
    # Units = sectors of 1 * 512 = 512 bytes
    # Sector size (logical/physical): 512 bytes / 512 bytes
    # I/O size (minimum/optimal): 512 bytes / 512 bytes
    # Disk identifier: 0x21cc8419
    #
    # Device Boot Start End Blocks Id System
    # /dev/sdb1 2048 15633407 7815680 b W95 FAT32

    *** ***
    *** If this is the wrong drive, then press CONTROL-C now! ***
    *** ***
    Or press ENTER to continue:
    — Formatting /dev/sdb with VFAT partition label ‘USBSLACKINS’…
    — Last chance! Press CTRL-C to abort!
    Or press ENTER to continue:
    — Available free space on the the USB drive is 7800420 KB
    — Required free space for installer: 23828 KB
    — Copying boot files to the USB drive…
    — Extracting Slackware initrd.img…
    — Modifying installer files…
    *** ./usbimg2disk.sh FAILED at line 41 ***
    — Cleaning up the staging area…


  35. Try adding “–l /tmp/usbimg2disk.log” and post the content of that logfile here. I do no run Ubuntu so I do not know what it expects. The script is only tested on Slackware.

    Eric



  36. Or press ENTER to continue:
    — Setting FAT partition label to ‘USBSLACKINS’
    Total number of sectors not a multiple of sectors per track!
    Add mtools_skip_check=1 to your .mtoolsrc file to skip this test
    *** ./usbimg2disk.sh FAILED at line 355 ***
    — Cleaning up the staging area…


  37. Perhaps you have to follow the advice given in the error output…:

    “Add mtools_skip_check=1 to your .mtoolsrc file to skip this test”

    Eric






  38. Pingback: Interview with Patrick Volkerding of Slackware - Page 5


  39. Thanks for the script Eric.
    I had to lower the MININSFREE value, as my 2GB usb stick appearantly to small for the 1.3 GB installation..


  40. Pingback: Installing slackware 13.37 from dvd

  41. Pingback: Questions on installing from USB stick

  42. Pingback: slackware: freshly made image won't boot

  43. I’m trying to make an all-in-one usb stick with slackware14 for my new workstation. I’m currently running os x 10.6.8 so I’m doing everything from an arch linux virtual(box) machine.

    Making the usb stick works fine:
    sh usbimg2disk.sh -f -s /mnt/cdrom -o /dev/sdb
    (/mnt/cdrom is the slack14 dvd)

    Only when I insert the usb stick into my workstation it doesn’t recognize it as bootable. I set usb boot as highest priority in the bios and checked if the boot flag was set on the usb partition. Everything like it’s supposed to be.

    I’ve tried dd’ing a modified iso first, it did recognize that as bootable but the image didn’t work. So I don’t think it’s the usb stick.

    Do you have any idea as to what I’m doing wrong?

    p.s. the script does not check if rsync is installed. The error (rsync: command not found) is pretty self explanatory though. I’ve also had to make symlinks for cpio and mkdosfs because the script was looking in the wrong directories under arch linux.

    Thanks in advance!


  44. hai !
    I’m newbie I use puppy linux precise pagolin
    I’ve tried your script and it almost 3 hours and it’s not done yet …
    how long does it take to make a slackware usb installer with your script ?
    and how can i tell if your script is still make a slackware usb installer or it just freeze ?
    thanks


  45. I feel like I’m missing something obvious here; I’m trying to figure out how to use this script to create a fully functional USB installer for the 64-bit version of Slackware 14.1, but my main problem is the source code (or lack thereof).

    I obtained the install dvd .iso via torrent, but I had to download the .iso with the source code separately as it was not included on the 64-bit version of 14.1.

    As mentioned in the help file for the script, a Slackware file tree is necessary to create a fully functional usb installer. I’m not sure if/how I’m supposed to get both the 64-bit .iso AND the source code onto the same usb stick for a successful installer, or whether I should be doing something else entirely.


  46. The source code is not required at all. Slackware is a “binary diostribution”, the source code and scripts which produced all the package is available in order to be compliant with the licenses. Having the Slackware DVD ISO should be enough.
    Even better, the official ISO images have been created in such a way (with the help of the ‘isohybrid’ program) that you can write them directly to a USB stick to create a bootable installer. This “usbimg2disk.sh” script may have been obsoleted by the new way of producing the ISOs.

    Eric


  47. I’m looking for some help using this usb installer on an intel iMac. I’ve created the usb installer using your second example (using my own directories, of course):
    usbimg2disk.sh -f -s /home/ftp/pub/slackware-13.0 -o /dev/sdX

    But the iMac doesn’t recognize the thumb drive as a possible option for booting. Any idea what I might need to do?


  48. Hi aikiwav

    Try removing the “-s” parameter from the “syslinux” call which you can find almost at the end of the usbimg2disk.sh script.

    Alternatively you could try writing the Slackware 14.1 DVD ISO image directly to a USB stick. The new ISOs have been made compatible with USB booting and support UEFI.

    Eric


  49. I’ve been trying to setup a usb bootable memory for doing an install of slackware64 from a slackware-14.1 system but get an error when running usbimg2disk.

    mktemp: invalid option — ‘p’
    Usage: mktemp [-q] [-u] template
    *** ./usbimg2disk.sh FAILED at line 353 ***
    — Cleaning up the staging area…

    As far as I know the packages on the source system are up to date, I’ve moved the script and the img to simplify the paths but keep getting the same error. I did look at the script and thought maybe p should be a q but then I get a failure at the same line with t as the invalid option.

    Dave


  50. Your mktemp is not the one used on a Slackware computer. The “-p” parameter should be recognized as valid.

    $ mktemp -h
    mktemp: invalid option — ‘h’
    Usage: mktemp [-V] | [-dqtu] [-p prefix] [template]

    Eric


  51. Eric,

    I’ll look into that but seems odd since the system has been running slackware for the last ten years and should be running 14.1 at the moment.
    Maybe I’ve not done an upgrade correctly or the mirror I used for source is not up to date.

    Thanks for posting the mktemp options – I can check that easily.

    Dave


  52. Pingback: Slack 14.1 USB install

  53. Pingback: Newb to command line: Error setting up USB Drive to install Slackware

  54. Hi Eric,

    i have this error when trying to install 14.1:
    *** usbimg2disk.sh FAILED at line 375 ***
    which is strange because it “fi” function only…

    Do you have any suggestions.
    Thanks!


  55. Hi Ivelin, I can not comment on that, because the amount of information you supply is simply not enough.
    That the reported line is 375 (with just “fi” in it) will probably mean that the actual error occurred onside the “if” statement for which that “fi’ is the end keyword.


  56. Hi Eric,

    Sorry for that – I’m using your script usbimg2disk.sh
    I have downloaded the 14.1 slackware iso and then used it to get the slackware directory tree. After running the script downloaded from the last link in this post a get the mentioned error:
    sh usbimg2disk.sh -f -s /home/user/progz/slack14.1/ -o /dev/sdb

    # We are going to format and use this device – ‘/dev/sdb’:
    # Vendor : Kingston
    # Model : DataTraveler 2.0
    # Size : 0 MB
    #
    # FDISK OUTPUT:

    *** ***
    *** If this is the wrong drive, then press CONTROL-C now! ***
    *** ***
    Or press ENTER to continue:
    — Formatting /dev/sdb with VFAT partition label ‘USBSLACKINS’…
    — Last chance! Press CTRL-C to abort!
    Or press ENTER to continue:
    *** usbimg2disk.sh FAILED at line 375 ***
    — Cleaning up the staging area…
    I’m executing it with elevated privileges – su


  57. Ivelin, try what happens if you use the modified version of this script which is shipped with Slackware 14.1: usb-and-pxe-installers/usbimg2disk.sh.

    But first, try running the original script with logging enabled: it needs the additional parameter “-l /tmp/LOGFILE”.
    Afterwards, read that logfile and report what you find there. I think the only possible place where the script is failing, is inside the “reformat” routine. The logfile will reveal that.


  58. I tried using the usbimg2disk.sh from the current repo and had two problems. The first was self inflicted, but I will mention it since Ivelin had the same problem.

    I also got the “…FAILED at line 375.” error. Using the “-l /tmp/LOGFILE, as suggested the log said:

    “dd: failed to open ‘/dev/sdb’: No medium found”
    Acting on an earlier message that said I needed to unmount /dev/sdb1, I mistakenly “ejected” the usb device instead of unmounting the partition, hence the error.

    The second problem is that the script does not make a UEFI bootable USB drive. This is because the EFI/BOOT directory is in the syslinux directory.
    /run/media/rich/USBSLACKINS/
    `– syslinux
    |– EFI
    | `– BOOT
    | |– BOOTX64.EFI
    | |– elilo.conf
    | `– message.txt
    |– f2.txt
    |– huge.s
    |– initrd.img
    |– ldlinux.sys
    |– memtest
    |– message.txt
    |– setpkg
    `– syslinux.cfg

    It needs to be brought up one level to the root of the USB device :
    /run/media/rich/USBSLACKINS/
    |– EFI
    | `– BOOT
    | |– BOOTX64.EFI
    | |– elilo.conf
    | `– message.txt
    `– syslinux
    |– f2.txt
    |– huge.s
    |– initrd.img
    |– ldlinux.sys
    |– memtest
    |– message.txt
    |– setpkg
    `– syslinux.cfg
    With the EFI/ directory at the root of the USB device, it will successfully UEFI boot.


  59. Well, I am back again. XD

    I built a PC, and I am trying to use the usbimg2disk.sh script to make a usb drive to install slackware to the computer.

    So, I have the same Lexar P20 USB3.0 32GB flashdrive, and I have slackware 64 14.1 downloaded onto a partition of my harddrive (/dev/sda16, I think it is..)

    So, I mounted /dev/sda16 onto /mnt/ and I then I ran the usbimg2disk.sh like so:

    usbimg2disk.sh -f -s /mnt/slackware64-14.1 -o /dev/sdb

    I was so happy that everything ran well… until the very last part of the installation.

    It then gave me an error saying it failed on line 497 which appears to be the very last thing in the script.

    bash-4.2# sh usbimg2disk.sh -f -s /project/9/slackware64-14.1 -o /dev/sdb

    # We are going to format and use this device – ‘/dev/sdb’:
    # Vendor : Lexar
    # Model : USB Flash Drive
    # Size : 30560 MB
    #
    # FDISK OUTPUT:

    WARNING: GPT (GUID Partition Table) detected on ‘/dev/sdb’! The util fdisk doesn’t support GPT. Use GNU Parted.

    #
    # Disk /dev/sdb: 32.0 GB, 32044482560 bytes
    # 64 heads, 32 sectors/track, 30560 cylinders, total 62586880 sectors
    # Units = sectors of 1 * 512 = 512 bytes
    # Sector size (logical/physical): 512 bytes / 512 bytes
    # I/O size (minimum/optimal): 512 bytes / 512 bytes
    # Disk identifier: 0x6e023b97
    #
    # Device Boot Start End Blocks Id System
    # /dev/sdb1 2048 62586879 31292416 b W95 FAT32

    *** ***
    *** If this is the wrong drive, then press CONTROL-C now! ***
    *** ***
    Or press ENTER to continue:
    — Formatting /dev/sdb with VFAT partition label ‘USBSLACKINS’…
    — Last chance! Press CTRL-C to abort!
    Or press ENTER to continue:
    — Available free space on the the USB drive is 31277104 KB
    — Required free space for installer: 37040 KB
    — Copying boot files to the USB drive…
    — Extracting Slackware initrd.img…
    — Modifying installer files…
    — Gzipping the initrd image again:
    — Copying Slackware package tree to the USB drive…
    — Cleaning up the staging area…
    — Making the USB drive ‘/dev/sdb’ bootable…
    *** usbimg2disk.sh FAILED at line 497 ***
    — Cleaning up the staging area…
    umount2: No such file or directory
    umount: /mnt/img.qXEk6I: not found
    bash-4.2#

    Here are lines 495-End:

    # Run syslinux and write a good MBR:
    echo “— Making the USB drive ‘$TARGET’ bootable…”
    ( makebootable $TARGET ) 1>>$LOGFILE 2>&1
    /usr/bin/syslinux -s -d /syslinux $TARGETPART 1>>$LOGFILE 2>&1
    dd if=$MBRBIN of=$TARGET 1>>$LOGFILE 2>&1

    # THE END

    What exactly does that mean, and what can I do to solve it?


  60. Robinspi, the official Slackware 14.1 ISO images are “hybrid” which means you do not have to use the usbimg2disk.sh script in order to create a bootable USB stick.
    Just use “cp” or “dd” to copy the Slackware ISO to your USB drive; something like “cp slackware64-14.1-install-dvd.iso /dev/sdb” will work.

    You can still troubleshoot the issue with the script if you want, by adding the parameter “-l output.log” and after the script aborts, you inspect the content of the log file “output.log”.



  61. I have an Atom based PC which have a BIOS that can not boot in legacy mode / requires UEFI, and the bios can not execute/load 64-bit EFI (BOOTX64.EFI).
    I`ve tested and aprooved that it can load a 32-bits EFI img.
    Any way to boot a Slackware 32-bits EFI installer ?


  62. Used usbimg2disk.sh today to create live-usb for slackware64. Encountered problem with script version:
    # $Id: usbimg2disk.sh,v 1.24 2014/06/08 14:34:46 eha Exp eha $

    — Extracting Slackware initrd.img…
    *** usbimg2disk.sh FAILED at line 437 ***
    — Cleaning up the staging area..

    from log file found:
    gzip: /mnt/usb.6V0aiG/syslinux/initrd.img: not in gzip format
    cpio: premature end of file

    also:
    file -bi slackware64-current/isolinux/initrd.img
    application/x-xz; charset=binary

    Solution was to change gunzip to xz from line 463:
    # gunzip -cd ${MNTDIR2}/syslinux/initrd.img | cpio -i -d -H newc –no-absolute-filenames
    xz -cd ${MNTDIR2}/syslinux/initrd.img | cpio -i -d -H newc –no-absolute-filenames


    1. The version of usbimg2disk.sh that you used seems to come from the “source/installer” directory. However, Patrick removed some of its functionality and added that to “usb-and-pxe-installers”. The script in “source/installer” is not maintained.
      Why did you use this script to attempt and create a USB Live disk? It’s not meant for that – its goal is to create a USB version of the Slackware installer.
      The liveslak project has a “iso2usb.sh” script to transfer a Slackware Live ISO to a USB stick.


  63. I meant usb installer, called live-usb just out of habit. Needed usb installer to install without network.

    I checked the usb-and-pxe-installers from the source dir today, it has usbimg2disk.sh which version info says
    # $Id: usbimg2disk.sh,v 1.23 2012/09/03 20:52:31 eha Exp eha $
    I tested it and it works. So the version that is in the slackware64-current source tree works out of the box.

    The version I downloaded from http://www.slackware.com/~alien/tools/usbimg2disk.sh has version info
    # $Id: usbimg2disk.sh,v 1.24 2014/06/08 14:34:46 eha Exp eha $ so I used that version initially.

    But for my needs its probably easiest to stick to the version found from the usb-and-pxe-installers dir. The version string just threw me off.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.