wok-next view syslinux/stuff/iso2exe/README @ rev 19516
syslinux/iso2exe: vm86 support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Nov 22 22:17:33 2016 +0100 (2016-11-22) |
parents | fc3051b88ee8 |
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 +-----------------+
56 | untouched | ISO9660 files including /boot/bzImage and /boot/rootfs*
57 32K +-----------------+
58 | | iso md5 | ISO9660 image (except first 32K) md5 hash (1)
59 | +---------+
60 | DOS .EXE stub | Start DOS .COM loader
61 +-----------------+
62 | ISO initramfs | Live loader and UMSDOS like install script
63 +-----------------+
64 | DOS .COM loader | Load bzImage, the last rootfs*.gz and the ISO initramfs
65 +-----------------+
66 | floppy bootstrap| CD-ROM emulation boot driver for hard disk ISO image
67 +-----------------+
68 unused
69 +-----------------+
70 | tazlito info | Flavor missing data for 'tazlito iso2flavor'
71 +-----------------+
72 | isohybrid boot | Starts isolinux.bin
73 +-----------------+
74 | iso2exe boot + | Boot starts isohybrid (2), .EXE starts DOS .COM loader
75 | WIN32 PE .exe | NT+ boot device creator / Win9x DOS .COM launcher.
76 0 +-----------------+
78 (1) The following script will show computed and stored md5 hash
79 #!/bin/sh
80 count=$(echo $(od -j 32848 -N 2 -t u2 -An $1))
81 dd if=$1 bs=2k skip=16 count=$count 2>/dev/null | md5sum
82 od -j 32752 -N 16 -t x1 -An $1 | sed 's/ //g'
84 (2) Eltorito boot (i.e. bootable CD-ROM by BIOS) is not concerned by iso2exe.
87 Limitations:
89 - Only DOS and DOS based Windows (16 bits) boot supported.
90 NT/XP support via boot device creation.
92 - The DOS Linux loader and the ISO initramfs must fit in ~30Kb.
94 - Linux kernels before version 2.6.30 don't support multiple initramfs load.
95 They will not find the /init.exe file. The "text" mode will be forced:
96 C:\> slitaz.exe text
98 - The ISO image must include the files /boot/bzImage and /boot/rootfs*.
100 TODO:
102 - floppy bootstrap