The USBGuard software framework helps to protect your computer against rogue USB devices (a.k.a. BadUSB) by implementing basic whitelisting and blacklisting capabilities based on device attributes. Battle ground gameplay.
Features
- Rule language for writting USB device authorization policies
- Daemon component with an IPC interface for dynamic interaction and policy enforcement
- Command line and GUI interface to interact with a running USBGuard instance
- C++ API for interacting with the daemon component implemented in a shared library
Supported Operating Systems
Currently, USBGuard works only on Linux. To enforce the user-defined policy, it uses the USB device authorization feature implemented in the Linux kernel since 2007. Read this document if you want to know more.
- This is the Mac Linux USB Loader, a tool allowing you to take an ISO of a Linux distribution and make it boot using EFI. It requires a single USB drive formatted as FAT with at least 2 GB free recommended. Mac Linux USB Loader is available under the 3-clause BSD license. The tool is necessary to make certain Linux distributions boot that do not have EFI booting support.
- Rufus is a small application that creates bootable USB drives, which can then be used to install or run Microsoft Windows, Linux or DOS. In just a few minutes, and with very few clicks, Rufus can help you run a new Operating System on your computer.
- Reading the Linux USB Device Filesystem output. The USB device filesystem is a dynamically generated filesystem that complements the normal device node system, and can be used to write user space device drivers. Writing of user space device drivers is covered in the programmer's section of this guide.
Knoppix is a Debian-based Operating System designed for running directly from a USB drive and/or CD/DVD thereby successfully placing a Live Linux Filesystem on CD. Knoppix was first released 18 years ago as one of the first LiveCD distributions and has been in active development ever since and giving rise to similar initiatives such as DSL.
The Need
I was recently using multiple machines for work (Lab machines, friend’s laptop, etc) and I needed Linux. I own a 128GB MacBook Air I could’nt install Linux on it as storage was tiny. I did have a USB 3.0 flash drive which had speeds comparable to some(not-so-fast) harddrives. It struck me that if I install Linux on my flash drive it would make my life a hell lot easier. It was later that I realised it wasn’t so straight forward mainly because of EFI boot and Mac ‘quirks’. I did a lot of googling but could’nt find anything that worked. After reading multiple sources I deduced what was the problem. Since I got it figured out I decided to write this post so that other people can benefit from it.
The problem
- Modern Macs boot using EFI and their bootloader expects boot partition to be HFS+ or APFS(High Sierra) not EXT4.
- Ubuntu installer is buggy and always installs bootloader in EFI partition of internal HDD despite being instructed to install it on EFI partition of flash drive.
- This makes the flash drive only bootable on the mac it was made on
The Solution
Step 1: Preparing live USB for installation
- Download https://unetbootin.github.io/
- Download your favourite Ubuntu flavor, Im using Ubuntu Mate
- Burn the iso to a USB drive(not on your installation flash drive) using UNetbootin
Step 2: Boot using live installation drive
- Plug both drives and press
option+power button
- Choose
EFI boot
option - Choose
Try Ubuntu without Installing
Step 3: Install Linux on target flash drive
- Once into the live session, open terminal and run
ubuquity —no-bootloader
, this will start installation wizard in a mode that wont install a bootloader (Dont worry we will take care of it later)
Linux Usb Io Usb
- Keep going next untill an option comes as shown in below image. Choose
Something else
- On your target drive, create a 200MB
EFI System Partition
as the first partition (Primary) - Create a reasonable sized
ext4
partition, withmount point = '
(Primary)
- Click on
Install
- Reboot into Mac after installation finishes
Step 4: Setting up Boot manager
![Linux usb io command Linux usb io command](https://iitii.github.io/images/Linux/USB/uas.png)
We will be using a super awesome 3rd party boot manager rEFInd. It can detect any operating systems installed in EFI mode and boot them.
- Download rEFInd zip and extract it
- Open Terminal and navigate to rEFInd directory
- Run
diskutil list
and find the name of your flash drive’s EFI partition. (In my case /dev/disk2s1) - Run
./refind-install --usedefault /dev/diskXXX
(replace XXX with appropriate name)
Now your flash drive is ready to boot on any Mac or EFI compatible PC. Moreover, if you ever mess up your bootloader and are unable to boot rEFInd can help you boot into your OS (if it exists :p)
Linux Usb Io Installer
Testing on Mac and PC
MacBook Air (Early 2015)
- Press
option+power
and selectEFI Boot
![Linux Usb Io Linux Usb Io](https://i.pinimg.com/originals/c5/2f/93/c52f9391cd11179a526995136719e87f.jpg)
- Select your apropriate Linux to boot
Run Linux On Usb
Asus X550LD (PC)
Linux Live Usb
- Boot from flash drive in
UEFI Mode
Linux Usb Download
- Select your apropriate Linux to boot