Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Create an antiX/MX LiveUSB
License
BitJam/live-usb-maker
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Create an antiX/MX LiveUSB
sudo apt-get update # if needed sudo apt-get install git # if needed git clone https://github.com/BitJam/live-usb-maker git clone https://github.com/BitJam/cli-shell-utils cd live-usb-maker sudo ./live-usb-maker
Usage: live-usb-maker [] [default|expert|simple|gui] Create a live-usb from an iso-file, another live-usb, a live-cd/dvd or a running live system. You will be prompted for information that is not supplied in the command line options. default: default "no" to some questions. expert: default "yes" to some questions. simple: skip some questions gui: non-interactive, disable progress bar, enable progress file Uses ext4 as the filesystem for the main live-usb partition and adds a small fat32 file system for booting via UEFI. This will destroy any existing information on . The default partitioning scheme is msdos (due to a bug in some Dell BIOSes). Use the --gpt flag to use gpt partitioning instead. --from="iso-file" Enter an iso file to use as the source --from="clone" clone a running live system. --from=clone= clone from a mounted live-usb or iso-file. --from= copy from a livecd/dvd or live-usb Options: -b --bios-size= Size of BIOS boot partition when using encryption -c --cheat=xxx Add these cheatcodes to the live-usb Use "off" or "no" to disable cheats menu. Use "on" or "yes" to show cheat menus without asking Otherwise you will be asked. --clone-persist Clone persistence files --clone-persist= or pass a parameter: h,home: clone home r,root: clone root -C --color= Set color scheme to off|low|low2|bw|dark|high -E --encrypt Set up to boot from an encrypted partition --encrypt= Phasephrase option: ask Enter the passphrase via the keyboard first-boot Force user to set phrase on first boot file=xxx Read phrase from file random Generate a random passphrase random=N Generate a random passhphrase containing N words (1 -- 20 allowed) -e --esp-size= Size of ESP (uefi) partition in MiB (default 50) --ext-options= Use these options when creating the ext4 filesystem --data-first Place a data partition first on the live-usb --data-first= Specify the file system and or the size (in percent) --format Make a data usb formatted to fat32 by default --format= Make a data usb formated to the give filesystem -f --from= The device, cdrom, or file to make the live-usb from Use "clone" to clone the current live system or use clone= to clone another live-usb -F --force= Force the options specfied: automount: don't temporarily disable antiX automounting fuse: only use fuseiso to mount iso files initrd: ignore Bash errors when copying initrd from directory makefs: make the ext4 filesystem even if one exists nofuse: don't use fuseiso to mount iso files nomd5: don't check md5 of files copied to live-usb ultra-fit: don't warn about SanDisk utra-fit devices usb: Ignore usb/removable check -- --gui-progress All remaining args are used as a gui progress bar program Example: --gui-progress yad --progress --auto-close -g --gpt Use gpt partitioning instead of msdos -G --graphic-ui Use the new graphics user interface (default) --gpt-pmbr Set pmbr_boot disk flag (prevents booting via UEFI) -h --help Show this usage -i --initrd= Update the initrd from using a template-initrd.gz -i --initrd= Use a directory tree as a template -I --ignore-config Ignore the configuration file -k --keep-syslinux Don't replace the syslinux files -L --label=Name Label ext partition with Name -m --msdos Use msdos partitioning (default) instead of gpt -n --no-prog-bar Don't show progress *bar* when copying --no-clone-persist Don't clone persistence files even if they exist --no-clone-persist=
Or pass a parameter: h,home: don't clone home r,root: don't clone root -N --numeric-ui Use the legacy numerical user interface --pause Wait for user input before exit --pause=initrd Pause after unpacking the initrd.gz file --percent-prog Show progress percentage but no bar -p --pretend Don't run commands that affect the usb device -P --progress Create /var/log/live-usb-maker.progress progress *file* -q --quiet Print less -R --reset-config Write a fresh config file with default options -s --size=XX Percent of usb-device to use (default 100) -S --save-boot Save original boot directory when updating a live-usb -t --target= The device to make into a new live-usb -u --update Only update an existing live-usb -v --version Show version information -V --verbose Print more, show command outputs -VV --very-verbose Also show commands -W --write-config Write a config file preserving current options Notes: - short options stack. Example: -pv is the same as --pretend --verbose - options can be intermingled with commands and parameters - config file: /etc/live-usb-maker/live-usb-maker.conf - the config file will be sourced if it exists - it will be created if it doesn't exist
The —verbose and —pretend (which implies —verbose ) options were meant to make it very clear what the script is doing. They also helped in debugging. You can control which steps are done with the commands. The command all does everything. There are a few failsafes built in but they can be disabled with —force and —force-ext .
We want to use ext4 for our LiveUSBs due to its ruggedness and features. But we need a fat32 partition in order to boot via UEFI. So we use ext4 for the main LiveUSB partition and add a 2nd small fat32 partition for booting via UEFI. Legacy booting is done normally with the ext4 partition. The fat32 partition is only used for UEFI booting.
Each partition needs to know about the other one. We communicate this with the UUIDs of the partitions. The fat32 partition needs to know where the kernel and initrd.gz are. This is accomplished with a line like:
search --no-floppy --set=root --fs-uuid $EXT4_UUID
The Live system (on the ext4 partition) needs to know about where the Grub2 UEFI bootloader grub.cfg file is in order to be able to save boot parameters selected by the user. This is accomplished with the antiX/esp-uuid file which contains the UUID of the fat32 ESP partition.
This program started out as proof-of-concept for passing along instructions for creating ext4 LiveUSBs with a small fat32 partition for UEFI booting. In a nutshell: copy the efi/ and boot/ directories to the fat32 partition and then record UUIDs so the two partitons know about each other.
Legacy booting is done via the ext4 partition so it has the boot flag set. UEFI booting is done via the fat32 partition so it has the esp flag set. The fat32 partition only needs the contents of the boot/ directory and the efi/ (or EFI/ ) directory. Some of the contents of boot/ is not needed but this only wastes a few Meg at most.
One complication is the format of the grub.cfg file changed between MX-15 and antiX-16.
For antiX-16, to specify the ext4 UUID you should uncomment the following line and replace %UUID% with the UUID of the ext4 partition:
# search --no-floppy --set=root --fs-uuid %UUID%
For MX-15, you need to add the line. This script adds it before the first menuentry line.
I’ve tried to optimize the ext4 file system with these options:
This reduces the number of inodes, the size of the journal and sets aside no extra space reserved for root. The number of inodes scales with the size of the partition. The idea is that our LiveUSB does not normally contain many files (compared to an installed system) nor does it need extra space reserved for root. Since running out of inodes is very bad and since adding more inodes does not cost a lot space-wise, I’ve tried to err on the side of too many inodes while still keeping well under the default amount.
The partitioning is aligned on 1 MiB boundaries.
Here are results from using various mkfs.ext4 options. All sizes are in Megabytes. The savings are compared to the default settings. These tests were all done on an 32-Gig Samsung Fit using the default 50 Meg fat32 partition in addition to the ext4 partition. The smaller drivers were simulated using —size=25% and —size=6%.
mkfs.ext4 options total avail savings (inodes) ----------------------- ----- ----- ------- -------- A1 -m0 -N2000 -J size=16 30522 30462 2116 (3824) B1 -m0 -N10000 -J size=32 30504 30444 2098 (11472) A2 -m0 -N50000 -J size=32 30493 30433 2087 (53536) D2 -m0 -N100000 -J size=32 30481 30421 2075 (103248) E2 -m0 -i800000 -J size=32 30496 30436 2090 (42064) F2 -m0 -i400000 -J size=32 30487 30427 2081 (80304) G2 -m0 -i200000 -J size=32 30467 30407 2061 (160608) H2 -m0 -i100000 -J size=32 30428 30368 2022 (321216) J2 -m0 -i100000 30332 30272 1926 (321216) Z2 29933 28346 0 (1957888) On 8-Gig (using --size=25%): mkfs.ext4 options total avail savings (inodes) ---------------------- ----- ----- ------- -------- E3 -m0 -i800000 -J size=32 7561 7529 592 (10560) F3 -m0 -i400000 -J size=32 7559 7526 589 (20160) G3 -m0 -i200000 -J size=32 7554 7521 584 (40320) H3 -m0 -i100000 -J size=32 7545 7512 575 (79680) J3 -m0 -i100000 7449 7416 479 (79680) Z3 7349 6937 0 (486720) On 2-Gig (using --size=6%): mkfs.ext4 options total avail savings (inodes) ---------------------- ----- ----- ------- -------- E4 -m0 -i800000 -J size=32 1751 1732 116 (2464) F4 -m0 -i400000 -J size=32 7559 1732 116 (4704) G4 -m0 -i200000 -J size=32 1749 1730 114 (9408) H4 -m0 -i100000 -J size=32 1747 1728 112 (18816) J4 -m0 -i100000 1747 1728 112 (18816) Z4 1723 1616 0 (114240)
About
Create an antiX/MX LiveUSB
LinuxLive USB Creator
LinuxLive USB Creator is a free and open-source software for Windows. It will help you in your journey of discovery with Linux. For you, LiLi creates portable, bootable and virtualized USB stick running Linux.
Note: This product is not developed actively anymore.
Not only for geeks
LinuxLive USB Creator is designed to be used by both beginners and geeks. If you are a beginner, LiLi will let you try Linux for the first time, keeping Windows clean of any modifications. And if you are a geek, LiLi will allow you to test almost any Linux distributions directly from Windows, or just install them from a USB flash drive instead of CDs.
Free and Open-source
LinuxLive USB Creator is a completely free and open-source software for Windows only. It has been built with simplicity in mind and it can be used by anyone. All you have to do is to pick up a Linux on the list and give it a try.
No reboot needed
Are you sick of having to reboot your PC to try Linux? No need with LinuxLive USBCreator. It has a built-in virtualization feature that lets you run your Linux within Windows just out of the box!
Supports many Linux distributions
Wow! Did you see that never-ending list? They are almost all there: Ubuntu, Fedora, Debian, OpenSUSE, Mint, Slax, CentOS, ArchLinux, Gentoo, PCLinuxOS, Sabayon, BackTrack, Puppy Linux.
Persistence
Having a Live USB key is better than just using a Live CD because you can even save your data and install the software. This feature is called persistence (available only on selected Linux).
SmartClean & SmartDownload
SmartClean uninstalls properly any previous Live USB installations and SmartDownload lets you download any supported Linux in 2 clicks automatically selecting the best mirror to download from. SmartClean also lets you clean your USB key in 1 click.