LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   ISO burns does not working properly. (https://www.linuxquestions.org/questions/linux-software-2/iso-burns-does-not-working-properly-4175609699/)

Diego Diniz 07-12-2017 11:21 AM

ISO burns does not working properly.
 
Hey guys. I'm going trough a weird problem here. Every ISO that I've burned to use as boot on another computer they did not boot. I've used Braseiro, xfburn, K3b already. Could anyone help me with this ?

Thanks.

hazel 07-12-2017 11:53 AM

There's probably something wrong with your cd burner. You can get an md5sum of your cdrom by using
Code:

dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum
where file.iso represents your original iso image file.

If this is different from the original md5sum, your burner is making corrupt copies.

jefro 07-12-2017 02:59 PM

Does other computer boot to any cd like windows xp or such?
Does subject computer have any special features like uefi or is old or has low specs?
Did you test md5 or shal?
Did you use best quality media?
Did you burn at the very slowest speed possible?
Did you swap optical drives?

scdbackup 07-13-2017 02:25 AM

Hi,

you need to equip you ISO with bootloader software and with boot entry
points.

Bootloaders in ISOs usually are SYSLINUX/ISOLINUX for oldfashioned
PC-BIOS firmware and GRUB for EFI firmware. The boot entries are
usually in an El Torito catalog for CD/DVD/BD, in a Master Boot Record
program for BIOS from USB stick, and a MBR partition of type 0xef for
EFI from USB stick.

For example, a Debian "netinst" ISO:
Code:

$ xorriso -indev debian-9.0.0-i386-netinst.iso -report_el_torito plain -report_system_area plain
...
Volume id    : 'Debian 9.0.0 i386 n'
El Torito catalog  : 946  1
El Torito cat path : /isolinux/boot.cat
El Torito images  :  N  Pltf  B  Emul  Ld_seg  Hdpt  Ldsiz        LBA
El Torito boot img :  1  BIOS  y  none  0x0000  0x00      4        947
El Torito boot img :  2  UEFI  y  none  0x0000  0x00    608        967
El Torito img path :  1  /isolinux/isolinux.bin
El Torito img opts :  1  boot-info-table isohybrid-suitable
El Torito img path :  2  /boot/grub/efi.img
...
System area summary: MBR isohybrid cyl-align-on GPT APM
ISO image size/512 : 768000
Partition offset  : 0
MBR heads per cyl  : 64
MBR secs per head  : 32
MBR partition table:  N Status  Type        Start      Blocks
MBR partition      :  1  0x80  0x00            0      768000
MBR partition      :  2  0x00  0xef        3868          608
MBR partition path :  2  /boot/grub/efi.img
...

The file "/.disk/mkisofs" inside the Debian ISO tells the command that
was used to produce the ISO. (Many preparation were made before by the
"debian-cd" project software.) Omitting the many Jigdo options which
are not of interest here, that is:
Code:

/home/93sam/xorriso -as mkisofs \
  -r \
  -V 'Debian 9.0.0 i386 n' \
  -o /org/cdbuilder.debian.org/.../debian-9.0.0-i386-NETINST-1.iso \
  -J -joliet-long \
  -cache-inodes \
  -isohybrid-mbr syslinux/usr/lib/ISOLINUX/isohdpfx.bin \
  -c isolinux/boot.cat \
  -b isolinux/isolinux.bin \
    -boot-load-size 4 -boot-info-table -no-emul-boot \
  -eltorito-alt-boot \
  -e boot/grub/efi.img \
    -no-emul-boot -isohybrid-gpt-basdat -isohybrid-apm-hfsplus \
  boot1 CD1

The option "-isohybrid-mbr" puts the MBR program isohdpfx.bin out of
the SYSLINUX project into the ISO and connects it to the El Torito
boot image "isolinux/isolinux.bin" for BIOS from SYSLINUX, which is
already in the disk directories "boot1" or "CD1". It gets announced
as El Torito boot image by option "-b".

Option "-eltorito-alt-boot" starts the definition of the second boot
image option set. Option "-e" announces the UEFI boot image
"boot/grub/efi.img", which is already in in disk directory "boot1".
By option "-isohybrid-gpt-basdat" it gets announced in the MBR partition
table as type 0xef.

Debian ISOs additionally contain an invalid GUID Partition Table and
a useless Apple Partition Table (latter caused by "-isohybrid-apm-hfsplus").
The reason for that is hearsay, tradition, and lots of successful
ISO testing. debian-cd is just not yet ready to give them up. :))

The most simple way to produce a bootable ISO is program "grub-mkrescue"
out of the GRUB project. Install GRUB production software for x86-BIOS,
32 bit x86 EFI, and 64 bit x86 EFI (Debian packages: grub-common, grub-pc,
grub-efi-ia32-bin, grub-efi-amd64-bin, and xorriso), create an empty
directory named "dummy" and run:
Code:

grub-mkrescue -o output.iso ./dummy
Then you get a small image "output.iso" which boots to a GRUB prompt.
(More brain we did not fill in for now.)
Instead of "./dummy" you may submit one or more directory trees with
the other files which you want in your ISO. You will at least have to
provide a "grub.cfg" file with the boot actions you want to perform
on your payload files. Like Linux kernel and initrd loading.

Another way to get a bootable ISO would be to copy the files of a
Debian ISO to a directory tree on disk, modify that tree as you like,
(keep ./isolinux/isolinux.bin and ./boot/grub/efi.img as they are),
retrieve "isohdpfx.bin" from the first 432 bytes of the ISO.
Then run above "xorriso" command with accordingly modified arguments
to options "-o" and "-isohybrid-mbr" and with the modified directory
tree instead of "boot1 CD1". "/home/93sam/xorriso" may be replaced
by plain program name "xorriso".

A quite modern description of modifying an Ubuntu ISO is given in
https://linuxconfig.org/legacy-bios-...customization#
(Debian and Ubuntu ISOs are very similar in the aspects discussed here.)


Have a nice day :)

Thomas


All times are GMT -5. The time now is 06:31 AM.