xor eax, eax

Ø main()
Ø fireworkx
Ø amp
Ø gallery
Ø feedbacks
Ø about


flag counter

Multiboot Android, Linux ISOs and Windows setup using GRUB

Using GRUB, a single USB flash drive can be deployed with mulitboot options of Android x86, Linux Mint, Manjaro Linux live boot ISO images and Windows 10 setup alongside at the same time. The advantage is; you need not to keep separate bootable DVD or USB drives for each OS. And, since the drive is FAT32 formatted, the remaining space on the USB media can be utilized for regular file storage.

Ø Prerequisites

Ø Step 1: Prepare USB disk

Here, the target is a drive with 'MSDOS' partition table, 'FAT32' partition with a label (MULTIBOOT) and 'BOOT' flag set. You can use your own weapon of choice; any disk partitioning tool which can do the aforementioned tasks. Here, using Gparted for aesthetics!

Run Gparted as root.
Make sure of the selected drive to be the USB flash drive.
gparted /dev/sdX
Create 'MSDOS' partition table.

Create New 'FAT32' partition and affix a label (eg. MULTIBOOT). FAT32 label should not exeed 11 characters limit or contain special charaters including dots and commas and lowercase is not supported.

Apply All Operations (Partioning and formating).

Right click on the partion, choose 'Manage Flags' and set 'BOOT' flag.

Ø Step 2: Install GRUB

Mount the partition to /mnt
mount /dev/sdX1 /mnt
Create directory /mnt/boot
mkdir /mnt/boot
Install GRUB to /dev/sdX
grub-install -v --boot-directory=/mnt/boot /dev/sdX
Now the drive is bootable, GRUB only.

Ø Step 3: Configure Boot Menu

Copy the ISO files to USB drive.
cp -v Downloads/*.iso /mnt/
Copy this to /mnt/boot/grub/grub.cfg
insmod part_msdos


menuentry "Android-x86" {
	set isofile="/android-x86_64.iso"
	loopback loop $isofile
	linux (loop)/kernel root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug iso=$isofile DATA=
	initrd (loop)/initrd.img

menuentry "Linux Mint Cinnamon" {
	set isofile="/linuxmint-cinnamon-64bit.iso"
	loopback loop $isofile
	linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject toram
	initrd (loop)/casper/initrd.lz

menuentry "Manjaro Linux" --class dvd {
	set dri="free"
	set isofile="/manjaro-xfce-x86_64.iso"
	loopback loop $isofile
	linux (loop)/boot/vmlinuz-x86_64 img_dev=/dev/disk/by-label/MULTIBOOT img_loop=$isofile driver=$dri
	initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img

menuentry "Windows 10 installation" {
	ntldr /bootmgr

menuentry "Boot from Hard Disk Drive" {
	insmod chain
	set root=(hd1)
	chainloader +1
Now the drive is ready to live boot Android and Linux.

Ø Step 4: Adding Windows Setup

Windows ISO needs to be extracted to the USB drive.
mkdir /tmp/windows-iso
mount -o loop Windows-10.iso /tmp/windows-iso
rsync -av /tmp/windows-iso/ /mnt/
Done... unmount.
unmount /mnt/


Ø Parallel Resistance Calculator
Ø Voltage Divider Calculator
Ø LM317 Calculator
Ø Volume Control Pot with Parallel Resistor Graph tool
Ø Power Dissipation Across Transistor/MOSFET
Ø Display PPI Calculator
Ø Blogandrum - The Complete Conundrum
Ø The Eight Queens Puzzle
Ø Fireworkx : Linux version
Ø Kunthrantum - very low distortion audio power amplifier
Ø Creative AudioPCI soundcard mods (Ensoniq ES1370, AK4531)
Ø Buffered Flash memory access routines for PIC microcontrollers
Ø Fireworks : Windows version, coded using Win32 ASM
Ø SparcZ - tiny telnet server with remote desktop administration powers