Table of Contents
Editable Mintstick
Following are instructions to partition, format and prepare a USB stick to be able to boot and contain adjustments like additional drivers/packages or configuration files.
Partition USB Device
Gparted GUI method:
gparted
- delete partitions
- create msdos partition table
- add fat32 partition
- add boot flag
Parted command line method:
umount /dev/sdX1 parted /dev/sdb print #delete existing partitions parted /dev/sdb rm 1 parted /dev/sdb rm 2 parted /dev/sdb rm 3 #create new partition parted /dev/sdb mklabel msdos parted /dev/sdb mkpart primary fat32 0% 100% parted /dev/sdb align-check opt 1 parted /dev/sdb set 1 boot on parted /dev/sdb set 1 lba on #Format as fat32 mkfs.vfat -F 32 -n 'MINTSTICK' /dev/sdX1
alt:
apt-get install parted parted --script /dev/sdX mklabel gpt parted --script --align=optimal /dev/sdX mkpart ESP fat32 1MiB 100% parted --script /dev/sdX set 1 boot on mkfs.vfat -n MINTSTICK /dev/sdX1 mount -t vfat /dev/sdX1 /mnt cd /mnt uniso < /path/to/isofile.iso cd ~ umount /mnt
Bootloader (MBR)
Both syslinux and grub are disk-based boot loaders, and perform similar functions. They are the first software loaded from disk to run. syslinux has pretty much taken a more minimalist approach, whereas GRUB was much more extensive. GRUB also supports different filesystems through the use of a secondary loader.
Ubuntu and its derivatives use both grub and syslinux. GRUB is shown when the ISO image is booted on EFI-capable machine. SYSLINUX is shown when the ISO image is booted on BIOS-only machine.
Plymouth handles the progress dot animation, regardless of GRUB or SYSLINUX is shown.
Syslinux
Syslinux is FAT filesystem based.
initialise using:
syslinux --install /dev/sdX1
This will alter the boot sector on the disk and copy a file named ldlinux.sys into its root directory.
On boot time, by default, the kernel will be loaded from the image named LINUX in the root of the boot media. This default can be changed, see the section on the syslinux configuration file.
#Manual MBR installation and re-enabling partition boot flag
dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdX parted /dev/sdX set 1 boot on
This will write the Syslinux mbr code (mbr.bin) into the master boot record of the drive,
and mark first partition as active (bootable).
Copy a Linux kernel image (like vmlinuz) to the root (/dev/sdX1) of your media.
Lastly, create a 'syslinux.cfg' file in the root of your media (/dev/sdX1) and
enter any configuration options you need/want.
Additional information: https://wiki.archlinux.org/index.php/Syslinux
Grub
sudo mkdir -p /mnt/usb sudo mount /dev/sdX1 /mnt/usb sudo grub-install --target=i386-pc --boot-directory="/mnt/usb/boot" /dev/sdX
EFI installation. Does not install in MBR:
sudo mkdir -p /mnt/usb sudo mount /dev/sdX1 /mnt/usb grub-install --target=x86_64-efi --efi-directory=/mnt/usb --bootloader-id=GRUB
Copy data
sudo mkdir -p /mnt/usb sudo mount /dev/sdX1 /mnt/usb sudo mkdir -p /mnt/iso sudo mount -o loop /tmp/LinuxMint.iso /mnt/iso sudo cp -av /mnt/iso/* /mnt/usb/