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

Re: Debian-live manual: bad advice and bad URL



Hi,

Lou Poppler wrote:
> In section 4.5.3 the suggestion for adding a partition to extra space at
> the end of a live image USB stick says to use parted or Gparted.
> For the current live images, with a xorisso-style partition layout,
> (for example the file debian-live-9.2.0-amd64-kde+nonfree.iso)
> parted (as of 3.2-17) and gparted (as of 0.25.0-1+b1) do not detect
> the first partition,

Indeed most partition editors and operating systems regard an MBR partition
of type 0x00 as unused. Even fdisk lists it as "Empty". The need for
type 0x00 comes from the fact that the EFI partition is a data file in the
ISO filesystem. EFI forbids overlapping partitions but also states that
partitions of type 0x00 may be ignored.

The layout is originally the one of SYSLINUX program "isohybrid" with
option "--uefi". Developed by Matthew J. Garrett for Fedora.
See also
  http://mjg59.dreamwidth.org/11285.html

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

My personal favorite is different. It has the EFI partition as appended
MBR partition outside the ISO 9660 filesystem. Somehow like in the Debian
netinst ISOs for arm64:

  $ /sbin/fdisk -l debian-8.6.0-arm64-netinst.iso
  ...
  Device                          Boot  Start    End Sectors  Size Id Type
  debian-8.6.0-arm64-netinst.iso1           0 331775  331776  162M 83 Linux
  debian-8.6.0-arm64-netinst.iso2      331776 333823    2048    1M ef EFI (FAT-12/

No invalid GPT (as we have MBR partitions of types other than 0xee),
no partition of type 0x00.

Since xorriso-1.4.6 it is mainly about replacing xorrisofs options

  -e '/boot/grub/efi.img'
  -no-emul-boot
  -isohybrid-gpt-basdat

by these options

  -append_partition 2 0xef ...disk.path.../efi.img
  -e --interval:appended_partition_2:all::
  -no-emul-boot

and keeping efi.img out of the input trees for the ISO 9660 filesystem. 
"...disk.path..." is to be replaced with an absolute or relative path
on the producing system.


An appended partition has the disadvantage that the image file is larger than
told by program "isosize". So instructions for verifying the image checksum
on DVD or USB stick might fail.
This can be salvaged at the cost of a second superblock and directory tree
by using xorriso-1.4.8 and xorrisofs option

  -partition_offset 16

The ISO filesystem outside partition 1 will then claim the range up to the
end of the appended partition.

One may explicitely choose the partition type of the ISO 9660 partition by
any 8-bit hex value instead of 0x83 with option

  -iso_mbr_part_type 0x83


With xorriso versions older than 1.4.6, one has to put the EFI image twice
into the ISO image. Once as data file for El Torito DVD booting, once as
appended partition for booting from USB stick:
  -e '/boot/grub/efi.img'
  -no-emul-boot
  -append_partition 2 0xef ...disk.path.../efi.img
In this case, /boot/grub/efi.img must be in the input trees for the
filesystem.


Have a nice day :)

Thomas


Reply to: