This was close:
I have tried to change TXTSETUP.SIF to :[SetupData] SetupSourcePath = "\" SetupSourceDevice = \device\harddisk0\partition1 MajorVersion = 5 MinorVersion = 1
Well, make it
SetupSourcePath = "\xppro\"
SetupSourceDevice = \device\harddisk1\partition1
Setupdd.sys finds source files in \xppro\, that's in root of a USB disk.
are not used needed.
If MsDosInitiated="1" is used, then SetupSourcePath and SetupSourceDevice are ignored, it defaults to $WIN_NT$.~LS.
Continue Text mode- source files are found and copied. No files are deleted. Migrate.inf is NOT used.
For now I used a partition on the USB disk as install target. BOOT.INI on USB disk gets:
Different parts of Text mode see USB disk once as first disk, then as second. Having more disks or USB card readers can easily break the whole game. However, that proves how source location can be different than ~LS and MsDosInitiated="1" not used.
Another game- build a small ISO, and load it in RAM, start Setup from there.
Create folder \ISO. Copy bootsect.bin there. Create folder I386 inside, copy contents of ~BT there. Replace ramdisk.sy_ with the one from 2003 sp1. Get the modified with SourcePath txtsetup.sif and put it in \ISO\I386.
mkisofs.exe -iso-level 4 -volid ""XP"" -no-emul-boot -boot-load-size 4 -hide boot.catalog -allow-lowercase -R -b BOOTSECT.BIN -hide BOOTSECT.BIN -o j:\xp.iso J:\ISO
Setupldr.bin from 2003 sp1 and ntdetect.com are in root of the USB disk.
Winnt.sif in root:
[SetupData] BootDevice = "ramdisk(0)" BootPath = "\i386\" OsLoadOptions = "/noguiboot /fastdetect /rdexportascd /rdpath=xp.iso"
Text mode goes fine source files are found in \xppro\, install to the same USB disk, second partition, boot.ini gets again
I didn't go much further, in QEMU if a second disk is used and boot.ini fixed, at start of GUI part it complains about corrupted DATA section. That must be
in out winnt.sif in root.
BootDevice = "ramdisk(0)"
Winnt.sif inside the ISO is NOT read.
Hex edit setupldr.bin in root to use winn1.sif, leave our regular winnt.sif in USB disk root- it's not being read.
There is a possible solution- use presetup.cmd and remove from \windows\system32\$winnt$.inf the odd lines, not tested.
However, there is no much gain using RAM boot.
Still a lot to be tested, but the line "SetupSourceDevice = \device\harddisk1\partition1 makes huge restriction.
Edited by ilko_t, 26 June 2008 - 02:41 PM.