Friday, 23 June 2017

Add PeppermintOS 8 + persistence to E2B

PeppermintOS 8 is based on Ubuntu\Lubuntu, so I have modified one of the Ubuntu_Persistence Sample menu files.



I used the Peppermint-8-20170527-amd64.iso (1.2GB) with the .mnu file shown below:

Peppermint8_x64_Persistent.mnu

# Make a ext3 file using RMPrepUSB in the root of the drive (i.e. File Name=pmint-rw  Volume Name=casper-rw)
# Place this .mnu file and the PepperMint ISO in either \_ISO\MainMenu\MNU or \_ISO\Linux\MNU
# This menu will work even on an NTFS USB boot drive
# IMPORTANT: you MUST run WinContig (Ctrl+F2) before booting E2B.

iftitle [if exist $HOME$/Peppermint-8-20170527-amd64.iso] Peppermint 8 (x64)\n Boot using .mnu file with persistence

set ISO=$HOME$/Peppermint-8-20170527-amd64.iso
set PER=/pmint-rw

if exist CD echo WARNING: Cannot use partnew command! && pause && configfile (bd)/menu.lst
if "%E2BDEV%"=="" set E2BDEV=hd0 && pause E2BDEV forced to hd0!
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (%E2BDEV%,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%E2BDEV%,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
echo
if not exist %PER% echo -e $[0x0c]WARNING: %PER% persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (%E2BDEV%,2) 0x0 %PER%
errorcheck on
#map ptn 4 to ISO
partnew (%E2BDEV%,3) 0x0 %ISO%
map %ISO% (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/peppermint.seed boot=casper persistent quiet splash vga=791 --
initrd /casper/initrd.lz 
boot

To determine the correct kernel parameters, I looked at the /isolinux/txt.cfg file inside the ISO and then added 'persistent' before the -- separator.

For older CPUs, you may need to add the forcepae parameter before the -- sign.

The Sample .mnu file can be found in the next E2B v1.94 or in the Alternate Download Area - mnu files - linux folder.


isolinux/txt.cfg

default live
label live
menu label ^Try Peppermint OS Live
kernel /casper/vmlinuz.efi
append noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/peppermint.seed boot=casper initrd=/casper/initrd.lz quiet splash --
label live-install
menu label ^Install Peppermint OS
kernel /casper/vmlinuz.efi
append noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/peppermint.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash --
label oem-install
menu label ^OEM install for manufacturers
kernel /casper/vmlinuz.efi
append noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/peppermint.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash oem-config/enable=true --
label check
menu label ^Check disc for defects
kernel /casper/vmlinuz.efi
append noprompt boot=casper integrity-check initrd=/casper/initrd.lz quiet splash --
label memtest
menu label Test ^memory
kernel /install/mt86plus
label hd
menu label ^Boot from first hard disk

localboot 0x80