commit 3df631352cf6d3a8cf7c05846425821ea6575a16 Author: Russ Long Date: Thu Apr 4 14:36:27 2019 -0400 Initial commit diff --git a/resources/MyE2B.cfg b/resources/MyE2B.cfg new file mode 100644 index 0000000..496b2b0 --- /dev/null +++ b/resources/MyE2B.cfg @@ -0,0 +1,618 @@ +!BAT +# IMPORTANT: This file MUST begin with !BAT + +# PLEASE READ www.easy2boot.com for full details +# --- THIS FILE SHOULD BE COPIED to \_ISO\MyE2B.cfg and then edited to use +# your own settings, change the language, Main heading, Footer, startup behaviour, etc. +# +# HELP USING THIS .CFG FILE +# # this single # symbol comments out a line - these lines contain help or information +# ### three # symbols means you can uncomment and use these lines - they contain grub4dos commands which can be used to change the E2B settings +# +# e.g. +# # Auto menu - this line should not be changed - do not delete the # symbol +# ###set DEFM_MNU=0 - this line can be uncommented by deleting the ### symbols and then changed by the user if required + +# If you wish, you can delete any whole line beginning with # or ### to make the file more legible + +# SUB-MENU HEADINGS are in the STRINGS.TXT files (different languages) +# Menu entries and E2B phrases are also in the STRINGS.TXT file +# DO NOT EDIT THE \_ISO\e2b\grub\ENG\STRINGS.TXT file - copy it to \_ISO\e2b\grub\FRED\STRINGS.TXT and use 'set LANG=FRED' in this file to use it +# WARNING: If you have a \_ISO\STRINGS.txt file, this will over-ride any language setting + +# ----- GRAPHICS MODE AND WALLPAPER ----- +# set graphics mode - use 640, or 800 or 1024 - or specify full mode - e.g. 800 600 24 +# 640 and 800 is supported by the default background bitmap - you can define exact size - e.g. GMODE=800 600 or GMODE=800 -1 24:32 (800 by *anything* with 24 or 32-bit colour) +set GMODE=800 + +# set the WALLPAPER BACKGROUND +# The size of your background bmp must match the GMODE setting (e.g. use 1024x768 bitmap and set GMODE=1024) +# Change the path and filename below if you wish - .bmp and .bmp.gz supported (.bmp can be compressed using LZMA_Encode). grub4dos 0.4.6a also supports .jpg files. +set MYWBMP=/_ISO/mybackground.bmp + +# If GMODE is set to a number (e.g. 800 or 1024 for graphics mode), then we can fill the screen with a single colour instead of using a bitmap +# This is quicker than loading a bitmap file - must begin with 0x (zero x) and be in RGB format 0xrrggbb +###set MYWBMP=0xff0033 + +# --------- MAIN MENU HEADING ----- +# start the heading with \x20 if you need leading spaces. +# special variables can be used. %B64% is CPU type + Memory size - e.g. [486MB 64-bit]; %VER% is E2B version - e.g. 1.65; use %@date% or %day%-%month%-%year% for date + +set HEADING=\x20 Liquid Web SMR USB - MAIN MENU (%VER%) %B64% + +# Heading position is set by HEADPOS + HPAD - all menu headings affected (must be 4 decimal numbers) +# set start position of HEADING using HEADPOS=YYXX - default position = HEADPOS=0000 = top-left, 0200 = 3rd line down - should always end in 00 if you use CENTREHD=1 +set HEADPOS=0000 +# HPAD sets space padding (alignment) before all menu headings - NORMALLY, NO NEED TO CHANGE THIS! +# this is usually automatically calculated by E2B from the rstart value (\x20 is same as one space character) +###set HPAD=\x20 \x20 + +# ----- CENTRE ALL MENU HEADINGS ----- +# CENTREHD=xx causes the menu headings to be centred inside xx characters - e.g. if CENTREHD=60 then middle will be at (HPAD)+30 +# If CENTREHD=1 then the menuw value (see below) is used to calculate the centre position - Use CENTREHD=1 for normal centred headings +# To centre all headings on an 800 pixel screen width (not menu width) use CENTREHD=98, HEADPOS=0100, HPAD=\x20\x20 +### set CENTREHD=1 + +# ----- HEADING COLOUR ------- +# HCOLOUR sets the colour of the HEADING text +# HCOLOUR=ABCD specifies the text colour [BLINK|BRIGHT_F|BACKGROUND|FOREGROUND] +# A=0-1 1=BLINK text (does not work under VM or in graphics mode) - i.e. only works if GFX=none is used. +# B=0-1 1=BRIGHT_F sets bright value for foreground text +# C=0-7 =BACKGROUND colour - transparent if graphics mode so has no effect! +# D=0-7 =FOREGROUND menu text colour +# Colours parameters are: 0=black/grey 1=blue, 2=green, 3=cyan, 4=red, 5=pink, 6=yellow/brown, 7=grey/white. +# e.g. 0133 is non-blinking bright cyan text (on a dark cyan background if not in graphics mode) - if a wallpaper is used (graphics mode) it becomes _1_3 = bright-cyan, because background value is ignored. +set HCOLOUR=0103 + +# --- FOOTER HELP TEXT TO DISPLAY AT BOTTOM OF SCREEN --- +# HBTM = Bottom HELPTEXT POSITION YYXX - for 640x480 use HBTM=2802 - for 800x600 use HBTM=3502 (Note: HPAD is NOT used to pad out the HELPTEXT). For GFX=none use HBTM=2400 or set >24 for off-screen. +set HBTM=3502 +# Colour of HELPTEXT (see HCOLOUR above for meaning) +set FCOLOUR=0103 +# use \x20 for no text at the bottom of the menus - e.g. set HELPTEXT=\x20 (%^LANG% will display the current language); use %@date% or %day%-%month%-%year% for date +set HELPTEXT=HDD0 [F7] Back [F8] Reboot [F9] Power Off [F10] (%^LANG%) + + +# -------- MENU COLOURS ------- +# Colour pairs are Text/Background - i.e cyan/blue = cyan text on blue background +# Use black if a transparent background is required for menu highlight background - e.g. highlight=red/black +# Valid colours are: black, blue, green, cyan, red, magenta, brown, light-gray, dark-gray, light-blue, light-green, light-cyan, light-red, light-magenta, yellow and white. +# normal = normal menu text +# highlight = highlighted menu text when a menu entry is selected +# helptext = the colour of the title help text shown just below the menu box +# standard = the console background and text colours (e.g. when listing files) +# border = the colour of the border of the menu box +# For GFX Boot menu, only color standard=xxxx/yyyy is valid (suggest use black background - e.g. color standard=cyan/black) +color normal=light-cyan/black highlight=red/black helptext=yellow/black standard=light-cyan/black border=light-gray/black + +# -------- 24-BIT MENU COLOURS ------- +# You can instead set a 24-bit full colour value using 0xRRGGBB, the value must be larger than 0xFF to work correctly however +# the background colour will be set to black (transparent in graphics mode menus) if number is >0xFF +# See http://www.rapidtables.com/web/color/RGB_Color.htm +# Red=0xFF0000 Green=0x00FF00 Blue=0x0100FF (must be larger than FF so use 01 for red!), Yellow=0xFFFF00, White=0xffffff, Brown=0x994c00 +# Examples: +### color normal=0x777700 +### color highlight=yellow/light-gray ;; # use for yellow text on light-grey background - limited colours for highlight colour +# OR... +### color highlight=0xFFFF00 ;; # yellow + background will be transparent +### color highlight=0x0022222200FFFF00 ;; # yellow + background will be 222222 (v. dark grey/black) +### color helptext=0xFFFFFF +### color standard=0x994c00 +### color border=0xFF0000 + +# If you define a highlight background colour (not transparent), make the highlight bar only as long as the text +# set full length highlight bar for selected menu item (--highlight-short or --highlight-full) +### setmenu --highlight-full > nul +### setmenu --highlight-short > nul + +# ----- MENU POSITION --- +# n = unchanged (if wdspace or lnspace is not n then screen is cleared) - default for wdspace and lnspace is 0 or n +# if using GFX=none for text mode and CENTREHD=1, set menuw=78 and rstart=2 to get centred menu headings +# Note: The grub4dos menu system allows 4 lines of menu help text + 1 line for it's own messages (e.g. default timeout) +# Therefore you need to leave space for 5 free lines of text under the menu (e.g. if tophelp=26, then lines 26,27,28,29 & 30 are used for help text) +# 800x600 = 100 characters (0-99) by 37 lines (0-36), 1024x768 = 128 characters (0-127) by 48 lines (0-47) +# You can increase line separation using (for example) lnspace=8. Note thst you will need to reduce topstart and noitems too +set wdspace=n +set lnspace=n +set bdwidth=1 +set rstart=3 +set menuw=62 +set topstart=2 +set noitems=24 +# use tophelp = topstart + noitems for menu help text just under menu box - for 640x480 noitems=18 tophelp=20 - for 800x600 noitems=24 tophelp=26 +#set /a tophelp=%topstart% + %noitems% > nul +set tophelp=26 + +# ---- SHOW FILE EXTENSIONS IN MENU ---- +# Don't show file extensions in menu +set EXTOFF=1 +# Show file extensions in menu +### set EXTOFF= + +# --- NO USER PROMPT FOR .imgPTN FILES ----- +# .imgPTN AUTO-RUN - if any .imgPTNxxx family is selected, switch partitions and display CSM menu with no user prompt +### set AUTOCSM=1 + +# --- BEEP WHEN MAIN MENU LOADS ---- +# Beep when Main Menu loads, values 1, 2 or 3 only (only works if internal speaker fitted to system) +### set beep=3 + +# Suppress the QRUN.g4b 'best file extension suggestions' and advice messages + no pause in isoboot +set NOSUG=1 + + +# NOWINXP removes the 'Boot from HDD0', 'List PCI devices' and the 32/64bit menu separator from the Windows Menu +# useful to keep the menu tidy if you do not have WinXP ISOs +### set NOWINXP=1 + + +# --------------------------------------- ADVANCED MENU SETTINGS ------------------------------------------------------------------------------ +# DO NOT DELETE THE LINE ABOVE! - Settings below this next line will be preserved when using the E2B_Editor + +# Tip: To permanently remove the grub4dos text at top of screen and grub4dos startup messages, run \_ISO\docs\patchme from the grub4dos console +# See http://www.easy2boot.com/configuring-e2b/mye2b-cfg/ - patching grub4dos + +# If you set the TSUG variable (suggested timeout in seconds) in your \_ISO\MyE2B.cfg file, you can change the timeout behaviour of QRUN.g4b Auto-Suggest, e.g. +# No timeout - auto-suggest will always wait for the user to press a key +###set TSUG=0 +# Change auto-suggest timeout (1-989) - e.g. 10 = wait 10 seconds +###set TSUG=10 +# use default timeout of 3 seconds, but if user does not press a key, always use the suggested file extension (if not .isoask), valid range = 990 to 999 +###set TSUG=993 +# Always wait for user - if user presses ENTER only, the suggested file extension will be used instead of the current file extension +###set TSUG=990 + +# --- GRUB4DOS 0.4.6 + USB DRIVERS --- +# The file \grldr is the grub4dos code that is loaded on booting. If you want to use v0.4.5c on boot-up then overwrite it using the file \_ISO\e2b\grub\grldr_045 +# Grub4Dos 0.4.6 has built in USB drivers and so it can bypass the BIOS USB code - useful if you have buggy BIOSes +# Tip: Hold down the SHIFT key just before E2B starts to boot and E2B will load the grub4dos fast USB rd/wr driver automatically +# To ALWAYS use grub4dos 0.4.6 and initialise the USB drivers on start-up use GRUB_USB=Y (not recommended - can cause problems) +### set GRUB_USB=Y + +# To ALWAYS switch to version 0.4.5 and use \_ISO\e2b\grub\grldr_045 (not recommended as some functions may not work) +###set GRUB_USB=045 + +# To prevent E2B refusing to boot if partition 4 (hd0,3) is present, uncomment the two ### lines below - +# WARNING: THIS WILL ERASE PTN #4 (hd0,3) ON THE E2B DRIVE EACH TIMe YOU BOOT! +###if exist (hd0,0)/_ISO/MyE2B.cfg partnew (hd0,3) 0 0 0 +###if exist (hd0,1)/_ISO/MyE2B.cfg partnew (hd0,3) 0 0 0 +# To always erase ptn 3 on boot, uncomment the two ### lines below - check ptn 3 is not used or you may delete a data partition on your E2B drive! +# WARNING: This will delete PTN #3 (hd0,2) on the E2B DRIVE +###if exist (hd0,0)/_ISO/MyE2B.cfg partnew (hd0,2) 0 0 0 +###if exist (hd0,1)/_ISO/MyE2B.cfg partnew (hd0,2) 0 0 0 + +# ----- PROGRESS MESSAGE CONTROL ---- +# Display background image and cursor immediately so startup messages are printed over the background (but screen won't scroll nicely if it gets full of text!) +# call Fn.70 3 +# Set cursor off the screen so no text or cursor is seen for a while (cursor set to column 0 row 128!) +# call Fn.5 0 128 +# Turn off cursor and splashimage until Main Menu is shown - useful if you have disabled startup messages and don't want the cursor character at the top of the screen! +# call Fn.70 0 ;; clear +# If you want to get rid of any earlier screen text use clear +# clear +# Examples (use ONE of the following lines by removing the ### characters) +# Use this line for a blank screen startup with no progress messages +# Tip: use patchme to prevent early grub4dos messages (see \_ISO\docs\PatchMe_ReadMe.txt) +###call Fn.70 0 ;; clear ;; call Fn.5 0 128 ;; set redirp=> nul ;; set redir=> nul +# +# Use this line to display the background image as early as possible with a few progress messages +###call Fn.70 3 ;; set redir=> nul +# +# Use this line to display the background image as early as possible with no startup messages except an initial quick 'Please wait...' message +###call Fn.70 3 ;; set redir=> nul ;; set redirp=> nul ;; debug -1 ;; pause --wait=1 Please wait... ;; debug 0 + + +# Silent MBR boot of stage 1.5 grub4dos (works for both 0.4.5c and 0.4.6) - one reboot is required for it to permanently take affect. +### if exist /_ISO/docs/PatchMyMBR call /_ISO/docs/PatchMyMBR > nul +# Silent startup of grub4dos - no diagnostic/info messages (only works for 0.4.6a by changing debug msg=2 to debug msg=0) - permanently changes /grldr files (please use \_ISO\docs\patchme for patch if not using 0.4.6) +### cat --locate=\x02 --replace=\x00 --skip=0x2073 --length=1 /grldr > nul +### if exist /%grub%/grldr_046 cat --locate=\x02 --replace=\x00 --skip=0x2073 --length=1 /%grub%/grldr_046 > nul + +# ---- E2B STARTUP AND OTHER MESSAGES ---- +# SUPPRESS STARTUP FILE ENUMERATION INFORMATIONAL MESSAGES from AUTOMN.g4b, etc. +###set redir=> nul + +# SUPPRESS OTHER (important) E2B MENU.LST PROGRESS MESSAGES (NOT recommended!) +###set redirp=> nul + +# Note: redir and redirp may affect the text displayed when a .imgPTN file is selected. Read more at http://www.easy2boot.com/configuring-e2b/mye2b-cfg/ + +# Display ASCII Easy2Boot text for 1 second (http://www.askapache.com/online-tools/figlet-ascii/ or http://www.ascii-art-generator.org/ - use 99 as width) +###graphicsmode -1 800 > nul ;; cat /%grub%/ASCII_E2B.txt && pause --wait=1 > nul + +# ---- MENU NUMBERING ---- +# E.g. The user can type '23' to select item 23 in the menu and so it is useful to have the menu item numbers displayed on the menu. +# Auto-numbering is enabled by default. AUTONUM=CCMM where CC is the marker/arrow character (byte) and MM is bit0 = numbering and bit1 = space after number, +# Use AUTONUM=0x0000 to turn auto-numbering off, 0x2001 sets numbering on with a space after number (default), 0x2d01 autonumber with hyphen after number, 0x1a01 arrow, 0x3a01 colon, 0x0701 dot +# e.g. 0x2d00=►menutext, 0x2d01=►nn-menutext, 0x2d02=► menutext (has three spaces), 0x2d03=same as 0x2d01 (where nn=two-characters for menu numbering 0-9/10-99) +###set AUTONUM=0x0000 + +# The default highlighted menu marker is a solid arrow symbol ► - it can be removed or changed (0x16 for →, 0x07 for a dot or 0 for no symbol) grub4dos 2014-08 or later. +### write 0x8308 0 > nul + +# ----------- DISABLE AUTOMENU feature ----------------- +# E2B will allow you to press the first letter of a menu item to jump to it - grub4dos keys p, e, b and c keys will only work if SHIFT is held down +# AUTOMENU = OFF will disable the AUTOMENU jump feature and special grub4dos p, e, b, c keys must be lower case (don't hold down SHIFT key) +###set AUTOMENU=OFF + +# ---- GFX menu support ---- +# If you really want to use a gfxmenu or @DED-LEGO@ or GFX-RIPPER then specify the 'message' file here - http://www.easy2boot.com/configuring-e2b/gfx-menu-support/ +# There are many gfxmenu limitations (on error goes into text mode, no timeout or default option, number of ISOs cannot be displayed, etc. etc.) +# Tip: grub4dos 0.4.6a supports large fonts - see FONTH below +# Place your gfxmenu file in the /_ISO folder. Change the GFX= line to match the name of your file (path is always relative to \_ISO) +set GFX= +###set GFX=message +###set GFX=docs/Templates/GFXMenu/message + +# ---- TEXT MODE (no fancy wallpaper and no unicode font used - quick to load) --- +# NO GRAPHICS MODE OR WALLPAPER or GFXMenu +# Text-mode menu (no wallpaper) - suppresses graphics mode (must use 'GFX=none') +# Try these settings if using text mode - set HBTM=2301 set HCOLOUR=0104 set FCOLOUR=0104 +# and use these text colours - color normal=light-cyan/dark-gray highlight=red/cyan helptext=yellow/light-gray standard=light-cyan/black border=red/black +###set GFX=none + +# ---- KEYBOARD TYPE ----- +#set which keyboard you are using (use one only!) - see the KBD_xxxx.g4b files in the grub folder if you want to modify the key mapping +#Note: Passwords may not work properly if the keyboard scan code mapping is not correct! Default = US keyboard +###set KBD=KBD_AZERTY.g4b +###set KBD=KBD_FRENCH.g4b +###set KBD=KBD_GERMAN.g4b +###set KBD=KBD_ITALIANO.g4b +###set KBD=KBD_JAPAN_106.g4b +###set KBD=KBD_QWERTY_UK.g4b +###set KBD=KBD_QWERTZ.g4b +###set KBD=KBD_SPANISH.G4B +###set KBD=KBD_QWERTY_UK.g4b + +# set the keyboard type now +# the next line ensures the correct keyboard scan codes will be recognised if using a non-USA keyboard (not required unless asking for password in this cfg file) +###if not "%KBD%"=="" call /%grub%/%KBD% %redirp% + + +# ---- LANGUAGE SUPPORT ---- +# To change language from ENGlish, look for supported language folders in the \_ISO\e2b\grub\xxx folders +###if "%LANG%"=="" set LANG=ARABIC && set RTL=1 +###if "%LANG%"=="" set LANG=DUTCH +###if "%LANG%"=="" set LANG=ENG +###if "%LANG%"=="" set LANG=FRENCH +###if "%LANG%"=="" set LANG=GERMAN +###if "%LANG%"=="" set LANG=GERMAN_ALT +###if "%LANG%"=="" set LANG=ITALIAN +###if "%LANG%"=="" set LANG=POLISH +###if "%LANG%"=="" set LANG=PORTU_BRAZIL +###if "%LANG%"=="" set LANG=ROMANIAN +###if "%LANG%"=="" set LANG=RUSSIAN +###if "%LANG%"=="" set LANG=SIMP_CHINESE +###if "%LANG%"=="" set LANG=SPANISH +###if "%LANG%"=="" set LANG=SWEDISH +###if "%LANG%"=="" set LANG=TRAD_CHINESE +###if "%LANG%"=="" set LANG=UKRAINIAN + +# use RTL for RIGHT-TO-LEFT LANGUAGES ---- +# e.g Arabic. Uncomment first line below to right-align menu entries. RTL=1 means use menuw value - or set RTL= - e.g. 'set RTL=58' to adjust position of menu headings +###set RTL=1 +# For RTL support, we must use 'set AUTONUM=0' to turn off menu numbers and 'write 0x8308 0 > nul' to turn off menu marker arrow +###set AUTONUM=0 +###write 0x8308 0 > nul + +# User Language Selection - prompt user before Main Menu is displayed - see \_ISO\e2b\grub folders for all available languages +# Uncomment all the following lines (remove ###) to ask user to choose a different language (edit as required) +###if not "%DONEMENU%"=="" goto :skplang +###echo CHOOSE A LANGUAGE +###echo +###echo C = Chinese (Simplified) +###echo TC = Chinese (Traditional) +###echo E = English +###echo G = German +###echo S = Spanish +###echo +###set /p ask=Which language : +###if /i "%ask%"=="C" set LANG=SIMP_CHINESE +###if /i "%ask%"=="TC" set LANG=TRAD_CHINESE +###if /i "%ask%"=="G" set LANG=GERMAN +###if /i "%ask%"=="S" set LANG=SPANISH +###if /i "%ask%"=="E" set LANG=ENG +###:skplang + + +# ---- IF YOU ARE USING A REMOVABLE USB FLASH DRIVE (or are not going to use a 'Helper' USB flash drive) --- +# no need to search for WINHELPER.USB so set NOHELPER=1 (or use if E2B hangs at 'Looking for WINHELPER.USB...' ) +# speeds up booting to Main Menu slightly +###set NOHELPER=1 + + +# ---- PASSWORD PROTECTION ----- +# E2B default menu edit password is easy2boot +# The line below will set a password of 'easy2boot' to stop users editing the menus accidentally (encrypted) +# You can use an encrypted md5 value or a plain text value (see www.easy2boot.com - Configure E2B - Protection and Security for md5 calculation details) +# If you want to edit the menus, press p and then enter the password (or you can use an unencrypted password like this: 'set pwd=fred') +# Does not work if using GFX Menu +# Set encrypted password of easy2boot +###set pwd=--md5 $1$1$okAQ3AJUdhqf3TVrwKvJP1 +# OR set plain text password of fred +###set pwd=fred + +# Any payload file extensions ending in "pwd", e.g. Ubuntu.isopwd, will ask for a password before they will run +# If menupwd is defined, then that will be the required password for the payload file +# If menupwd is not set then the pwd (E2B menu edit password) will be used (if set) +# e.g. if file = Ubuntu14.1.isopwd or Win7Install.imgPTNpwd and menupwd=fred then you must enter fred before the payload will run +# if both menupwd and pwd are not set, then no password will be prompted for +# Can use md5 encrypted password or plain text... +### set menupwd=--md5 $1$fzr3$gtBm4hqXA1CohTSpMsuxG1 +### set menupwd=fred + +# --- MASTER PASSWORD --- +# To prompt user for password or PIN code, we must set up graphics, etc. now +# GMODE was already set in the lines above - run graphicsmode before splashimage +###graphicsmode -1 %GMODE% > nul +# If you want to display a different background bitmap just for the Master password user input (see below), use these 3 lines below +###call Fn.70 3 +###splashimage /_ISO/docs/Templates/Aliums/Aliums.bmp.gz > nul +###clear +# for a better method of password input, see www.easy2boot.com/configuring-e2b/protection-and-security/ +# the next line changes the font immediately but can cause a delay whilst it loads - ensure in graphics mode +###font ()/%grub%/unifont.hex.gz +:mpwd +# If you want to set a Master password for Easy2Boot to prevent anyone from using it on first boot +# (e.g. 'fred') uncomment and edit the lines below (you can use password --md5 xxxxxxxx format if you wish) +###if exist DONEMENU goto :pok +###clear && echo && echo ENTER E2B MASTER PASSWORD +###debug 0 +###password fred && goto :pok +###echo && set /p:2 ask=WRONG PASSWORD! +###goto :mpwd +:pok +###if not exist DONEMENU echo + +# To reboot if the password is wrong, replace the line goto :mpwd with the grub4dos command reboot +# This will cause MYWBMP background to be always loaded before displaying the Main Menu - use only if you enable FASTLOAD *AND* use splashimage for Master password as above +###set DONEMENU= + +# --- MONTHLY PIN CODE --- +# The user must enter the "4 digit PIN code of the month" +# Windows PIN CALCULATOR app is available on request +# VARIABLES BELOW CAN AFFECT ACTIONS OF TP.g4b +# SEED - 4 digits - this is your special SEED number - default is 1985 +# set number of allowed attempts - default is very large! +# +# SPECIAL OPTIONS: TESTPIN and PINRETURN +# set TESTPIN as first user guess or else user will be prompted for PIN code - if pin code is wrong, user will be prompted again (unless ATTEMPTS=1) +# if PINRETURN is set then call to TP.g4b will always return after n ATTEMPTS or on success. PINRETURN=OK if correct pin number was used. +# Typical use: Uncomment only the 6 ### lines, set ATTEMPTS and SEED. E2B Version line can be altered for any special message you like. Leave ##SS# lines alone. +###if not exist /%grub%/TP.g4b halt +###if exist DONEMENU goto :TPfin +###set SEED=1985 +###set ATTEMPTS=3 +##SS#set TESTPIN=8684 +##SS#set PINRETURN=1 +###echo E2B VERSION %VER% +###call /%grub%/TP.g4b +##SS#if not "%PINRETURN%"=="OK" reboot +##SS#if "%PINRETURN%"=="OK" clear +:TPfin + +# --- ENCRYPT FILES --- +#Tip: For even better security, use 7Zip to compress this file to GZip format or use lzma.exe (See www.easy2boot.com - Configure E2B - Protection and Security) +# \_ISO\docs\E2B Utilities\LZMA has useful batch files to encrypt files +# You must keep the file name unchanged (e.g. MyE2B.cfg) and can also set it's file attribute to 'Hidden' and 'System' or set permissions if NTFS E2B drive used. + +# ---- SET AN EXPIRY DATE - EXAMPLES ----- +# Change the 20151230 date below to alter the expiry date and change the message - you can use reboot instead of halt +###if 20160320<=%@date:~0,4%%%@date:~5,2%%%@date:~8,2% pause --wait=3 THIS SOFTWARE HAS EXPIRED! && halt + +# Use this code to only allow use on weekdays +###call /%grub%/dow.g4b %@date:~0,4% %@date:~5,2% %@date:~8,2% +###if "%dow%"=="0" pause It's Sunday! && halt +###if "%dow%"=="6" pause It's Saturday! && halt +###set dow= + +# See http://www.rmprepusb.com/tutorials/grubutils#TOC-Another-Batch-file-example---use-checkdate.g4b-to-check-an-Expiry-Date +# set 14 day expiry date from 28th March 2016 +###call /_ISO/e2b/grub/checkdate.g4b 2016 03 28 14 SILENT +###if not "%CHECKDAT%"=="OK" echo E2B EXPIRED! && halt +###set CHECKDAT= + +# --- CLONE PROTECTION (lock to this drive only) --- +# This code gets the exact size of the E2B USB drive to prevent copying to another USB drive. +# get number of sectors using INT 13h AH=48 into memory at DS:SI+10h - edx=80h is hard disk 0, 81h would be hard disk 1 +# Change number 12345678 to match the size returned by your drive. Change halt to reboot if desired. Delete pause line if not required. +###debug 1 ;; echo xxxxxxxxxxxxxxxxxxxxxxxxx > (md)0x300+1 ;; write 0x60000 0x42 > nul ;; write 0x60010 0 > nul +###/%grub%/bios int=0x13 eax=0x4800 edx=0x80 ds=0x6000 esi=0x0 > nul ;; read 0x60010 > nul ;; set /a END=%@retval%-1 > nul +###if not %END%==12345678 pause THIS DRIVE ENDS AT SECTOR %END% +###if not %END%==12345678 halt +###set END= + + +# --- MENU CONFIGURATION ---- + +# set the Default menu entry that will be highlighted when the WINDOWS INSTALL MENU is displayed +###set DEFM_WIN=1 + +# If DEFMENU=0 then the '0 Set default menu entry and timeout' menu item in the Main menu will not be listed +set DEFMENU=0 + +# WINCOUNT variable will cause all the \_ISO\Windows ISOs to always be enumerated on a FASTLOAD boot +###set WINCOUNT=1 + +# If NOF7HD is set then the 'Boot from HDD0 F7' menu entry is suppressed in all menus +###set NOF7HD=1 + +# If the NOF8B is set then the Windows menu will not display 'F8 Back to Main Menu' +###set NOF8B=1 + +# if NOF8MAIN is set then no F8 Main menu entry will be available +###set NOF8MAIN=1 + +# If NOF9R is set then the 'F9 Reboot menu' item will not be listed in any menu (remember to change HELPTEXT too) +###set NOF9R=1 + +# If NOF10H is set then the 'F10 Power Off/Halt' menu item will not be listed in any menu (remember to change HELPTEXT too) +###set NOF10H=1 + +# NO FASTLOAD MENU - If you don't want the user to see the Main Menu entry to enable or disable FASTLOAD +###set NOFLDMNU=1 + +# NOWMENU causes a Windows Install sub-sub menu to return back to the Main menu rather than return to the Windows Install menu +###set NOWMENU=1 + +# NOWINMAIN cause the Windows Main Menu entry to be suppressed (even if there are \_ISO\WINDOWS\xxx\yyy.ISO files present +###set NOWINMAIN=1 + +# SET DEFAULT MAINMENU ITEM AND TIMEOUT +# Information: Create an \_ISO\menu_defaults.txt file +# Set the default entry and timeout in the menu_defaults.txt file (debug 0 prevents menu item number at top right from being displayed) +# DO NOT UNCOMMENT THE LINES BELOW! They should not be set in this file! +# e.g. use these 3 lines in the menu_defaults.txt file for the first menu item as default and 0 seconds timeout (-1) - remove the # signs +# default 0 +# timeout -1 +# debug 0 +# This will fix which initial main menu default entry will be highlighted and the timeout in seconds. +# You must also set DEFMENU=0 to suppress the 'Set default menu entry and timeout' menu entry + +# --- CHARACTER SET FONTS ---- + +# Font settings - specify alternate unifont hex file which is loaded after the E2B unifont file is loaded - many 16-pixel fonts are in /_ISO/docs/Fonts/ folder +# Special non-ANSI characters are not included, so only suitable for English language really +###set FONT=()/_ISO/docs/Fonts/terminus.uni.gz + +# Use Default BIOS Font (tends to be thick+bold for standard ASCII characters) +###set BIOSFONT=1 + +# Do not load unifont fonts - if NOUNIFONT=1 then the standard E2B unifont font file is not loaded (to save time) but only ANSII characters will be displayed +### set NOUNIFONT=1 + +# LARGE FONTS - FONTH specifies the font height (default = 16 = unifont) +# If you set FONTH=24 E2B will use a default set of 24-pixel high fonts (grub4dos 0.4.6a only) +###set FONTH=24 +# You can also load your own font by using the FONT parameter - if FONTH=24 then the hex font file must must be 24-high format +# If 24 pixel high: 1024x768=85 chars x 32 lines, 800x600=66x25 lines +# 24 pixel high fonts: yxt.f24=trad Chinese, ltxxx.f24, terminal.f24, developer.f24, X11.f24 - some fonts may not work in some languages +###set FONT=/_ISO/docs/Fonts/developer.f24 + +# --- MENU ENTRY SPACING --- + +# grub4dos 0.4.6a allows you to set the spacing between text characters and between lines on the menu, default = 0:0 (Font spacing : Line spacing] +# note that altering the line spacing will mean you will need to adjust your menu size/position parameters and text postitions, etc.! +###setmenu --font-spacing=1:2 > nul + +# ---- DEFINE GLOBAL HOTKEYS (for all menus) ------ + +# See http://www.easy2boot.com/configuring-e2b/global-hotkeys/ + +# Set global hotkey CTRL+R for FASTLOAD Refresh - only defined if /FASTLOAD.YES is present +###if exist (bd)/FASTLOAD.YES ()/%grub%/hotkey [Ctrl+R] "clear && echo REFRESH > /FASTLOAD.YES && configfile /%grub%/menu.lst" > nul + +# Program hotkeys to work in ALL menus - no separate menu entry is required. Some examples shown below. +# Add global hotkeys - examples only - use ;; or ;& or && to separate commands. +# Use @ to prevent commands displaying on screen when hotkey pressed - e.g. "@(bd)/%grub%/qrun.g4b force.isodefault /_ISO/Linux/Ubuntu.iso ;; boot" > nul +###()/%grub%/hotkey [F9] "reboot" > nul +###()/%grub%/hotkey [F10] "halt" > nul +###()/%grub%/hotkey [Ctrl+F9] "clear && echo \nLoading Windows menu... && /%grub%/configX.g4b /%grub%/MenuWinInstall.lst" > nul +###()/%grub%/hotkey [ctrl+F7] "clear && echo $[0004] \n\nPress a key to reboot\n && pause && reboot" > nul + +# F11 boots to an ISO +###()/%grub%/hotkey [F11] "(bd)/%grub%/qrun.g4b force.isodefault /_ISO/Linux/Ubuntu.iso ;; boot" > nul + +# F8 will always reload Main Menu (quick) +###()/%grub%/hotkey [F8] "set MFOLDER=/_ISO/MAINMENU && configfile (md)0xa000+0x50" > nul +# or F8 will re-enumerate all files and load Main Menu +###()/%grub%/hotkey [F8] "configfile (bd)/%grub%/menu.lst" > nul + +# F7 to boot from internal HDD +###()/%grub%/hotkey [F7] "map (hd0) (hd1) && map (hd1) (hd0) && map --hook && chainloader (hd0)+1 && rootnoverify (hd0) && boot" > nul + +# Make the F1 key show the Help Menu from any menu (uncomment 3 lines below) - you can put your own help file in \_ISO\F1.cfg +###if exist /_ISO/F1.cfg ()/%grub%/hotkey [F1] "configfile /_ISO/F1.cfg" > nul && goto :f1skp +###if exist /%grub%/%LANG%/F1.cfg ()/%grub%/hotkey [F1] "configfile /%grub%/%LANG%/F1.cfg" > nul && goto :f1skp +###if exist /%grub%/ENG/F1.cfg ()/%grub%/hotkey [F1] "configfile /%grub%/ENG/F1.cfg" > nul +:f1skp + +# Don't display the F1 HELP entry in the Main menu +###set NOF1=1 + +# Clear only one global hotkey setting (can be used in .mnu files or .hdr and .lst files) +# e.g. clear F9 global hotkey +###()/%grub%/hotkey [F9] > nul + +# Clear all global hotkeys and reload the hotkey program (only really useful in other menus - e.g. in $$$CONFIG\CONFIG.mnu files) +###()/%grub%/hotkey -u > nul && ()/%grub%/hotkey -A > nul + +# ---- HIDE PAYLOAD MENU ENTRIES ----- + +# To hide a menu entry, create a .txt file of same filename as ISO and use: iftitle [if exist SECRET] here is title\n here is help text +# Then define Ctrl+F9 and Ctrl+F10 hot keys (password is E2B) +# Read more: http://www.easy2boot.com/configuring-e2b/hide-payloads/ +# Ctrl+F9 - Clear menu with wallpaper and prompt user for password in German language, switch to blue wallpaper if success +###()/%grub%/hotkey [Ctrl+F9] "call Fn.70 3 ;; clear && echo -e -n \nPasswort:\x20 && set SECRET= ;; call Fn.5 0 128 ;; password E2B > nul && set SECRET=1 && splashimage /_ISO/docs/Templates/blue/blue.bmp.gz ;; configfile (md)0x3000+0x50" > nul +# Ctrl+F10 - Reset pwd and background, reload menu +###()/%grub%/hotkey [Ctrl+F10] "set DONEMENU= ;; configfile /menu.lst" > nul + +# ---- OTHER SETTINGS ---- +# XP ISO UNATTEND.TXT SUPPORT - if PICKAUTO is set then user will be asked to select \_ISO\WINDOWS\XP\*.AUTO files for Unattend.txt\Winnt.sif selection +# see http://www.easy2boot.com/add-payload-files/windows-install-isos/unattended-installs/ +# .SIF file must have OemPreinstall=No or will get 'missing file' errors +###set PICKAUTO=YES + +# ---- ZALMAN\IODD HDD ENCLOSURE ----- +# If file extension is .ISO, then ask user how to run it (e.g. run as if .ISOPE or .ISOWINVH, etc.) +# Use if you have a Zalman Virtual CD USB HDD caddy and you want to keep all .iso files as .iso (tip: use a .txt file with a help entry to remind you which one works best!) +###set ISOASK=1 + +# --- MENU SORTING --- +# Turn off alphabetical sorting of menu entries (speeds up enumeration of menus slightly - NOT recommended!) - note multiple wallpapers won't work if you set this! +###set NOSORT=1 + +# --- CHECK BIOS FOR 137GB BUG --- +# Do not check the BIOS to see if it has the >137GB USB disk access bug (e.g. as found on some Asus EeePCs) Tip: try formatting the drive using RMPrepUSB first! +# Useful to suppress warning when your E2B drive is >137GB but E2B is on the first partition which is <137GB so it will work correctly +###set CHECKBIOS= + +# ----- REDUCE MEMORY USAGE ----- +# This disables the loading of batch file modules into memory for faster execution (so MOD=1 may slower - not recommended) +# If too many files or variables cause grub4dos to crash then uncomment the next line +###set MOD=1 + +# Use HLT instruction to reduce CPU cycles whilst waiting for keypress (stops CPU from getting too hot) +### write --bytes=1 0x8205 0x20 > nul + +# --- DEBUG MODE - +# Displays boot timings just before Main Menu is displayed - use for diagnosing/measuring slow boot times (can also press ! key during boot to show times) +###set SHOWTIME=1 +# Always pause after menu file enumeration - Note: instead of using ENUMWAIT, just press the SPACEBAR during file enumeration and it will pause before it displays the menu +###set ENUMWAIT=1 + +# --- PROMPT USER FOR FASTER BOOT ---- +# Add 3 lines below to prompt for faster boot option (for BIOSes with poorly-written and slow USB drivers) (will need to adjust menu size) +###set ask= +###if not exist DONEMENU set /p:3 ask=Speed up booting (no wallpaper or unifont not loaded) (Y/N) : +###if not exist DONEMENU if /i "%ask%"=="Y" set NOUNIFONT=1 && set GFX=none + +# --- STAMPS and ANIMATION --- +# see www.easy2boot.com for more details +# Specify stamps to ovewrite the wallpaper. Format: set STAMPn=type=x=y (filespec), type: 0=normal, 0x80=transparent background +###set STAMP1=0x80=584=0 /_ISO/docs/Templates/Animate/easy2boot_stamp.bmp +###set STAMP2=0x80=680=160 /_ISO/docs/Templates/Animate/E2B.bmp +###set STAMP3=0x80=620=160 /_ISO/docs/Templates/Animate/LadyMorgana.bmp +###set STAMP4=0x80=580=380 /_ISO/e2b/grub/E2BPlate.bmp + +# ANIMATE - displays a sequence - first file must end in 01.xxx (can be compressed bitmap using gzip or LZMA) - must use .bmp or .jpg as extension +# trans=transparent, infinite=animate on menu or add 1-15 for number of cycles, disable playing menu type=0x0 +# 18 delay units = 1 second, x and y in pixels, last = last frame number in sequence 01.xxx-99.xxx or 001-255.xxx +###set trans=0x80 && set infinite=0x10 +# display sequence on menu (with transparent background) +###set /A type=%infinite% + %trans% > nul +# play sequence 3 times immediately +###set /A type=%trans% + 3 > nul +###set delay=0x3 +###set last=09 +###set x=650 +###set y=40 +# use (bd) for boot drive or (hd0,0), so that if root drive changes it continues to load from correct drive. +###set FILE=(fd3)/frame_0001.bmp +###set ANIMATE=%type%=%delay%=%last%=%x%=%y% %FILE% +###set trans= && set infinite= && set delay= && set type= && set last= && set y= && set x= && set FILE= +# If using a floppy image, we must specify the location of the image +# The floppy disk image is loaded into memory and so the animation is faster and does not constantly access the disk +# ANIMFD3 is a floppy disk image file containing the files - it is mapped to fd3 by E2B +###set ANIMFD3=/_ISO/docs/Templates/Animate/E2B_GIF.ima + diff --git a/resources/menu_defaults.txt b/resources/menu_defaults.txt new file mode 100644 index 0000000..0929ec3 --- /dev/null +++ b/resources/menu_defaults.txt @@ -0,0 +1,3 @@ +default 6 +timeout -1 +debug 0 diff --git a/resources/mybackground.bmp b/resources/mybackground.bmp new file mode 100644 index 0000000..a9a7af9 Binary files /dev/null and b/resources/mybackground.bmp differ diff --git a/usbcreator.sh b/usbcreator.sh new file mode 100644 index 0000000..b4abe7e --- /dev/null +++ b/usbcreator.sh @@ -0,0 +1,164 @@ +#!/bin/bash +#Check for root +if [[ $EUID -ne "0" ]] +then + echo "You must be root - try: sudo $0 or sudo bash $0" + exit 1 +fi + +#check for wipefs +command -v wipefs >/dev/null 2>&1 || { echo >&2 "I require wipefs but it's not installed. Aborting."; exit 1; } + +script="$0" +basename="$(dirname $script)" +DIR="/home/temp/smrusb" + +#Warn user that this will detroit the things +echo "This will destroy all data and partitions on the device name you enter without further warning!!" + +#get device name +echo "Please enter the device you wish to use (/dev/sdX):" +read dev +device=${dev}1 + +echo "Unmounting $device Partitions..." +for part in $dev* + do umount $part > /dev/null 2>&1 +done +#umount $device +DD="${device:0:7}" +if [ "$DD" == "/dev/sd" ]; +then + echo "" +else + echo "Bad device - must start with /dev/sd" + exit 1 +fi + +if [ ${device:8:1} == 0 ] +then + echo "Bad Partition! should end in the number 1 or 2 - e.g. /dev/sdc1" + exit1 +fi + +#format device + +echo "Partitioning: $dev" +read -p "Proceed with partitioning (y/n): " opinion2 +if [[ $opinion2 == 'y' ]] || [[ $opinion2 == 'yes' ]] + +then + + #umount $device > /dev/null 2>&1 + label="RESCUE-USB" + + ##Remove existing data/partitions + echo "Removing existing partitions and data from $dev..." + #dd if=/dev/zero of=$dev bs=512 count=1 conv=notrunc > /dev/null 2>&1 + wipefs -a $dev > /dev/null 2>&1 + + ##Create partition table + echo "Creating partition table..." + parted $dev --script -- mklabel msdos > /dev/null 2>&1 + + ##Create partitions + echo "Creating partitions on $device..." + parted $dev --script -- mkpart primary 0% 90% > /dev/null 2>&1 + parted $dev --script -- mkpart primary 91% 100% > /dev/null 2>&1 + + #Create /home/temp if it doesn't exist + echo "Creating working directory of $DIR..." + mkdir -p $DIR + + #Fetch Easy2Boot + echo "Fetching Easy2Boot..." + wget -O $DIR/E2B.zip "http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/Easy2Boot_v1.93A.zip" > /dev/null 2>&1 + + #Extract it + echo "Extracting Easy2Boot..." + unzip -d $DIR/ $DIR/E2B.zip > /dev/null 2>&1 + + #Remove the zip + echo "Removing Easy2Boot zip..." + rm -f $DIR/E2B.zip > /dev/null 2>&1 + + echo "Formatting primary partition..." + #Run E2B's fmt.sh + /sbin/mkfs.vfat -F32 -n "$label" $device > /dev/null 2>&1 + ptn=${device: -1} + echo Making partition "$ptn" active using parted... + sudo parted -s ${device%?} set $ptn boot on > /dev/null 2>&1 + sleep 2 + sync + sleep 5 + + echo "Mounting $device as /mnt/myusb" + mkdir -p /mnt/myusb 2>/dev/null + mount $device /mnt/myusb > /dev/null 2>&1 + + + echo "Installing grub4dos to MBR" + chmod +rwx $DIR/_ISO/docs/linux_utils/bootlace.com > /dev/null 2>&1 + $DIR/_ISO/docs/linux_utils/bootlace.com --time-out=0 ${device%?} > /dev/null 2>&1 + echo "Installing grub4dos to PBR" + $DIR/_ISO/docs/linux_utils/bootlace.com --floppy=1 $device > /dev/null 2>&1 + + echo "Copying $DIR to /mnt/myusb..." + cp -r -i $DIR/* /mnt/myusb > /dev/null 2>&1 + + #Fetch ISOs to device + echo "Copying ISOs from files.sysres to the USB..." + pushd /mnt/myusb/_ISO/MAINMENU/ > /dev/null 2>&1 + wget -nd -e robots=off -r --no-parent /mnt/myusb/_ISO/MAINMENU/ http://files.sysres.liquidweb.com/iso/for-usb/ --reject index.htm* > /dev/null 2>&1 + wget -nd -e robots=off -r --no-parent /mnt/myusb/_ISO/MAINMENU/ http://repo.win.liquidweb.com/tools/WinPE_Fixer.iso --reject index.htm* > /dev/null 2>&1 + popd > /dev/null 2>&1 + + #Use E2B's defragger + echo "Defragmenting the drive and ISOs..." + chmod +x $DIR/_ISO/docs/linux_utils/defragfs > /dev/null 2>&1 + + $DIR/_ISO/docs/linux_utils/defragfs /mnt/myusb -f > /dev/null 2>&1 + #mount WinPE iso to copy /tools dir + echo "Mounting WinPE ISO and copying tools directory..." + mkdir $DIR/isomount > /dev/null 2>&1 + mount -o loop /mnt/myusb/_ISO/MAINMENU/WinPE_Fixer.iso $DIR/isomount > /dev/null 2>&1 + + #copy tools dir + cp -r $DIR/isomount/tools /mnt/myusb/ > /dev/null 2>&1 + + #unmount ISO + umount $DIR/isomount > /dev/null 2>&1 + + #Get files to Update Menu settings + echo "Fetching menu config files..." + wget -O /mnt/myusb/_ISO/menu_defaults.txt http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/menu_defaults.txt > /dev/null 2>&1 + wget -O /mnt/myusb/_ISO/MyE2B.cfg http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/MyE2B.cfg > /dev/null 2>&1 + + #Get background + #wget -O /mnt/myusb/_ISO/mybackground.bmp http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/mybackground.bmp > /dev/null 2>&1 + + #Remove working dir + echo "Removing working directory..." + rm -rf $DIR > /dev/null 2>&1 + + #unmount drive + echo "Unmounting drive..." + sleep 20 + umount $dev* > /dev/null 2>&1 + umount /mnt/myusb > /dev/null 2>&1 + + #remove mountpoint + echo "Removing mountpoint..." + rm -r /mnt/myusb > /dev/null 2>&1 + + #Complete + echo "Script completed, your USB has been created!" + + exit 1 + +else + + echo "You said no, stopping." + exit 1 + +fi \ No newline at end of file