There aren't too many simple guides that show you how to use commands to setup your USB or other drive as a normal bootable drive where you can easily boot custom kernels or whatever OS you would like.
1. Get the tools we need:
We install "syslinux" for MBR and "syslinux-efi" for EFI and "MBR" as we need a tool that embeds the actual MBR into our USB:
sudo apt install syslinux syslinux-efi mbr........
Many people may not be aware that you can turn commodity hardware into a Mikrotik OS and there are various options which is "CHR" (Cloud Hosted Router) which is a VMimage meant for Virtualization only (seriously, I've tried to dd the image to a physical server and it just crashed as it does not contain any drivers for physical).
One note as well if you are trying to do a baremetal install you may get an error "Error Loading Operating System" or........
Use fdisk on your USB drive to create a bootable NTFS partition (in my case /dev/sdb):
sudo fdisk /dev/sdb
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
p primary (0 primary, 0 extended, 4 free)........
There are many ways but a favorite way is to boot any Linux LiveCD and to use the syslinux package like so:
Just change the "sdx" to your sd for example /dev/sda or whatever the drive is that is supposed to boot Windows.
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdx
0+1 records in
0+1 records out
440 bytes copied, 0.0197808 s, 22.2 kB/s........
Just type the command:
By default it will boot the first local drive "0". Ibelieve you can specify a different number to boot a different device.
(will boot the 4th BIOS device)'........
This is something I often setup for clients because it's very helpful for people in datacenters, this allows custom OS installs on demand, you can customize it more by using kickstart etc.. but here's a base I use before customizing more:
This little script below will install everything you need to get booting by PXE Linux.
It also assumes you set a local IP (be sure not to overwrite your existing IP) on eth0:0 (note the :0) as 192.168.1.10 and it........