Very interesting, Thomas. I'm writing this e-mail from the Debian system
I've installed using the method you described in detail. The only
difference is that I used cp instead of dd. My USB stick has now 3
partitions, two of them reserved for images and the other one for regular
use. I included a README in the stick that describes in a very general way
the steps taken to make it work, for future reference in the case I need
it. I will include it here, for it might be useful to someone else:

Preparing a USB stick to boot Debian: *
>


1. lsblk to find out device number.
> 2. Unmount device.
> 3. Wipe filesystem signatures if there was an image written to the stick.
> 4. Partition USB stick with parted (don't forget the boot flag).
> 5. Create the filesystems.
> 6. Download .iso.
> 7. Copy .iso (to preserve the original one).
> 8. isohybrid --partok copied .iso.
> 9. As root, cp "partoked".iso /dev/sdXY && sync.
> 10. Reboot and select the USB stick to boot.


* Under BIOS at least

Thank you very much for the replies!

PS - I'm curious about this: when I opened the images with an archive
manager (more specifically with the one that comes with the MATE desktop),
I saw a directory named "[BOOT]" that contained files with a name along the
lines of "...no-emulation...". The date of creation was 1969. Pretty weird,
haha. Do you have any idea about what it is?




On 4 May 2016 at 02:59, Thomas Schmitt <[email protected]> wrote:

> Hi,
>
> > Does the method described in the manual (copying to /dev/sdX) work under
> > UEFI? Or it's basically the same thing as copying to a partition?
>
> The main difference is that copying to /dev/sdX overwrites the MBR and
> the partition tables, while copying to /dev/sdXn keeps the partitioning
> (and the other partitions' content) unchanged.
>
> BIOS booting from MBR does not necessarily need a partition table.
> (It's the parted MBR code which looks for a partition marked as bootable,
>  not the BIOS firmware which simply starts the MBR code as x86 program.)
>
> But UEFI wants to see a EFI System Partition announced by MBR or GPT.
> By copying the Debian ISO image to a partition you do not create a new
> EFI System Partition. By copying it to the base device, you give it
> the partition tables which are stored in the ISO.
>
> So if you put the Debian ISO into a partition, then for UEFI you'd
> need to extract the content of the EFI System Partition from the ISO
> and put it into a separate MBR partition of type 0xef.
>
> Debian i386 and amd64 netinst ISOs have their EFI System Partition content
> in file  /boot/grub/efi.img . In general you can ask a partition editor
> to print the table
>
>   $ /sbin/fdisk -lu debian-8.2.0-i386-netinst.iso
>   ...
>   Device                         Boot Start    End Sectors  Size Id Type
>   debian-8.2.0-i386-netinst.iso1 *        0 645119  645120  315M  0 Empty
>   debian-8.2.0-i386-netinst.iso2       4020   4659     640  320K ef EFI
> (FAT-12/16
>
> and use dd to cut out the content of the partition with id "ef":
>
>   dd if=debian-8.2.0-i386-netinst.iso bs=512 skip=4020 count=640
> of=my_esp.img
>
>
> The next problem might be that the starting system software normally
> expects to wake up on /dev/srY or /dev/sdX, not on /dev/sdX1.
> That's the realm of the debian-cd project. My scope ends when the
> boot loader has started.
> (It is the most interesting part of your adventure that the system
>  boots from /dev/sdX1 via BIOS. There is some hope it will do for
>  UEFI, too.)
>
>
> Have a nice day :)
>
> Thomas
>
>


-- 
Renato Bispo

Reply via email to