Web lists-archives.com

Re: Setting a USB for multi usages


Thanks for your reply. As I want debian 8 installer, I am not sure about EFI so I use this method, I could not have creatd it myself.

Le 11/01/2019 à 23:03, Thomas Schmitt a écrit :

MENGUAL Jean-Philippe wrote:
My purpose is having a USB stick splitted in 2 parts:
1. MBR + partitions: a Debian installer from an ISO
2. A blank partition to install data or whatver

While I know to "burn" an iso on a key via dd, how can I do to have a clean
installer but using key for other usages?

Put the ISO onto the stick, completely deface its pseudo-GPT,
and use program fdisk to add one or more partitions.
1. I issue dd if=/dev/zero of=/dev/sdb
2. Then: dd if=my-iso of=/dev/sdb
3. I ran the command you suggest below.

dd if=/dev/zero bs=512 seek=1 count=1 of=/dev/sdb
dd if=/dev/zero bs=512 seek=$n count=1 of=/dev/sdb

Now at mounting, I have a strange behavior: polki requires a root password to mount both the Debian partition and the data partition. I use Debian sid with MATE desktop.

Why? Is it a misbehavior I should report to polkit or semething else? How can I mount the partitions, in particular the data one, to let the user write and read?



The partition situation in a Debian ISO for x86 is not as nice
as it should/could be:

   $ /sbin/fdisk -lu debian-9.3.0-amd64-netinst.iso
   Device                          Boot Start    End Sectors  Size Id Type
   debian-9.3.0-amd64-netinst.iso1 *        0 593919  593920  290M  0 Empty
   debian-9.3.0-amd64-netinst.iso2       3760   4591     832  416K ef EFI (FAT-12/1

Note the EFI partition 2 of type 0xef sitting inside partition 1 which
is of type 0x00.
Nevertheless fdisk will add partition 3 and 4 if you ask it to do so.

There are the data of a GPT, but it is not properly announced by a
protective MBR partition of type 0xee. The GPT shows the same overlapping
partitions, which are explicitely forbidden by the GPT specs.
Thus my advise to remove the GPT header block:

   dd if=/dev/zero bs=512 seek=1 count=1 conv=notrunc of=/dev/sdX

where /dev/sdX is the device file of your USB stick.
(Option conv=notrunc is just for the case your of= target is an .iso file
  and not a disk device file.)

On a USB stick, the GPT backup header will probably not be recognized
because it will be misplaced. But an overly smart partition editor might
still find it and propose to replace your MBR partition table by that

To kill the backup GPT header, you need to compute the last 512-byte
block number n of the ISO (in case of the 9.3.0 ISO n is 593919):

   n=$(expr $(ls -l debian-9.3.0-amd64-netinst.iso | awk '{print $5}') / 512 - 1)

and zeroize that block:

   dd if=/dev/zero bs=512 seek=$n count=1 conv=notrunc of=/dev/sdX

After this, programs like gdisk will not try to overwrite the MBR
partition table by the GPT.

Have a nice day :)