wok-current view syslinux/stuff/iso2exe/README @ rev 23831
syslinux/iso2exe: fix loram case
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun May 31 14:59:28 2020 +0000 (2020-05-31) |
parents | 02994416f017 |
children |
line source
1 (c) GPLv2, Pascal Bellard <pascal.bellard@slitaz.org>
3 The iso2exe tool inserts a DOS/WIN32 .EXE header in an ISO image.
4 The ISO image can be launched by DOS or Windows :
6 C:\> ren slitaz-5.0.iso slitaz.exe
7 C:\> slitaz
10 Why ?
12 According to the SliTaz forum, some new users have problems burning CD-ROMs,
13 creating USB Keys and booting these devices with the BIOS. Others are lost
14 during the installation process or partitioning.
16 The slitaz.exe program boots the SliTaz ISO image with a text menu:
18 - to start SliTaz in RAM (live) in graphics mode or text mode.
20 - to install SliTaz "a la UMSDOS" in the \slitaz\ subdirectory. The easiest
21 way to install SliTaz. No partitioning. No questions. But (very?) slow.
23 - to create a SliTaz USB Key.
25 When the slitaz.exe program can't boot SliTaz directly it will prompt to create
26 a bootable image on a removeable media (Memory card, USB stick or ... floppy).
28 Usage:
30 C:\> progname [mode]
32 Default mode is menu. Mode can be:
34 - menu start with an interactive menu
35 - live launch SliTaz in RAM with graphics
36 - text launch SliTaz in RAM with text mode
37 - install SliTaz UMSDOS like installation
39 If the program name includes one of the supported modes, the according mode is
40 assumed. Example 'C:\> slitazlive.exe' starts SliTaz in RAM with graphics.
43 Implementation:
45 ISO9660 format begins with 32Kb unused (16 sectors). Some programs may use it:
47 - isolinux uses the first 512 bytes for hybrid iso boot (ISO image in a
48 partition).
49 - tazlito stores extra flavor info at the 2nd Kb for 'tazlito iso2flavor'.
51 The iso2exe tool moves the isolinux boot sector, installs its own boot sector
52 with a DOS .EXE header, and adds a WIN32 .EXE installer, a DOS .COM Linux
53 loader, a floppy bootstrap and an initramfs in the end of the first 32Kb.
55 The taziso tool is iso2exe aware and can handle iso image modified by iso2exe.
57 + - - - - - - - - +
58 | user extras | [optional] Customization files see README.custom
59 xxM +-----------------+ --------------- Official ISO image end ---------------
60 | untouched | ISO9660 files including /boot/bzImage and /boot/rootfs*
61 32K +-----------------+
62 | | iso md5 | ISO9660 image (except first 32K) md5 hash (1)
63 | +---------+
64 | ISO initramfs | Live loader and UMSDOS like install script
65 +-----------------+
66 | DOS .COM loader | Load bzImage, the last rootfs*.gz and the ISO initramfs
67 +-----------------+
68 | floppy bootstrap| CD-ROM emulation boot driver for hard disk ISO image
69 +-----------------+
70 unused
71 +-----------------+
72 | WIN32 sections | Code, data and ressources
73 +-----------------+
74 | tazlito info | Flavor missing data for 'tazlito iso2flavor'
75 +-----------------+
76 | isohybrid boot | Starts isolinux.bin
77 +-----------------+
78 | iso2exe boot + | Boot starts isohybrid (2), .EXE starts DOS .COM loader
79 | WIN32 PE .exe | NT+ boot device creator / Win9x DOS .COM launcher.
80 0 +-----------------+ ------------------------------------------------------
82 (1) The following script will show computed and stored md5 hash
83 #!/bin/sh
84 count=$(echo $(od -j 32848 -N 2 -t u2 -An $1))
85 dd if=$1 bs=2k skip=16 count=$count 2>/dev/null | md5sum
86 od -j 32752 -N 16 -t x1 -An $1 | sed 's/ //g'
88 (2) Eltorito boot (i.e. bootable CD-ROM by BIOS) is not concerned by iso2exe.
91 Limitations:
93 - Only DOS and DOS based Windows (16 bits) boot supported.
94 NT/XP support via boot device creation.
96 - The DOS Linux loader and the ISO initramfs must fit in ~30Kb.
98 - Linux kernels before version 2.6.30 don't support multiple initramfs load.
99 They will not find the /init.exe file. The "text" mode will be forced:
100 C:\> slitaz.exe text
102 - The ISO image must include the files /boot/bzImage and /boot/rootfs*.
104 TODO:
106 - floppy bootstrap