Thursday, 11 February 2016

Boot openSUSE ISOs from E2B

openSUSE is rather strange in that it will not boot on E2B directly from the ISO.


However there is a solution which depends on what type of E2B partition you have:



E2B with FAT32 partition

1. Copy the ISO to the \_ISO\LINUX\MNU folder.
2. Add the following file to the same folder -

openSUSE.mnu
(any name will do)
# Only works for FAT32 volumes (not NTFS)

iftitle [if exist $HOME$/openSUSE-Edu-li-f-e.x86_64-42.1.1.iso] openSUSE \n Boot from openSUSE ISO
set ISO=$HOME$/openSUSE-Edu-li-f-e.x86_64-42.1.1.iso
# Must be FAT32 partition
uuid () > nul 
set MYUUID =%?%
map %ISO% (0xff)
map --hook
root (0xff)
echo
set OPT=showopts
echo 0 = Show Options (default)
echo 1 = Mate
echo 2 = Classic
echo 3 = Gnome
echo 4 = Live Install
set /p A=Choose an option (0-4) : 
echo
if "%A%"=="1" set OPT=showopts mate
if "%A%"=="2" set OPT=showopts classic
if "%A%"=="3" set OPT=showopts gnome
if "%A%"=="4" set OPT=liveinstall showopts

set SRC=isofrom=/dev/disk/by-uuid/%MYUUID%:/%ISO% isofrom_device=/dev/disk/by-uuid/%MYUUID% isofrom_system=/%ISO%
kernel /boot/x86_64/loader/linux %SRC% splash=silent quiet %OPT%
initrd /boot/x86_64/loader/initrd 

You will need to change the first two lines to match the name of your ISO.

E2B with NTFS partition

Unfortunately, the openSUSE basic kernel or boot script does not seem to support NTFS, so we need to copy the ISO to a FAT32 partition image (you will need to install the MPI Tool Pack first):

1. Make an empty folder called openSUSE on the Windows Desktop
2. Copy the whole openSUSE ISO file to the openSUSE folder (do not extract the contents)
3. Drag-and-drop the openSUSE folder onto the MPI_FAT32 Desktop shortcut to make a FAT32 .imgPTN file
4. Copy the .imgPTN file to your E2B USB drive (e.g. \_ISO\LINUX folder)
5. Use Switch_E2B.exe, select the .imgPTN file and double-click to switch it in.
6. Add the following lines to the end of the \menu.lst file on the USB drive:

title openSUSE-Edu-li-f-e.x86_64-42.1.1 \n Boot from openSUSE ISO
set ISO=openSUSE-Edu-li-f-e.x86_64-42.1.1.iso
# Must be FAT32 partition
uuid () > nul 
set MYUUID =%?%
map /%ISO% (0xff)
map --hook
root (0xff)
echo
set OPT=showopts
echo 0 = Show Options (default)
echo 1 = Mate
echo 2 = Classic
echo 3 = Gnome
echo 4 = Live Install
set /p A=Choose an option (0-4) : 
echo
if "%A%"=="1" set OPT=showopts mate
if "%A%"=="2" set OPT=showopts classic
if "%A%"=="3" set OPT=showopts gnome
if "%A%"=="4" set OPT=liveinstall showopts

set SRC=isofrom=/dev/disk/by-uuid/%MYUUID%:/%ISO% isofrom_device=/dev/disk/by-uuid/%MYUUID% isofrom_system=/%ISO%
kernel /boot/x86_64/loader/linux %SRC% splash=silent quiet %OPT%
initrd /boot/x86_64/loader/initrd 


You will need to change the first few lines to match your ISO's filename.

Now you can MBR-boot from the .imgPTN file and see the CSM menu and choose the required option (Show options, Mate, Classic, Gnome or Live Install).



These .mnu files will be in E2B v1.77 Sample mnu files folder when it is released.