I recently bought a LG GSA-4120B
DVD+/-RW/RAM drive. Unfortunately, the firmware upgrade software from LG is Windows only and I don't have Windows.
Although I could have gone out either purchased or pirated a copy of Windows, I don't want to keep a Windows partition around merely to run firmware upgrades. And I don't want to remove the DVD drive and install it on a friend's Windows computer every time I want to upgrade the firmware. I remembered a Slashdot article on a Windows LiveCD project
, so I decided that would be the best solution for my problem.
There is a project called Bart's PE
(PE stands for "Pre-installed Environment) that will build a Windows LiveCD iso image for you. It works by copying required files from the compressed setup *.cab files on either a Windows XP or Windows 2003 Server setup CD; Windows 9x, Me and 2000 setup CD's are insufficient as their versions of necessary system files don't allow for live CD booting.
If you're wondering about the implications of the Microsoft's End User Licence Agreement ("EULA") in building Bart's PE, this issue is addressed on the Bart's PE website
If you don't own Windows XP or Windows 2003 Server, and you don't want to pirate anything, fortunately there is a free-as-in-beer solution. You can download a evaluation copy of Windows 2003 Server from Microsoft
. You have to register online for the download.
The Windows 2003 Server evaluation version expires after 180 days, however, I assume that the time limit only applies to hard drive installs. For the purposes of Bart's PE, I doubt that the system files themselves will expire once they are copied to your LiveCD; in other words, I suspect that a LiveCD created from the Windows 2003 Server evaluation edition will not expire. Since I just built my LiveCD, I will have to wait another 6 months before finding out one way or the other.
I have a spare 6 Gb hard drive, which is more than enough room for a simple install of Windows 2003 Server and Bart's PE. After downloading and installing Bart's PE, run the pebuilder.exe program and follow the directions. It copies files from your setup CD into a build directory, creates a boot image, then uses the included Cygwin port of mkisofs to create an iso file from the build directory.
I encountered a hitch in the course of using Bart's PE: it couldn't find certain system files from the i386 directory on the Windows 2003 Server setup CD. This caused pebuilder.exe to exit before creating the iso. Upon reviewing the error log, the following files were missing:
I googled the upnp* and ssdp* files; they are apparently part of the WindowsXP Plug-N-Play functionality. They are not available for download anywhere, and I neither have a WindowsXP setup CD nor do I have convenient access to a WindowsXP computer. I continued on with my Bart's PE build without them; eventually, there was no apparent significant functional impairment in my LiveCD.
With stimon.exe and MSVBVM50.DLL, I found these files on my hard-drive Windows 2003 install, in the C:\windows\system32 directory. I copied them to the i386\system32 subfolder in my Bart's PE build directory (which in my case was C:\BartsPE\build\i386\system32\).
I then opened a command prompt, and executed mkisofs manually from inside my C:\BartsPE directory as follows (command syntax obtained from the Bart's PE documentation):
mkisofs.exe -iso-level 4 -volid ""BartPE"" -A PEBUILDER/MKISOFS -sysid ""Win32"" -b bootsect.bin -no-emul-boot -boot-load-size 4 -hide bootsect.bin -hide boot.catalog -o bartspe.iso build
In the above command, I named the output iso image as bartspe.iso. I burned the iso image with Nero Express 6 as it came bundled with my drive, but you can also find a Windows version of cdrecord
or use deepburner
, a freeware Windows CD/DVD burner tool.
Once you've burned your LiveCD, reboot your computer and enjoy. I had previously download my firmware to a FAT32 partition on the hard drive, so I simply ran it while in the PE LiveCD environment.
Bart's PE can be extended by plugins for various programs, including AdAware, Firefox, Nero and others. Plugins may require hand-editing *.inf files. Since I am only using the PE LiveCD to run a simple firmware program, I haven't bothered exploring these plugins in any great depth. In addition to the sites linked from the Bart's PE website, here are some other useful sites if you are interested:
911 CD Forums
Windows Ultimate Boot CD
BootCD Bart's PE Plugins Repository
Bart's PE is intended as a system administration tool, and not as a replacement Windows OS, due to concerns about infringing the Microsoft EULA. Clearly, you are restricted by the EULA from redistributing any copies of your PE LiveCD, or running your PE LiveCD at the same time (on another computer) as your hard-drive installed Windows.
In fact, Bart's PE intentionally limits the functionality of the LiveCD (eg. limiting RAM usage, requiring a reboot after 24 hours of continuous use, etc.) so as to discourage people from using it as a pirated Windows. However, there is a project called PELoader
that purportedly removes the limitations. I haven't tried it, as the default Bart's PE build is fine for my purposes.
There only a few plugins for application software such as Firefox, Virtualdub and OpenOffice. This is not surprising since the Bart's PE LiveCD is very slow, and lacks the space for most commercial software. Again, compared to the richness and diversity of the applications packaged with Knoppix and its variants
(where what you get with the LiveCD is a fully functional Linux OS and userland), PE LiveCD's are pretty lame.
Finally, the PE scene is forced to deal with proprietary software, which restricts redistribution of program binaries and CD iso images. Unlike in the Knoppix ecosystem, users cannot go and simply download iso images of custom Bart's PE LiveCDs with all the plugins conveniently pre-packaged and working; they have go through the labour-intensive process of collecting all the necessary binaries, and then manually construct the iso with the plugins. In fact, for some basic functionality such as networking, you may have to find or build a custom plugin for your ethernet card.
One advantage that Bart's PE has, however, is native NTFS support. If you have to do NTFS filesystem management, it is better than captive-ntfs
, which I find to be slow.
In conclusion, a Bart's PE LiveCD is a nifty tool for us Linux users who only need to occasionally boot into Windows to run a simple utility, and don't want to waste hard-drive space for a full Windows install. Further, with the evaluation copy of Windows 2003 Server, you can build the PE LiveCD at no cost and without pirating.
I'll update this article in 6 months to report whether my PE LiveCD is affected in any way by the 180 day time limit on my Windows 2003 Server evaluation copy.