bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Test Proposal for [bug #46716] Protective MBR partition is not marke


From: Thomas Schmitt
Subject: Re: Test Proposal for [bug #46716] Protective MBR partition is not marked as bootable
Date: Mon, 28 Dec 2015 14:20:31 +0100

Hi,

i improved the test script by adding two more manipulation modes:
- "mbr_only" produces an EFI compliant ISO without GPT, HFS+, APM.
- "original" lets the xorriso arguments pass unchanged.

The mode can be chosen by the environment variable
  MKRESCUE_SED_MODE
Default mode is "mjg": ESP in MBR+GPT+APM, HFS+ in APM.

Other environment variables for parametrization are
  MKRESCUE_SED_PARTNO   MKRESCUE_SED_PROTECTIVE   MKRESCUE_SED_DEBUG
  MKRESCUE_SED_XORRISO  MKRESCUE_SED_XORRISO_ARGS
Read the first half of the script for explanations.

The script may now be stored anywhere. If it does not find its
neighboring "../../xorriso/xorriso", then it uses "xorriso" by default.
By MKRESCUE_SED_XORRISO one can address the xorriso binary explicitely.

Download from

  
http://libburnia-project.org/browser/libisoburn/trunk/frontend/grub-mkrescue-sed.sh?format=txt


If GNU xorriso -version says
  Version timestamp :  2015.12.27.150821
and one wants to test -DLibisofs_mjg_boot_for_grub2, then one should
overwrite the file
  xorriso-1.4.3/libisofs/system_area.c
by the file version that is downloadable as
  
http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/download/1301/system_area.c-20081019135100-i5wqmczu54lzyabt-1/system_area.c
and run "make".
This keeps the results of mode "original" compliant with EFI
even if -DLibisofs_mjg_boot_for_grub2 was in effect at compile time.

The result of "original" still is influenced by the fact that
-DLibisofs_mjg_boot_for_grub2 prevents writing of gap filling
partition table entries.

-----------------------------------------------------------------

Examples:

  wget 
http://libburnia-project.org/browser/libisoburn/trunk/frontend/grub-mkrescue-sed.sh?format=txt
  mv grub-mkrescue-sed.sh?format=txt grub-mkrescue-sed.sh
  chmod u+x grub-mkrescue-sed.sh

  export MKRESCUE_SED_XORRISO=$HOME/xorriso-1.4.3/xorriso/xorriso

  export MKRESCUE_SED_MODE=mjg
  export MKRESCUE_SED_PARTNO=2
  grub-mkrescue -o output.iso minimal --xorriso=./grub-mkrescue-sed.sh
  unset MKRESCUE_SED_PARTNO

  export MKRESCUE_SED_MODE=mbr_only
  export MKRESCUE_SED_PROTECTIVE=no
  grub-mkrescue -o output.iso minimal --xorriso=./grub-mkrescue-sed.sh
  unset MKRESCUE_SED_PROTECTIVE

  export MKRESCUE_SED_MODE=original
  grub-mkrescue -o output.iso minimal --xorriso=./grub-mkrescue-sed.sh

Inspect results by:

  $MKRESCUE_SED_XORRISO -hfsplus on -indev output.iso \
                        -report_system_area plain -report_el_torito plain

-----------------------------------------------------------------

Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]