kDn Posted October 6, 2009 Share Posted October 6, 2009 (edited) Maybe this can be usefull:timeout 30default /default# After execute this commands -> usb-drive always (hd0)# Nested calls like configfile /menu.lst is ignorederrorcheck off# Try to supress unneeded messagesdebug offserial --unit=0 --speed=115200terminal --silent serial# Clearing mappings...checkrange 0x00,0x01 read 0x8280 && map --unmap=0:0xffcheckrange 0x00,0x01 read 0x8280 && map --floppies=2# Shifts (hd) devices (4 hdd by default)checkrange 0x00,0x01 read 0x8280 && map (hd3) (hd4)checkrange 0x00,0x01 read 0x8280 && map (hd2) (hd3)checkrange 0x00,0x01 read 0x8280 && map (hd1) (hd2)checkrange 0x00,0x01 read 0x8280 && map (hd0) (hd1)# Maybe USB-ZIP like (fd1) or (fd0) ?checkrange 0x01 read 0x8280 && map (fd1) (hd0)checkrange 0x00 read 0x8280 && map (fd0) (hd0)checkrange 0x00 read 0x8280 && map (fd0) (fd1)checkrange 0x00 read 0x8280 && map (fd1) (fd0)# Mapping changescheckrange 0x00,0x01 read 0x8280 && map --hookcheckrange 0x00,0x01 read 0x8280 && rootnoverify (hd0,0)# Try to hide unnecessary floppiesls (fd1)/menu.lst && map --floppies=1geometry (fd0) || map --floppies=0# Enable messages outputterminal consoleterminal graphicsdebug normalerrorcheck ongfxmenu /boot/_splash/message.gzconfigfile /boot/_lst/2menu_en.lst title...@kDnAnother idea:Imagine there exist a file \I386\RAMBOOT.TXT123456\nsome text123456 refers to RAM load sectors count.Grub4dos menu.lst dosn't contain sector numbers by default.Do you have a idea to boot grub4dos, read RAMBOOT.TXT at grub4dos and callmap --mem (0xFE)+123456 (0xFF)cdobI dont know good solution, or universal way...But I try thinking about it Edited October 6, 2009 by kDn Link to comment Share on other sites More sharing options...
Siginet Posted October 6, 2009 Share Posted October 6, 2009 You know what... I feel so dumb. The unattended answer files I was using were blank. LOL! So I guess this just hasn't been my week. I've been troubleshooting creating a USB Bootable RAM ISO all week and most of my issues were my own fault. If someone wants to remove my useless posts in this thread it's fine by me. I feel so embarressed that I'd even let the simplest things like this slide by me. LOL! This is what I get for being out of the loop for so long. Guess it's time for me to start coding something again. Link to comment Share on other sites More sharing options...
Siginet Posted October 7, 2009 Share Posted October 7, 2009 Here's a few questions I have:1. If I loaded an iso to ram... and then loaded a second iso to RAM again... would existing files be overwritten?The reason I ask is this.We know that all different editions of XP Pro use the same exact files... except a small amount of files are different.If we could load an ISO of XP Pro Corp to RAM... and then load another small ISO on top of it which only contained the different files for XP Pro OEM... would it actually change the ram install into XP Pro OEM?2. Also... can I mount an ISO onto a HD instead of into RAM?for instance if we could... then we could create a normal USB XP install stick with XP Pro Corp...and then mount a small iso with the different files for XP Pro OEM conversion. Which would overwrite the ones on the hd.3. And my last question...Is there any way possible to use a cd/dvd... and somehow mount that small iso into RAM in a way that would map those files to trick windows setup into thinking the files in ram where the files on the disk. Since CD/DVD ROM's are not writeable... this would be really cool if we could utalize the memory to make it look like the drive is writeable. I doubt this is possible right now. But it would be something cool to think about for those who have created drivers like this which allows us to do things we normally couldn't do in the past. Link to comment Share on other sites More sharing options...
jaclaz Posted October 7, 2009 Share Posted October 7, 2009 I feel so embarressed that I'd even let the simplest things like this slide by me. LOL!Well, NO, it doesn't work this way. What would we have (when old and retired, and forgetful ) to point you to, which reference would we have for "You remember that time you completely messed up...." 1. If I loaded an iso to ram... and then loaded a second iso to RAM again... would existing files be overwritten?NO. separate addresses are used.2. Also... can I mount an ISO onto a HD instead of into RAM?NO.You cannot mount an ISO to a HD.BUT, hopefully, in the future we may be able to load directly (NOT in ram) a HD image (.ima/.img) as HD.This is a requsted feature that will probably be added to Firadisk or to WinVblock:http://www.boot-land.net/forums/index.php?showtopic=8168http://www.boot-land.net/forums/index.php?...=8168&st=11http://www.boot-land.net/forums/index.php?...=8804&st=77For the record there is a "filedisk" driver that should be able to do that as it has no size limits and is a real miniport one:http://www.boot-land.net/forums/index.php?showtopic=8468(it seems like there are no takers for experimenting with this one)for instance if we could... then we could create a normal USB XP install stick with XP Pro Corp...and then mount a small iso with the different files for XP Pro OEM conversion. Which would overwrite the ones on the hd.There could be a way through using graft-points (sort of hardlinks) in the making of the .iso.3. And my last question...Is there any way possible to use a cd/dvd... and somehow mount that small iso into RAM in a way that would map those files to trick windows setup into thinking the files in ram where the files on the disk. Since CD/DVD ROM's are not writeable... this would be really cool if we could utalize the memory to make it look like the drive is writeable. I doubt this is possible right now. But it would be something cool to think about for those who have created drivers like this which allows us to do things we normally couldn't do in the past.Sure, Firadisk (and grub4dos) can load HD images allright (actually it is what it is intended and used for) but you will have to deal to same "queer" behaviour theat were found (and solved) for the "normal" Install XPfrom USB.jaclaz Link to comment Share on other sites More sharing options...
kDn Posted October 7, 2009 Share Posted October 7, 2009 cdobWhat you think about that?title Test generating menu#(fd1) optional, required at some BIOS#map --mem /Boot/XP_INST.gz (fd1)map --mem /Boot/XP_INST.gz (fd0)ls /Boot/XP_RAM.ISO || find --set-root /Boot/XP_RAM.ISOmap /Boot/XP_RAM.ISO (0xFE)map (hd0) (hd1)map (hd1) (hd0)map --hook# EMPTY512.LST content 512 spaceswrite --offset=0x00 (fd0)/EMPTY512.LST default 0\n######write --offset=0x10 (fd0)/EMPTY512.LST \ntimeout 0\n\n##write --offset=0x20 (fd0)/EMPTY512.LST \ntitle TOFF\n###write --offset=0x30 (fd0)/EMPTY512.LST \nmap --mem (0xFE) (0xFF)\n#write --offset=0x60 (fd0)/EMPTY512.LST \nmap --hook\n###write --offset=0x70 (fd0)/EMPTY512.LST \nmap --unmap=0xFE\n#####write --offset=0x88 (fd0)/EMPTY512.LST \nchainloader (0xFF)/I386/SETUPLDR.BIN\n## RAMBOOT.TXT content like "+12345667" without quotesdd if=(0xfe)/RAMBOOT.TXT of=(fd0)/EMPTY512.LST seek=0x44 count=0x0Aconfigfile (fd0)/EMPTY512.LST Link to comment Share on other sites More sharing options...
maanu Posted October 7, 2009 Share Posted October 7, 2009 reply to post#70can you please explain the grub4dos entries in code box plz ? Link to comment Share on other sites More sharing options...
kDn Posted October 7, 2009 Share Posted October 7, 2009 (edited) reply to post#70can you please explain the grub4dos entries in code box plz ?This an idea to construct menu entry on-the-fly... Look to the post #59 or #66 Edited October 7, 2009 by kDn Link to comment Share on other sites More sharing options...
cdob Posted October 7, 2009 Author Share Posted October 7, 2009 @kDnThanks, I like the idea. The (fd0)/EMPTY512.LST offers a universal solution. EMPTY512.LST settings can be adjusted to special needs.Have to do some tests. There are different approaches to create RAMBOOT.TXT.Maybe I add a ramload.lst to ISO image too. ramload.lst offer a basic setting with swap hd0 hd1 and without map.Haven't made a final decision so far.@Siginet I don't know a reliable solution with two single ISO files.Remember grub4dos dd is more a hex editor. You can copy sectors, but file system is not adjusted.You may mount a second ISO file, and dd oembios.cat to RAM ISO. Given different oembios.cat file sizes results are interesting. Try and report.A multi session CD (or fake multi session as growisofs) may get a approach too. dd file system parts to RAM. However this is rather difficult at two single ISO images.A multi boot ISO file gives reliable results.To 3: It should be possible to load a small iso into RAM (textmode boot files, about 10mb), mount the big ISO file to a virtual CD drive and continue installation. Setup search all CD drives for source files, does work at U3 fake CD drive. No need to add a special search.I don't know a setupldr.bin textmode driver to mount the big ISO file. Link to comment Share on other sites More sharing options...
cdob Posted October 11, 2009 Author Share Posted October 11, 2009 What you think about that?I created two approaches finally:mkISO_RAMload_sort.cmd creates a grub4dos menu RAMboot.lst.Example:#183934 #timeout 1title Install Windows - no mapmap --mem (0xFE)+183934 (0xFF)map --hookchainloader (0xFF)/I386/SETUPLDR.BINRecognice the first line, this contain the sector numbers.The RAMboot.lst is called from main menu.lst.First approach: configfile, use preconfigured RAMboot.lst. title Loading XP RAM install - swap hd0 hd1 \n loading N sectors configfile RAMBOOT.LSTls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISOmap --mem /Inst/XP_INST.IMA (fd0)map /Inst/XP_RAM.ISO (0xFE)map (hd0) (hd1)map (hd1) (hd0)map --hookmap --unmap=0xFEconfigfile (0xFE)/I386/RAMBOOT.LSTtitle Loading XP RAM install - no map hdN \n loading N sectors configfile RAMBOOT.LSTls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISOmap --mem /Inst/XP_INST.IMA (fd0)map /Inst/XP_RAM.ISO (0xFE)map --hookmap --unmap=0xFEconfigfile (0xFE)/I386/RAMBOOT.LSTSecond approach: universal solution, read sectors from RAMboot.lsttitle Loading XP RAM install - no map hdN \n loading N sectors from RAMBOOT.LSTls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISOmap --mem /Inst/XP_INST.IMA (fd0)#optional, (fd1) required at some BIOS#map --mem /Inst/XP_INST.IMA (fd1)map /Inst/XP_RAM.ISO (0xFE)map (hd0) (hd1)map (hd1) (hd0)map --hook#kDn [url="http://www.msfn.org/board/index.php?s=&showtopic=137714&view=findpost&p=886626"]http://www.msfn.org/board/index.php?s=&...st&p=886626[/url]# EMPTY512.LST content 512 spaceswrite --offset=0x00 (fd0)/setup/EMPTY512.LST default 0\nwrite --offset=0x10 (fd0)/setup/EMPTY512.LST \ntimeout 0\n\nwrite --offset=0x20 (fd0)/setup/EMPTY512.LST \ntitle RAM load\nwrite --offset=0x30 (fd0)/setup/EMPTY512.LST \nmap --mem (0xFE)+ (0xFF)\nwrite --offset=0x52 (fd0)/setup/EMPTY512.LST \nmap --hook\nwrite --offset=0x60 (fd0)/setup/EMPTY512.LST \nmap --unmap=0xFE\nwrite --offset=0x72 (fd0)/setup/EMPTY512.LST \nchainloader (0xFF)/I386/SETUPLDR.BIN\n# RAMBOOT.* content like "#123456" without quotesdd if=(0xfe)/I386/RAMBOOT.LST of=(fd0)/setup/EMPTY512.LST skip=1 seek=0x42 bs=1 count=0x07#cat (fd0)/setup/EMPTY512.LSTconfigfile (fd0)/setup/EMPTY512.LSTEMPTY512.LST is included in XP_INST_v04.7z, attached to first post. Link to comment Share on other sites More sharing options...
kDn Posted October 11, 2009 Share Posted October 11, 2009 cdobAll works pretty good. Thanks a lot for yours work. Link to comment Share on other sites More sharing options...
kDn Posted October 13, 2009 Share Posted October 13, 2009 cdobAnother some little changes maded in setup script (SETUP.CMD) for more correct work, compare and confirm its please.SETUP.7z Link to comment Share on other sites More sharing options...
kDn Posted October 19, 2009 Share Posted October 19, 2009 On some systems USB do not initialized properly, this can be fixed like that:title Testing Install Windows XP from ISO on USB-HDD ls /boot/XP_RAM.ISO || find --set-root /boot/XP_RAM.ISO map --mem /boot/XP_INST.gz (fd0) #(fd1) optional, required at some BIOS map /boot/XP_RAM.ISO (0xFE) # if start from HDD-device, than remaping hd0<->hd1checkrange 0x80 read 0x8280 && map (hd0) (hd1) checkrange 0x80 read 0x8280 && map (hd1) (hd0) map --hook write --offset=0 (fd0)/setup/ISOimage.ini \\boot\\XP_RAM.ISO\n;\n;\n;map --unmap=0xFE# uncomment line ;setup, fixBoot.USBwrite --offset=1782 (fd0)/TXTSETUP.OEM dll = setup, fixBoot.USB\r\n; configfile (0xFE)/I386/RAMBOOT.LST Link to comment Share on other sites More sharing options...
kDn Posted October 25, 2009 Share Posted October 25, 2009 If you want to use multiple unattended-mode installation, you may do some simple steps:1. Create file WINNT.SIF with 65536 space chars (0x20), and put it in the root of floppy image (XP_INST.IMA)2. Use menu item like that:title Testing WINNT.SIFls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISOmap --mem /boot/XP_INST.IMA (fd0)#(fd1) optional, required at some BIOS#map --mem /boot/XP_INSTF.IMA (fd1)map /Inst/XP_RAM.ISO (0xFE)map --hook# Uncomment if not work while installing from USB#write --offset=1782 (fd0)/TXTSETUP.OEM dll = setup, fixBoot.USB\r\n;# Use WINNT.SIF from ISO#dd if=(0xFE)/I386/WINNT.SIF of=(fd0)/WINNT.SIF# Use WINNT.SIF from /boot/TEST.SIFdd if=()/boot/TEST.SIF of=(fd0)/WINNT.SIF# or comment all lines whis dd command for install in manual (non unattended) modecheckrange 0x80 read 0x8280 && map (hd0) (hd1)checkrange 0x80 read 0x8280 && map (hd1) (hd0)map --hookmap --unmap=0xFEconfigfile (0xFE)/I386/RAMBOOT.LST Link to comment Share on other sites More sharing options...
robekia Posted October 27, 2009 Share Posted October 27, 2009 Excellent work, i appreciate that effort so much.I used ISO file for windows XPSP3 tweaked with NLite.i tested this using Memory stick 8GB/1GB/4GB on AsusEee --> worked fine.i tested this using Memory stick 8GB/1GB/4GB on HP530 --> worked fine.i tested this using Memory stick 8GB/1GB/4GB on HP500 --> worked fine.i tested this using Memory stick 8GB/1GB/4GB on Acer1640 --> worked fine.but when i tested this using the builtin/internal Card Reader with 4GB on ACER5738 with the following steps:1- Format 4GB SD memory with HPTools.2- install Grub 0.4.43- Booted from Grub4- Start the text mode windows setup till i reach the step for choosing the partition to install windows --> actually this step never reached and blank screen appear instead.5- i tried another ISO that worked for all other Laptobs and the same result6- i tried with an ISO for pure windows (Not tweaked) with the same results.7- i got maaaaaaaaaaaaaaaaaaaaaaaaaad with this.any solution gents? Link to comment Share on other sites More sharing options...
cdob Posted October 27, 2009 Author Share Posted October 27, 2009 Another some little changes maded in setup script (SETUP.CMD) for more correct work, compare and confirm its please.Sorry late answer, got distracted. Some vacation preparations: I'm offline next december.Diff are spaces in most cases$ diff setup.cmd setup.cmd.edited44c44< echo presetup log %date% %time% > presetup.log---> for %%a in (presetup.log) do if not exist %%a echo presetup log %date% %time% > presetup.log49c49< for %%a in (reg.exe) do if not exist %%a echo Error: missing file: %%a >>presetup.log---> for %%a in (reg.exe) do if not exist %%a echo Error: missing file: %%a >> presetup.log53c53< echo presetup fixDrive.USB > presetup.log---> echo presetup fixDrive.USB >> presetup.log58c58< if /I not %SystemDrive%.==C: echo setup SystemDrive %SystemDrive% >>presetup.log---> if /I not %SystemDrive%.==C: echo setup SystemDrive %SystemDrive% >> presetup.log62,63c62,65< if exist c:\Inst\XP_*.ISO set reassign=true< if exist c:\Inst\2003*.ISO set reassign=true---> > set ISO_file_search=\Inst\XP_RAM.ISO> if exist ISOimage.ini for /f "eol=;" %%a in (ISOimage.ini) do if not %%a.==. set ISO_file_search=%%a> if exist c:%ISO_file_search% set reassign=true68c70< echo reg delete MountedDevices \DosDevices\C: and \DosDevices\%SystemDrive%>> presetup.log---> echo reg delete MountedDevices \DosDevices\C: and \DosDevices\%SystemDrive% >> presetup.log85c87< echo presetup fixBoot.USB > presetup.log---> echo presetup fixBoot.USB >> presetup.log106c108< if not exist %%a echo Error: missing file: %%a >>presetup.log)---> if not exist %%a echo Error: missing file: %%a >> presetup.log)129c131< if defined sourcepath (echo sourcepath %sourcepath%)>>presetup.log---> if defined sourcepath (echo sourcepath %sourcepath%) >> presetup.log143c145< echo search ISO file "%%i:%%j">>presetup.log---> echo search ISO file "%%i:%%j" >> presetup.log149c151< (echo Error: no ISO file found &echo.)>>presetup.log---> (echo Error: no ISO file found &echo.) >> presetup.log153c155< echo found ISOfile %ISOfile%>>presetup.log---> echo found ISOfile %ISOfile% >> presetup.log156c158< echo mount ISOfile %ISOfile% >>presetup.log---> echo mount ISOfile %ISOfile% >> presetup.log165c167< echo.>>presetup.log---> echo. >> presetup.log167c169< echo.>>presetup.log---> echo. >> presetup.log171c173< (echo. &echo mount ISOfile V:\XP_RAM.ISO) >>presetup.log---> (echo. &echo mount ISOfile V:\XP_RAM.ISO) >> presetup.log174c176< echo.>>presetup.log---> echo. >> presetup.log176c178< echo.>>presetup.log---> echo. >> presetup.log205c207< echo call presetup.cmd >>presetup.log---> echo call presetup.cmd >> presetup.log208c210< echo end presetup.cmd >>presetup.log---> echo end presetup.cmd >> presetup.log222c224< (echo. &echo run setup CmdLine: %CmdLine% - %date% %time%)>>presetup.log---> (echo. &echo run setup CmdLine: %CmdLine% - %date% %time%) >> presetup.log233c235< (echo. &echo prepare USB boot configuration %date% %time% )>>presetup.log---> (echo. &echo prepare USB boot configuration %date% %time% ) >> presetup.logI like to keep this lines: if exist c:\Inst\XP_*.ISO set reassign=trueIdea, USB drive got letter c:, let windows reassing drive letters. Internal hard disk may get c: or windows assign c: for USB again. Do you have different results? Can you describe the conditions?Thanks, I missed a > at 'echo presetup fixBoot.USB > presetup.log'. Yes, use 'echo presetup fixBoot.USB >> presetup.log'On some systems USB do not initialized properly, this can be fixed like that:I'm glad to keep the fixBoot.USB section, actually I might have deleted this part. Now this is usefull at some conditions.Do you have some examples? Which systems dosn't initialize USB properly.Another idea for multiple installation:add several floppy images XP_INST.IMA to multi boot ISO image.Load the ISO image to RAM first, and load a appropiate floppy image from ISO image next.Start the text mode windows setup till i reach the step for choosing the partition to install windows --> actually this step never reached and blank screen appear instead.Windows setup hang at partition detection/mounting. Does internal hard disk contain partitions already?Does a Memory stick 8GB/1GB/4GB work at the ACER5738 ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now