![]() |
![]() ![]() |
Feb 23 2005, 04:12 PM
Post
#1
|
|
|
Newbie ![]() Group: Members Posts: 2 Joined: 23-February 05 Member No.: 10,425 |
Hello,
currently I am evaluating some XP Network boot techiques for maintenance and installation of Systems Gigabit LAN +HardDisk (but no DVD/CD,USB 2.0). Ms Windows XP Embedded allows PXE network boot a RAMDisk Image. The system is envoked by a special XPE version of ntldr and Microsoft ramdisk.sys driver is envoked. I have working BartPE from CD/DVD with ISOFS and minint on Hardisk with ntfs filesystem. My XP-Embbed Ramdisk-Builds designed with Target-Designer are functional and boot from Linux PXE server and MS Remote Boot Service. When i copy the BartPE minint from harddisk to a SDI image (ntfs) i am not able to boot. Now my questions: Has anybody tried this approach ? Is it neccessary to manipulate the SDI Boot sector for launching setupldr.bin and does this work when ntldr was loaded by tftp. I replaced XPE-ntldr by setupldr.exe (Win2003/SP1) on the TFTP-Server. Both loaders can fetch and start the SDI Image but end in blue Screen. I can't figure out wheather BartPE starts the MS ramdisk.sys device on boot? ( It was already include in my PEBuild ) Can BartPE use both ramdisk.sys and Q-Soft Ramdriver at the same time? Perhaps I need usefull information how the MS loaders switch from network loading to the ramdisk filesystem and how the final ramdisk.sys is started. Bart does some manipulation on bootsect.bin to accomplish BartPE harddisk boot. But bootsector.bin which laonches setupldr.bin seems to call BIOS for I/O. Is it neccessary to make the Ramdisk also accessible by BIOS routines? In this forum i saw that Win2003RIS server can be used to PXE-Boot PartPE ISO-images. SDI Images have the advantnage that you can use then as read/write device and NTFS compression can be turned on to minimize the footprint of the boot image. Any tips on this subject are welcome. Kind regards Harald |
|
|
|
Feb 23 2005, 05:05 PM
Post
#2
|
|
|
Silver Member ![]() ![]() ![]() Group: Members Posts: 177 Joined: 19-May 03 From: Germany Member No.: 791 |
I also tried this some time ago. I started with NT4 because of the smaller footprint. I gave up on this, because IMO there was no way to do this. It relies on the capability of the NTLDR.
AFAIK (somebody proof me wrong) you have the setupldr, sometimes renamed to ntldr, that is used to load windows in setup mode. This includes Windows PE and the Recovery Console. This uses txtsetup.sif or winnt.sif to get boot options. On the other side, there is the NTLDR, that loads windows in normal mode. It uses boot.ini to configure a list of boot options. This can also point to a new boot sector to load a non windows operating system (DOS, Linux) or the setupldr. Considering that and the documented behavior of the XPembetted NTLDR does load all files from the image, no loader from the image is started. I think you can't put both options in one line into the file boot.ini. Or: there is no way to tell the loader to load an alternativ boot sector. To load the XPembetted SDI: ramdisk(0)\windows="XPe" /fastdetect /rdpath=net(0)\maint.sdi To load windows PE from boot.ini: c:\MININT\peboot.bin="Windows PE" Hope that helped. Hope you find a way and let us know in case. SAM |
|
|
|
Feb 24 2005, 07:50 PM
Post
#3
|
|
|
Newbie ![]() Group: Members Posts: 2 Joined: 23-February 05 Member No.: 10,425 |
Hi SAM you are the man I got a working SDI with BartPE Conclusion: - BartPE works with SDI Images too. - SDI supports NTFS compression and saves a lot of space Example Default BARTPE 313 ISO BUILD -> 160MB SDI Image Size transfered over network -> 128MB (20s) SDI Image Used Space compressed -> 92MB SDI Image Free space -> 34MB - SDI Ramdisk are read write -> no need for QSoft RAMDISK - SDI Ramdisks can be loaded from USB if your BIOS supports USB-EHCI. I tested with 2 Motherboards a) Intel Motherboard D845GVRS ( <10s for 128MB) - The ramdisk.sys driver has Drive Letter X: The local disks can use their Driveletter C: as usual. This is great because XPE Ramdisk always claims Driveletter C: and Harddisk Driveletter appears elsewhere. Under special circumstances the first primary partition may be hidden at all. - with Bart PE you can partiton and format the local harddisk without doing registry hacks. No need to remove HKLM\...\Criticaldevices\gendisk key before you use diskpart ( as in XP-Embedded Builds ). For those who want to try the steps were: 1. Download MS Windows Server 2003 Service Pack 1 (RC). It is a SFX CAB archive. You may use WinRAR to open it. Extract the SETUPLDR.EX_ and RAMDISK.SY_. Expand SETUPLDR.EX_ and ramdisk.sy_ to get SETUPLDR.EXE RAMDISK.SYS. 2. Build a normal pebuilder Directory (not the ISO) with any source you like but replace the driver RAMDISK.SYS with the one from W2k3-SP1 (keep however the size sufficiently small since the SDI will be loaded in RAM) 3. Prepare SDI-Image with XPE Utilities from a CMD Console The following listing should be interpreted like a CMD-batch File even if it cannot be directy copyied and executed. Diskpart and sdiloader still need some automation. CODE set SDIMGR=cscript "C:\Program Files\Windows Embedded\utilities\SDIMgr.wsf" ::# ::# Store Files in SDI-Image set SDI=BARTPE.SDI ::# ::# Get Files From PEBuilder output directory set PEBUILD=C:\TEMP\BARTPE ::# ::# Create new SDI-Image 128MB %SDIMGR% %SDI% /new %SDIMGR% %SDI% /createdisk:140000000 ::# ::# envoke sdiloader (GUI) to add the Disk sdiloader [%SDI% Add] ::# browse to %SDI% and ADD diskpart.exe ::# on diskpart prompt find and partition the new Disk list disk select disk ? clean create partition primary assign letter=R exit ::# Create NTFS Filesystem format R: /FS:NTFS /V:BARTPE_SDI /Q /C /Y ::# copy the contents from PEBUID-Directory into the SDI Image ::# Use Robocopy because we expect that normal copy will fail ::# on NTFS compressed volumes with disk full error. ::# I gave robocopy.exe 3 retries (/R:3) with 4s (/W:4) delay to let ::# NTFS compress which results in free disk space. ::# robocopy.exe /MIR %PEBUILD%\ R:\ /MIN:150000 /R:3 /W:4 defrag.exe robocopy.exe /MIR %PEBUILD%\ R:\ /MAX:150000 /R:3 /W:4 ::# ::# envoke sdiloader (GUI) to remove the Disk sdiloader [%SDI% remove] ::# ::# Copy the %SDI% to the Tftp server for PXE-BOOT 4. Create a WINNT.SIF text file containing the code CODE [SetupData] BootDevice = "ramdisk(0)" BootPath = "\i386\System32\" OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=WINPE.SDI" 5. Prepare PXE/TFTP Server (details can be found elsewhere in this forum) Linux File system needs further workarounds (realized with symlinks) CODE Startrom.n12 winnt.sif ( symlink to WINNT.SIF !! lowercase !!) WINNT.SIF NTDETECT.COM ntdetect.com ( symlink to NTDETECT.COM !! lowercase !!) NTLDR ( renamed setupldr.exe !! not setupldr.bin !! from W2k3-SP1 ) WINPE.SDI ( symlink to my images/bart_pe/%SDI%) 6) An example menu driven multipurpose PXELinux loader I tested with Knoppix 3.7 DHCP3/PXE/TFTP Server (on HD) CODE File: /tftpboot/PXEClient/messages /----------------------------------------------------------\ | Welcome to li1.tenno.de PXE Server 192.168.0.1 | | Bootimages: V 0.9.9 24-feb-2005 | | type "<tag>{_<opt>}<CR>" to boot {a special} image | | <Tag> : <Description> | | dos : DOS 8.0 with network for PQDI | | grub | PXEGRUB | | knoppix : KNOPPIX 3.7 192.168.0.1 Kernel 2.6.9 | | knx37v24: KNOPPIX 3.7 192.168.0.1 Kernel 2.4.27 | | memtest : KNOPPIX 3.7 memtest | | vmedemo : Elinos_30 | | vx : VxWorks Options: | | pe : Bart PE RAMDISK (setupldr.exe) | | xp : WINDOWS XP Embedded RAMDISKS (ntldr) | | <CR> : Boot from local Disk | \----------------------------------------------------------/ CODE File: /tftpboot/PXEClient/pxelinux.cfg/default PROMPT 1 DEFAULT local DISPLAY messages TIMEOUT 0 LABEL local LOCALBOOT 0 LABEL dos KERNEL memdisk APPEND initrd=images/dos_80/net_pci.img # Obsolete Bart DOS Boot Disk LABEL grub KERNEL pxegrub.0 # startldr.0 is symlink to startldr.n12 (a patched startrom.n12) LABEL pe KERNEL startldr.0 # startrom.0 is symlink to startrom.n12 (original from MS XPE RemoteBootService) LABEL xp KERNEL startrom.0 LABEL knoppix KERNEL images/knoppix_37v26/vmlinuz APPEND initrd=images/knoppix_37v26/miniroot.gz nodhcp nfsdir=192.168.0.1:/cdrom lang=de ramdisk_size=100000 init=/etc/init apm=power-off wheelmouse LABEL knx37v24 KERNEL images/knoppix_37v24/vmlinuz APPEND initrd=images/knoppix_37v24/miniroot.gz nodhcp nfsdir=192.168.0.1:/cdrom lang=de wheelmouse ramdisk_size=100000 init=/etc/init apm=power-off nomce #( VXWORKS/ELINOS stuff removed for 911CD posting ) LABEL vmedemo KERNEL images/elinos_30/vmedemo APPEND initrd=images/elinos_30/vmedemo.tgz rootfstype=tmpfs root=/dev/ram rw ip=dhcp # memory test LABEL memtest KERNEL images/knoppix_37v26/memtest 7) The menu driven multipurpose PXELinux loader can be used without modifications on a WIN2K/XP with XP Embeddes RemoteBootService installed. Kind Regards Harald |
|
|
|
Mar 17 2005, 12:26 AM
Post
#4
|
|
|
Member ![]() ![]() Group: Members Posts: 47 Joined: 5-December 03 Member No.: 2,967 |
Any suggestions on how to boot different images via PXE.
The above method only allows for a single image, as it always loads the same winnt.sif. There is a SYSLINUX patch that allows loading of SDI images, however it uses the startrom.n12 and NTLDR from XPEmbedded. This means you have to run the XP embedded OS and not the typical WinPE Minint boot style. Any idea on how to boot multiple images from SYSLINUX? Regards Rob |
|
|
|
Mar 26 2005, 11:42 AM
Post
#5
|
|
|
Member ![]() ![]() Group: Members Posts: 10 Joined: 19-September 04 Member No.: 7,375 |
Hi,
is there any chance to boot a Win XP Embedded SDI image without a RIS-Server? I'm trying this under Windows with TFTPD32, PXE Linux and startrom.n12. After downloading the ntldr nothing happans any more. The boot.ini will not be downloaded to the client. Do I need a patched ntldr? |
|
|
|
Mar 26 2005, 01:15 PM
Post
#6
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 577 Joined: 18-August 04 From: Czech Republic, EU Member No.: 7,126 |
@cornhoulio
QUOTE is there any chance to boot a Win XP Embedded SDI image without a RIS-Server? Is this what are you looking for? http://www.eggheadcafe.com/ng/microsoft.pu...ost20737141.asp Pavel |
|
|
|
Mar 27 2005, 12:10 PM
Post
#7
|
|
|
Member ![]() ![]() Group: Members Posts: 10 Joined: 19-September 04 Member No.: 7,375 |
Thank you pavel.
This brought me on the right way. I have to use the ntldr which comes with the Remote Boot Manager. I have it running now. |
|
|
|
Mar 28 2005, 08:17 PM
Post
#8
|
|
|
Member ![]() ![]() Group: Members Posts: 47 Joined: 5-December 03 Member No.: 2,967 |
Note that the RBM version of the ntldr doesn't support the MININT functionality, needed to load WinPE Images.
Any XPe images you create for loading over PXE will customised for that particular HW platform, so it's applications are limited. |
|
|
|
Apr 9 2005, 06:03 PM
Post
#9
|
|
![]() Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Members Posts: 2,311 Joined: 20-September 03 From: Earth: It's the little blue planet circling the Sun in the Milky Way Galaxy. Member No.: 1,729 |
@tenno
QUOTE /rdimageoffset=36352 Where does this number come from???Is the offset different with the size of the .SDI image file? -------------------- Free stuff:
Official BTS Driverpack Support for bartpe The Ultimate Boot CD for Windows: Forum -------------------------------------------------------------------------------------------------------------- Please remember to use the SEARCH engine before posting new topics. Also remember to select "All Forums" & "Show results as posts" in the options. -------------------------------------------------------------------------------------------------------------- "When one's words are not better than silence, One should remain silent." ~ Kwai Chang Caine |
|
|
|
Apr 10 2005, 11:25 AM
Post
#10
|
|
|
Member ![]() ![]() Group: Members Posts: 47 Joined: 5-December 03 Member No.: 2,967 |
If I remeber correctly, it comes from the XPe SDIMgr.vbs script whe nyou create the various BLOBs. It's the offset to the DISK BLOB basically. It tells the loader to ignore the other BLOBs and just load the data after the offset into a RAMDisk.
Rob |
|
|
|
Apr 23 2005, 06:35 PM
Post
#11
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 7-February 05 Member No.: 10,062 |
Why is that??? I built a compilation 3 times as for now, and using x(pe) over xp(e), i get an error.. Which starts with file not found.. wscript error. Then main shell died with code -1 or so.. dropping to command prompt.. as where the same compilation on iso works... hmmmmmm... just asking, but i guess someone of you is gonna tell me something like: It's application is limited.. Or... screw svenska's xpe, we all use nu2menu and suites us well..... GRRRRR!! I'm not gonna give up on ntfs!
Sorry, Sherpya's XPE.. |
|
|
|
Apr 24 2005, 08:46 AM
Post
#12
|
|
|
Silver Member ![]() ![]() ![]() Group: Members Posts: 171 Joined: 10-November 03 From: FRANCE Member No.: 2,487 |
QUOTE (tenno @ Feb 25 2005, 12:50 AM) ::# copy the contents from PEBUID-Directory into the SDI Image ::# Use Robocopy because we expect that normal copy will fail ::# on NTFS compressed volumes with disk full error. ::# I gave robocopy.exe 3 retries (/R:3) with 4s (/W:4) delay to let ::# NTFS compress which results in free disk space. ::# I'm using a small utility for the robocopy part: RoboCopy GUI Features: Graphical User Interface for the most robocopy functions Simple usage no Installation required |
|
|
|
Apr 24 2005, 09:06 AM
Post
#13
|
|
![]() Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 826 Joined: 26-February 03 From: Germany Member No.: 335 |
There is another GUI frontend for MS robocopy. CopyRite XP
|
|
|
|
Jun 14 2005, 08:11 AM
Post
#14
|
|
|
Newbie ![]() Group: Members Posts: 9 Joined: 28-July 04 From: Germany Member No.: 6,824 |
Hi guys,
I tried what tenno posted here but i putted it on a CD. so facts are: Image gets loaded into RAM but i'm receiving an error like "txtsetup.sif not found, file missing or corrupt, status 2" my WINNT.SIF CODE [SetupData] BootDevice = "ramdisk(0)" BootPath = "\i386\System32\" OsLoadOptions = "/noguiboot /fastdetect /minint /rdoffsetsize=28672 /rdpath=MINI.SDI" sdimgr shows me 7000(HEX-Value) as offset for the DISK-BLOB so my rdoffsetsize is 28672, right? The MINI.SDI contains a slimmed-down BartPE and is about 65MB Any Ideas, or did some suceed with what i am trying? Regards morphly |
|
|
|
Jun 14 2005, 09:07 AM
Post
#15
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 3,053 Joined: 31-October 03 Member No.: 2,304 |
@morphly
I'm using rdimageoffset=36352 and differen't sdi image sizes. Booting from hard disk and cd is possible. "txtsetup.sif not missing or corrupt, status 2" indicates a wrong rdimageoffset. Did you tried rdimageoffset=36352? |
|
|
|
Jun 14 2005, 10:13 AM
Post
#16
|
|
|
Newbie ![]() Group: Members Posts: 9 Joined: 28-July 04 From: Germany Member No.: 6,824 |
@cdob:
Found the error: I was using rdoffsetsize instead of rdimageoffset. Silly me. Should try more coffee next time But there is another thing: I am testing under VMware and when the windows-screen is coming up just before nu2menu comes up as shell it reboots. I'm using W2k3 SP1 as source... should try XPSP2 instead Regards morphly |
|
|
|
Jun 14 2005, 12:57 PM
Post
#17
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 577 Joined: 18-August 04 From: Czech Republic, EU Member No.: 7,126 |
QUOTE (morphly @ Jun 14 2005, 03:13 PM) But there is another thing: I am testing under VMware and when the windows-screen is coming up just before nu2menu comes up as shell it reboots. I think it could be becouse you have to add memory in your VMware. So increase memory settings and try again. Pavel |
|
|
|
Jun 15 2005, 07:15 AM
Post
#18
|
|
|
Newbie ![]() Group: Members Posts: 9 Joined: 28-July 04 From: Germany Member No.: 6,824 |
@pavel
no it seems like it has something to do with W2K3-SP1 and Nu2Shell I disabled the NU2Shell and everything works like a charm... btw: does anyone know a plugin for MMC which works with W2K3-SP1 as Source? The plugins around here in the forum do not seem to work Regards morphly |
|
|
|
Jun 25 2005, 05:20 AM
Post
#19
|
|
|
Member ![]() ![]() Group: Members Posts: 18 Joined: 25-June 05 Member No.: 12,315 |
edit: nothing.
|
|
|
|
Jul 6 2005, 07:02 AM
Post
#20
|
|
|
Silver Member ![]() ![]() ![]() Group: Members Posts: 254 Joined: 30-June 03 Member No.: 1,027 |
Macfox asked:
QUOTE Any suggestions on how to boot different images via PXE. I hope this may be of some use to you. I don't use sdi images (yet) but following instructions on another thread, with loads of help from Macfox & others I pxe boot and load a ram image to the client from a 2003 server. Using pxelinux I have found a dirty way of having multiple iso images. Each of my iso and STARTROM.0 files are in a separate sub dir of my tftpboot root. My method of loading the first iso is as documented. To load the second iso I hexedit (say) \ISOWIN_384\STARTROM.0 and search & replace every NTDLR with NTDLA (3 found). Next copy NTLDR (which was orginally setupldr.exe) to NTLDA, this is in my tftpboot root. Hexedit NTLDA search & replace every winnt.sif with winna.sif (6 found) and WINNT.SIF with WINNA.SIF (3 found). Copy winnt.sif to winna.sif, and edit OsLoadOptions to point to equiv of \ISOWIN_384\WINPE2.ISO Finally my pxelinux.cfg\default has: CODE label 5 kernel ISOWIN_256\STARTROM.0 label 6 kernel ISOWIN_384\STARTROM.0 I now have three iso images to select from, working fine. Is the sort of thing you are after? Regards SteveA |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 21st November 2009 - 12:30 AM |