problem with setting up multiboot ISO usb using syslinux

5,509

Well, I got a syslinux-booting USB key to load an unpacked ubuntu vmlinuz and initrd. The best I can offer is the steps that worked for me...

  • Download the ubuntu of your choice (obviously)
  • Mount the iso (I used Windows 10), and copy all the mounted files to a directory in your flashdrive.
    • [Optional] Rename the folder on your flashdrive (I chose ubu)
  • Modify your syslinux configuration to point linux and initrd to the right files
  • Make sure your append has the right flags

The syslinux.conf entry that worked for me:

label installUbuntu2WORKSEE  
menu label ubuntuInstaller2WORKS  
linux /ubu/casper/vmlinuz.efi  
initrd /ubu/casper/initrd.lz  
append boot=casper iso-scan/filename=/iso/ubuntu-16.04.3-desktop-amd64.iso

After boot I was given the standard "Try Ubuntu" desktop - I could install or just use it as-is. I've heard bad things about consistently using a USB key for Ubuntu or other desktop OS without making changes to internal OS settings to prevent frequent writes to the key which will prematurely fry your NAND memory. I also can't explain all the boot flags - I don't know enough yet. Perhaps someone else can who is more familiar with Ubuntu.

Note: my flashdrive is FAT32, and has more than 4GB of space available. The .iso file and unzipped/unpacked files may take close to 4GB of space. However, I have fatdog64 (a puppy variant) also loaded on this key, along with its iso and a puppy iso. So multi-booting is possible.

Share:
5,509

Related videos on Youtube

Salman
Author by

Salman

Hi there! I'm Syed Salman Ali I'm a computer guy with a strong focus on LAMP (Linux, Apache, MySQL, PHP), Information Security and Research. I'm passionate about properly designed, written and secured applications. If you are looking for an experienced person to create a new application, to fix security holes into an existing application, or to find out and make sure your application is secure or not then we should get in touch!

Updated on September 18, 2022

Comments

  • Salman
    Salman over 1 year

    I have followed this tutorial: http://blog.jakgibb.com/2013/01/03/creating-a-multiboot-usb-stick-using-syslinux/

    I want to boot linux live ISOs directly from USB drive using syslinux instead of method provied here: http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/

    Here is my syslinux.cfg:

    default vesamenu.c32
    prompt 0
    timeout 300
    menu title Geek USB
    menu background /bg.png
    MENU TABMSG  Created by Salman
    MENU WIDTH 72
    MENU MARGIN 10
    MENU VSHIFT 3
    MENU HSHIFT 6
    MENU ROWS 15
    MENU TABMSGROW 20
    MENU TIMEOUTROW 22
    menu color title 1;36;44 #66A0FF #00000000 none
    menu color hotsel 30;47 #C00000 #DDDDDDDD
    menu color sel 30;47 #000000 #FFFFFFFF
    menu color border 30;44 #D00000 #00000000 std
    menu color scrollbar 30;44 #DDDDDDDD #00000000 none
    
    label HardDisk
        menu label Continue to Boot from ^First HD (default)
        KERNEL chain.c32
        APPEND hd1
        MENU DEFAULT
    
    label MY
        menu label ^MY
        loopback loop /ubuntu-12.04.3-desktop-i386.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-12.04.3-desktop-i386.iso noeject noprompt splash --
        initrd (loop)/casper/initrd.lz
    
    label MIX
        menu label ^MIX
        insmod loopback
        insmod iso9660
        set isofile="/ubuntu-12.04.3-desktop-i386.iso"
        loopback loop $isofile
        kernel (loop)/casper/vmlinuz
        append boot=casper initrd=(loop)/casper/initrd.lz splash --
    
    label MIX2
        menu label ^MIX2
        set isofile="/ubuntu-12.04.3-desktop-i386.iso"
        loopback loop $isofile
        kernel (loop)/casper/vmlinuz
        append boot=casper live-media-path=(loop)/casper/ file=(loop)/preseed/ubuntu.seed initrd=(loop)/casper/initrd.lz splash --
    
    label MIX3
        menu label ^MIX3
        loopback loop /ubuntu-12.04.3-desktop-i386.iso
        kernel (loop)/casper/vmlinuz
        append boot=casper live-media-path=(loop)/casper/ file=(loop)/preseed/ubuntu.seed initrd=(loop)/casper/initrd.lz splash --
    

    My USB is booting and syslinux is working and boot menu (syslinux.cfg) is displaying fine but menus are not working, don't know why? No menu is booting ubuntu-12.04.3-desktop-i386.iso. The worst part is that no error is coming when I select a menu and hit enter, screen blinks and return to main menu.

    What is wrong with my code?

  • sundar
    sundar about 9 years
    You might want to have a look at this multibootusb.org