"Fossies" - the Fresh Open Source Software Archive

Member "syslinux-6.03/doc/sdi.txt" (6 Oct 2014, 5615 Bytes) of package /linux/misc/syslinux-6.03.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 		       SDI files
    2 
    3 
    4 Syslinux supports SDI files ( *.sdi ).
    5 
    6 Features:
    7  * Support for gzipped SDI images
    8  * When used with gpxelinux.0, images can be downloaded by HTTP or FTP,
    9    leading to fastest boot times.
   10 
   11 "System Deployment Image" is a file format created by Microsoft and mostly used
   12 in its products to provide in a single file a boot loader, an OS loader
   13 (like NTLDR) and a disk or partition image to boot from it without any
   14 other installed program. This is typically used in a PXE environment to boot
   15 embedded Windows versions without boot disk support.
   16 
   17 The support of SDI images in Syslinux is based on a white
   18 paper from Saad Syed. You can find the paper here:
   19 
   20 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxpesp1/html/ram_sdi.asp
   21 
   22 SDI support has been only been tested with SDI v1.0 with Windows XP Embedded
   23 images and may not work with later versions or alternative uses.
   24 
   25 
   26    ++++ Supported SDI images ++++
   27 
   28 To make a SDI image supported by pxelinux/isolinux/syslinux, you need to
   29 follow the steps below (detailed instructions are in the white paper
   30 cited above):
   31 
   32 You need to install "Windows Embedded Studio" and to run the
   33 "Remote Boot Service Setup".
   34 
   35 1) Create a new SDI file (eg: sdimgr /new xpe.sdi).
   36 
   37 2) Before importing your target partition, add the following files
   38 in the root folder:
   39 	* ntdetect.com
   40 	* boot.ini
   41 	Its content should be:
   42 		[boot loader]
   43 		  default=ramdisk(0)\WINDOWS
   44 		  [operating systems]
   45 		  ramdisk(0)\WINDOWS="Windows XPE  From RAM" /fastdetect
   46 (you can customize the name and add options like /debug)
   47 
   48 Note: Your partition may be compressed (using compressed NTFS), but these two
   49 files need to be uncompressed.
   50 
   51 3) Import the partition in the SDI file (eg: sdimgr xpe.sdi /readpart:D:).
   52 The size of the partition must be less than 500 MB.
   53 
   54 4) Import the boot program STARTROM.COM
   55 (eg: sdimgr xpe.sdi /import:BOOT,0,C:\Program Files\Windows Embedded\Remote Boot Service\Downloads\startrom.com)
   56 
   57 5) Import the nt loader NTLDR in the SDI file
   58 (eg: sdimgr xpe.sdi /import:LOAD,0,C:\Program Files\Windows Embedded\Remote Boot Service\Downloads\ntldr)
   59 
   60 Note: only the version of NTLDR provided by Remote Boot Service Setup
   61 and located in this directory has been tested. According to
   62 "http://skolk.livejournal.com/667.html", "osloader.exe" from retail XP
   63 can also be used to replace this NTLDR version.
   64 
   65 6) Pack the SDI file (eg: sdimgr xpe.sdi /pack)
   66 
   67 7) Gzip your image
   68 If you want to speed the download time, you can gzip the image as it will
   69 be uncompressed by syslinux during the loading. You can use some programs
   70 like ntfsclone ("http://www.linux-ntfs.org/doku.php?id=ntfsclone") to
   71 remove unused blocks from the NTFS filesystem before deploying your image.
   72 
   73 8) You are now ready to boot your image.
   74 Unlike the traditional way of using SDI images (startrom.n12), you don't need
   75 other files than your SDI image in the tftpboot (for pxelinux), the CD
   76 (for isolinux), or the hard disk for syslinux.
   77 
   78 * You can use the usual options of pxelinux/isolinux/syslinux (config file,
   79 config path, reboot time...)
   80 
   81 For example, a simple configuration with pxelinux:
   82 /tftpboot/xpe.sdi
   83 /tftpboot/pxelinux.0
   84 /tftpboot/pxelinux.cfg/default with the following content:
   85 
   86 	DEFAULT 0
   87 	label 0 [WinXpe]
   88 		KERNEL sdi.c32
   89 		APPEND xpe.sdi
   90 
   91 
   92    ++++ Error messages ++++
   93 
   94 * No $SDI signature in file
   95         A SDI image should begin by a signature "$SDI", the signature has not
   96 been found in your file. Perhaps your file is corrupted or has not been created
   97 correctly. Run sdimgr on it to see if everything is correct.
   98 
   99 * No BOOT BLOB in image
  100         You have to import a boot program (eg: startrom.com) when you make
  101 your SDI image (see above). The offset of this program in the SDI file
  102 is in the SDI header (begining of the file). However, the offset
  103 found in your SDI file is null.
  104 You probably forgot to include the boot program. Run the sdimgr program
  105 and look if you see a line like:
  106 BOOT 0x00000000.00001000 0x00000000.00005EC2...
  107                 --------
  108                 This is the
  109                 offset and
  110                 should not
  111                 be null
  112 
  113 * BOOT BLOB is empty
  114         See above. The size of your boot program included in the SDI
  115 is null. You probably imported a corrupted version of startrom.com.
  116 Run sdimgr and check the size in the following line:
  117 BOOT 0x00000000.00001000 0x00000000.00005EC2...
  118                                     --------
  119                                     this is the
  120                                     size and
  121                                     should not
  122                                     be null
  123 
  124 * BOOT BLOB extends beyond file
  125         You have a BOOT BLOB in your SDI file, but its size is invalid
  126 because its goes beyond the total image size. Check the tools you used
  127 to build the image file.
  128 
  129 * BOOT BLOB too large for memory
  130         Your BOOT BLOB seems correct, however there is not enough memory
  131 to load it. Increase your RAM or reduce the SDI size. This is a very
  132 abnormal situation as the BOOT BLOB is usually very small. Your SDI
  133 file might be corrupted.
  134 
  135 * Image too large for memory
  136         Your SDI file seems correct, however there is not enough memory
  137 to load it. Increase your RAM or reduce the SDI size.
  138 
  139 * SDI header is corrupted
  140         Your SDI file seems correct, but its header contains a checksum
  141 that is invalid. You most likely have a corrupted SDI file.
  142 
  143 
  144    ++++ Warning messages ++++
  145 
  146 * Warning: unknown SDI version
  147 You are using a newer version of SDI than the one with which this program
  148 has been tested. It may not work. Please give feedback and provide your
  149 SDI version.