Help - Search - Members - Calendar
Full Version: MobileOS
Boot Land > Groups > WinBuilder > Projects
Pages: 1, 2, 3, 4, 5, 6, 7
Based on WinXP SP2 (EN - recommended)

QEMU on Windows Version 0.9.0 Fabrice Bellard
Section "Accelerators"
- qemu.exe
- fmod.dll
- SDL.dll
- qemu-img.exe
- bios.bin
- vgabios.bin
7-Zip © Igor Pavlov
- 7zG.exe
- 7z.dll
dd for windows John Newbigin
- dd.exe

- mkisofs.exe?
- cfadisk.sys
- RegDACL.exe
- flashnul.exe
- UltraDefrag
- ImDisk

WinBuilder 072

Antivirus, explorer(user) etc. should not interfere in work virtual machine (Qemu)

Web server -


Hi all
Somebody already tasted this OS? (Russian)

Scripts which are at this forum almost approach MobileOS
I think, that it can replace Preinstallation Environment.
Nuno Brito
It would be an excellent replacement if the whole method could be automated, otherwise people will still be afraid to try it out by themselves..

I'll try it next weekend, looks really good! thumbsup.gif
Yes, people really are afraid to try it.
I am confident, that i will manage to create sometime automated method based by scripts Winbuilder. I hope for reciprocal efforts
Nuno Brito
Since you're using nlite, have you already tried the method used by microwinx?

They create a XP based build (not PE) also sized around 50Mb, it's not using explorer shell or anything else added, but the result is very similar to our liveXP project and it will surely be easier to tweak with all the experience gathered from PE environments.

Don't be afraid to place any doubts you have regarding the script syntax or anything else in wich you need help - This is a really promissing project.. smile.gif
Whether you plan to support ms-inf format.
In projects a plenty of the information (in registry) included in installation CD contains.
Maybe to an release version 1.0 it will be possible .

Nuno Brito
It's good hearing news about a version 1.0 - I haven't had the time I hoped to get for testing mobileOS but will do it as soon as possible.

Do you need support for reading INF file from MS format?

Never thought about it, but I can give it a try - but it will take a while since I already have a few other code sections needed to be recoded and modified. Then I'll definitively help you better on this task! smile.gif
Nuno Brito
Do you need support for reading INF file from MS format?

Of course.
Windows XP registry contains ~10Mb keys which basically are read from inf files.
Bart has directed us not at that way.

Nuno Brito
Wouldn't it be simpler to load the XP hive from the running project onto the local registry and then modify the paths on the INF files to match the loaded hive?

This way it would be 100% ms compatible since we'd be using their INF engine - I would surely take a lot of time to get a good working result and this way seems faster to test this theory on real builds.

Wouldn't it be simpler to load the XP hive from the running project onto the local registry and then modify the paths on the INF files to match the loaded hive?

For the beginning it most suitable variant.
see first post
Thanks for project script! Looks very interesting.
This is something I've been playing with for two years...
Regular XP as a runtime image!
Do you have it EWF enabled yet?
I'll be curious to see your project continue. wink.gif

Both PE and regular Windows developers have reduced their platforms to 15MB each, they're very similar.
Nuno Brito
Thanks for this release!

One thing: why is nlite required to slim the source?

We can copy only the needed files and remove unneeded entries from txtsetup.sif ourselves with wb, and the installation process can be simulated with qemu - I can help you with this process if you need.

Imagine it this way: We create the modded windows source as an ISO and proceed to use it as boot image on qemu - it's possible to generate an answer file that will provide all needed steps in an unatended fashion install on the emulated disk.

The serial number needed to install windows *must* be provided by the user itself - this can either be added from a script box inserted into the unnatended answer file, or user will input when windows is installing.

After the installation is complete, the registry patch is added and files.7z is created fresh - at this point I'm not sure on the best approach to copy files.7z from the guest OS - perhaps using network support, but on systems with firewall activated or even vista would make it hard to work as expected. Can't we use the disk image itself as source and mount it on our host OS since we can always create a fresh image disk on each build? This would also make it easier to manipulate files.

In either case, a small app - (using autoIt for example) can do these tasks unnatended, and order the system to shutdown, wich will cause qemu to close itself and allow the script processing to continue.

A message box asks the user if the created image is working correctly and proceed with the rest of build process.

End result is a completely unnatended XP hardware independent OS done with efficiency... thumbup.gif

In my opinion, this would be a mobile solution I would use all day long... punk.gif

You bring up some good points...why nlite? Good question to which there are many answers but you may be right. Is the XP Setup process so difficult to reproduce? I think we already know it's more flexible than we're led to believe. I'm thoroughly familiar will all pre-Vista UA practices and find all of this sparking some ideas. I have pre-scripted installs and a good bit of undocumented information on winnt.sif, but I don't even think you need all that, just a simple answer file combined with Nuno's detailed knowledge of the NT OS core should suffice. Just to make it interesting, you could use something like Longhorn 4047? smile.gif
I not use Longhorn.
Nuno Brito
Thank you for idea. Еventually we find way to simplify this process .

However if will appear the script , simplifying making MobileOS I will glad .
I was only joking.
I've been looking at how the registry must be modified so that we can make a hdd install straight from the source cd. DigitalProductIDs must be added and other things too, but it's very possible.
Obviously we can benifit from Nuhi's knowledge by studying a small nlited XP. I want to do something similar to what euhenio is doing using nlited xp but using just the source cd. The end result to be a generic hardware vhd image you could restore to bare metal or boot into RAM from cd/dvd/hdd.
Communication may by a little tricky but I 'd like to help with this project if I can. smile.gif
Needed files for the system can be taken directly from source CD - make one small and stable build with nLite and you'll know the files and their locations in the build. It's no problem at all (I have this about 300MB with working printing, scanning, duil-up adsl and WiFi and think it could be reduced some more, most of my programs work and it's about 200MB on compressed NTFS image).

I found that for universal system some files should be extracted from DRIVER.CAB and placed in system32 and system32\drivers folders - it is possible to find out which files from WinBuilder stable build.
Some SATA/RAID drivers can be added to MobileOS for this purpose too.

Some pre-made regestry tweaks like USB support can be added for universal system too.

The only problem is in creating working Registry. The only way I see is to take regestry files from user's working system and edit them in WinBuilder - delete and add some keys with pre-made scripts.
Where to take these scripts? Compare full installation XP regestry with nLited or xplited regestry (maybe with both) and finding which keys should be added and which deleted to achive the goal.

nLited system seems to be smaller. xplited system seems to be more stable. IMHO.
Some regestry settings maybe taken from BartPE hives aslo.

If generic Regestry creating is possible any programs and language support can be added by a user through regular scripts during building.

NIKZZZZ from Ru-Board created new utility for saving image of running in RAM system. That could be very usefull because as we know any changes in MobileOS can't be saved after reboot. And this can be usefull for capturing the system itself (I have not tested it yet).

PS Just thought of it: maybe some functions in XP can be replaced by free alternatives like native netwoking replaced with PENetwork GUI? That way some more files and regestry settings can be deleted.
There's a guy, Bold Fortune, he made batch files which reduce an installed XP system, however, I'm leaning toward a nlite based project because of the small size that users have achived. I've been running nlite throughout the day to work out a few bugs and make sure the new version is working ok. Actually, I've reverted to v1.2.1 which has produced a stable build I'm running on a VM now. Taget size is about 135MB for the setup i386 with most fuctions still in tact, any smaller and the loss of funtionality is too great. When done, hopefully tomarrow, I'll start building my list to generate scripts.
Thanks for reporting your success!
Wouldn't it be nice to run the image out of RAM if you want to? wink.gif
The end project might use a DOS based install, or even a mini Linux, to load OR restore the XPSP2 system image made from the install CD.
You can try my LASTSESSON.INI (nLite v1.3) and take out Chinese Simplified and Russian languages support. For now I only have one very serious bug - I can't run some MSI installers in the system confused1.gif Everything else seems to be functioning well. New source is less then 120MB (without languages it will be about 100MB).

If you need CHM files openning I can give you work around (works fine) or you can use a free program xCHM (works fine with English).

I open video files with Mplayer that doesn't need video playback support (self containing).

DirectX with sound support, printing, scanning, new devices drivers installation and, all kind of internet connections - all works fine.
No IE, OE, Task scheduler, MS Help (CHM files can be opened fine though with a small addition wink.gif

PS No need for install at all - when you prepare the build just place it on virtual drive created with BootSDI.script wink.gif I don't even think we should concentrate on installing - it's just for achiving the fewest files set for working system with the most functionality. When using WB we only need extact and place into Target sub-folders needed files from the source CD and find out how to create the Regestry in WB.

I run this image right now and writing this from RAM what.gif

PPS And I forgot to mention that you can delete a lot of files from installed system too: .LOG, .TMP, .PNF, .EVT, .OLD, etc. - it was about 10MB in my system! Some fonts should be revised if they are really used wink.gif After extracting some files from DRIVER.CAB and SP2.CAB they also can be deleted. No need for DLL Cache. And so on.
That's right, no install, just restore or load!
I already know where to export most all of the DigitalProductIDs, WPA, WGA.. (etc.) entries from in the registry.
It will be easy for me to start building a script and concentrate on the registry patching once the nlite build is imaged and ready for building lists. thx!

...and now I'm posting from the nlited system that just finished installing, It's about 20-30MB. bigger than yours, but still very fast even in a VM!
No IE front end, but the engine was left so I'm using explorer to surf the net before going to sleep. smile.gif I'll try your presets tomarrow.

here I am wink.gif..
More 30MB - it's a half of WinBuilder stable build with network support and some appz! wink.gif

I think that this also will be difficult - some people needs IE, some want to have Task scheduller, some will need OOB or even Old CDPlayer...

Would it be better not to stick with ALL functionality but with some features that are difficult to reproduce in PE systems like WiFi with security, printing and scanning? Most of other features including HTML rendering can be added with regular scripts during the build.
Thunn, Oleg, have a look at this post here:

The "universal" ATA and SVGA by "alter" could be useful to reduce size while making it "portable".

Yep, it's Russian isn't it? wink.gif Yurkesha from Ru-Board thinks that it's good but it only supports SATA. And if you need RAID you should add some drivers too (they are often the same for SATA and RAID).

Interesting and promissing but not right now cheers.gif
Well, NO, it supports MOST IDE/ATA/ATAPI devices and a few SATA:
hence the name of "universal"

Same applies for the VGA/SVGA:

Yurkesha made the script for universal VGA/SVGA and posted it on wink.gif
It works for most drivers and I think it can be usefull in MobileOS project.

The WB plugin for this is very easy - just copy two files and extract one from the source CD. I'm attaching mine and if somebody wants he/she may adjust it for better look and functionality wink.gif

As for universal mass storage driver... I'm not an IT specialist, I'm just transfering Yurkesha's opinion about it cheers.gif
Later today I will. reproduce your build...100MB. is a good target size!!! thumbsup.gif

We'll obviously need to load generic drivers for most hardware, jaclaz is excellent to have around isn't he? thanks for the info!!
QUOTE(Oleg_II @ Mar 12 2007, 01:41 PM) *
Yurkesha made the script for universal VGA/SVGA and posted it on wink.gif
It works for most drivers and I think it can be usefull in MobileOS project.

The WB plugin for this is very easy - just copy two files and extract one from the source CD. I'm attaching mine and if somebody wants he/she may adjust it for better look and functionality wink.gif

As for universal mass storage driver... I'm not an IT specialist, I'm just transfering Yurkesha's opinion about it cheers.gif

Including your script into (running) nativeEx_barebone project:

Under VirtualBox ISO starts well, but the CD with burned ISO fails with a 'setupdd.sys issue'.
Microsoft knowledge base tells something about hardware issue, starting from RAM module (I did not change) to a new unknown piece of HW (I did not change). So I suspect the new driver misunderstands something or something is missing.

My HW is onChip intel 82845GL

Interesting... It works fine here on a couple of notebooks with Intel 82852/82855 GM/GME and Via integrated video cards. And your error seems to have relation not with video confused1.gif

Anyway it's a beta version driver. It was reported working with some video adapters but some Intel card was advised to be commented in INF file according to Ru-Board information.

Just checked it (you may look at the screen shots here. For i845 it's recomended to comment this line:
%AnaPa.DeviceDesc0% (VBEMP VIDEO DRIVER FOR PCI\VEN_8086&DEV_2562) = Vbemp, PCI\VEN_8086&DEV_2562
and maybe to comment all devices with PCI\VEN_8086 - they are supported by native XP driver.
And GeForce 6100 is probably should be commented too (you need to find out vendor ID and comment the line with it)...
Information from Yurkesha (just reading his postings).
Hi All
MobileOS does not know restrictions!

My MobileOS is arranged so:
RAM.IMG - kernel, 64 Mb, mounted as X:
BIN.IMG - other system files , mounted as Y:
PROG.IMG - my programs, mounted as W:

She can be loaded on compi with 128Mb RAM (required pagefile.sys)

I already use such monsters, as Promt Expert and Kaspersky Internet Security 6.0 (full version) .

Farewell HDD-OS, time MobileOS has come .
Yes it has! And flash prices are dropping fast!!
In less than 10 years flash will be cheaper per MB than metal platter hdds.
I will start getting inpressed when flash memory can take as many write cycles as a hdd.
Until then, it's nothing more than any RW-Disk. thumbdown.gif
Nuno Brito
The mobileOS proposed by euhenio runs straight from RAM, so the overall write cycle of the pendisk is very limited - no more would it stress the hardware like copying a gigabyte worth of mp3's .. wink.gif

Seems a handy OS to carry around, to wich adding programs isn't a pain as we see on PE environments, I should really try it when I get some extra time.

Testing now.
A question for euhenio
You have used Programs instead of "Program Files" in the reg patch. It's not for PE., Any reason?
I'll have to look closer!
I'm adding additional 7-Zip entries for associations, so, no problem.
I install 2 programs:
Firefox and 7-Zip

My nlite presets are 110 MB, seems to work ok, very fast.
I'll post presets/adds later, as a thought,
you should provide last session presets with the script.project,
Perhaps some other methods to reduce XP can be tested also.
Wow..OK now I understand.

You're only using some files from the nlite build!
Most of them come from the source disk!!

This is so f------g cool and exactly what I had in mind. I should have looked at this before. I hope it works, it certainly makes perfect sense that it does from what I see in the provided scripts. 'Her' time has come, I love it.
Great job!! :twothumbsup:

forget the question.

I'll post some test results shortly.
Old last session I have lost.

However now I work about new script for similar last session. The size ~ 400Mb.
Ram.img (~55Mb) completed - complete script .

Probably my scripts work without nLite.

Requirements are similar:

Program Files> Programs
Documents and Settings> Settings

To install it is necessary on disk Y:

Last Session.ini I can give tomorrow.

Now I use XPSP2 English version.

Well, I guess I need more details smile.gif

My nlited XPSP2 is 105MB.
I do not need last session. No.

Please, more on what files go where, and when.

If you have posted more details in English please point me to it.. I need to know about how to use minlogon, fbwf, and vdk with your project. Minlogon and FBWF require registry changes.
I have the files, but most users do not, please keep that in mind.

Finally, what is done with the finished folder?

My MobileOS is arranged so:
RAM.IMG - kernel, 64 Mb, mounted as X:
BIN.IMG - other system files , mounted as Y:
PROG.IMG - my programs, mounted as W:

I can imagine, but i have to ask..
How are the individual images for Kernal, Extras, and Programs, made and used?
Once 'MobileOS' is working here, I'd be happy to assist with making the script(s) user friendly. My command of English is not so bad. wink.gif

If you lokk at the picture below,
What I missed is where you told us to add these files to the nlite build,
FBWF and minlogon I understand.
I need information on the use of VDK with regard to..
How do we make the finished image and mount it at boot?
thank you!Click to view attachment

FBWF is optional.
I use minlogon always and he is extremely desirable.
My script make contents Ram.img.
Bin.img contains the installed system and other programs - he gathers manually.
Prog.img It is possible to unite with Ram.img.

Use VDK is in detail described jaclaz

Re-read the connected topics.

I'd be happy to assist with making the script (s) user friendly

Thanks! It will be simply magnificent!

I'll do my best to put the pieces together.
Once I understand exactly what you want to do, I can help automated the rest so nothing must be done manually.
I am also working on other work/projects so hopefully tomarrow I can study your mobileos model more. I can't wait until it's all scripted so more people here can try it!
Currently running my full SDI PE in RAM.. about 250MB with DX9c, audio, many drivers, but very fast with 1 GB RAM. smile.gif

I have translated your web page for other English users and so that I'll be able to study it a little more easily.

MobileOS web page, English

So far I only interpreted and edited the title, all else is roughly translated.
Hasta luego, amigo.
Thank you ever so much !
I check your work.

Today I have finished fixreg. He is very alike by base MobileOS. Also it is possible to load mine Last session.

Go to " Download Center " , press button " Add a new web server " - paste

I think there is no sense in metaphrase .
Remaking him to the your taste.

It is better to use GRUB and SYSLINUX separately, so far as probably delay of work memory .

After completion of scripts I shall change
Nuno Brito
QUOTE(euhenio @ Mar 30 2007, 12:59 AM) *
Go to " Download Center " , press button " Add a new web server " - paste

Congratulations on your webserver - do makes it a lot easier to get all files..

Trying your web server I noticed two projects listed maybe it would be simpler to use a single project inside

Also one small typo under the last session script - shouldn't the button say "Get file"?

Nice work so far!! thumbup.gif
Nuno Brito

These are different projects. When I shall complete MobileOS_new I shall rename him in MobileOS.
Nuno Brito
Ok, thanks for explaining the difference! laugh.gif
Version 002
Public version (beta testing)
You needed in following collection files :

Microsoft® Windows® XP Professional SP2 EN
minlogon.exe Microsoft® Windows® XP Embedded
ramdisk.sys Microsoft® Windows® Server 2003 SP1
nLite 1.3 Windows customizer Dino Nuhagic
QEMU on Windows Version 0.9.0 Fabrice Bellard
Virtual Disk Driver Ken Kato
WinBuilder © Nuno Brito rolleyes.gif

7-Zip © Igor Pavlov also should be installed

You also should provide that other processes e.g. antivirus, explorer etc. have not blocked temporary virtual drive as it can spoil result

All still remain more quantity small bugs which I shall correct in the future.
OK...wiz kids.

Right now I'm trying to boot a regular xpsp2 image from ISO using suggestions spread throughout threads you know of including mobileos registry settings and updating IDE drivers to generic. I Added a grub chainloader renamed as setupldr.bin in i386 next to ntdetect.
ISO boots and loads grub which loads boot.ini in root which then loads xpcore.ima.. loading ramdisk image... then,
'ntoskrnl.exe not found/corupt' message

Filedisk was used to make the image, perhaps the problem is the drive is not 'mapped' right. I'm looking at vmware-mount.exe now. I was going to image a udf disk and load it with bcdw2 if no success. I did that before but it loads a bit slow if I remember right. Of course, thoughts on this are most welcome!

my image root is currently like this..
\I386 DIR
\ntldr 295536 b <--from s2k3 R2 not setupldr.bin renamed
\XPcore.ima 260046848 b
\boot.ini 167 b

\I386\setupldr.bin 167328 b <---Grldr
\I386\NTDETECT.COM 47772 b
(w/xp bootsector)

one more note,
I have not changed the main PC driver to 'Standard', just the 3 IDE drivers. Minlogon is used and the system boots well normally.
Problem in wrong XPcore.ima

I recommend to test my version 002
Me seems you there will find answers
I tried but received an error that your script cannot find a folder in gub dir.
I downloaded regular grub for dos 042 which does not have the missing folder.
I need the link to your grub!!
Please always provide download links to components used, it will help your project to be more friendly. laugh.gif

So I'll do it manually,
this is a help here:
ShellExecute,Hide,"%qemu%\qemu-img","create %targetdir%\ram.img %pFileBox1%M"
ShellExecute,Hide,"compact","/u %targetdir%\ram.img"
ShellExecute,Hide,"%vdk%\vdk.exe","open * %targetdir%\ram.img /rw /p:0 /l:%tmpltr%"
ShellExecute,Hide,"format","%tmpltr%: /FS:NTFS /V:MobileOS /Q /C /x /FORCE"

Too bad nLite has no cmdline. Maybe we can use batch files soon. smile.gif
I tried but received error that your script cannot find a folder in gub dir.

I in confusion! Such should not be. More in detail please.
In version 002 grub is not mentioned!
Too bad nLite has no cmdline.

Too it is not pleasant for me.
Please always provide download links to components used, it will help your project to be more friendly.

These links seem to me are obvious

nLite -


it was an was error with qemu, a subdirectory was missing.
Just add some web links. smile.gif

It is very interesting, whence it?
Those batch files were made by msfn member jdeboeck, they for XPsp1.
His website is now gone.
I made one or two changes/additions..
Using just components, no drivers, they still work perfectly on xpsp2.
I know it may seem obvious, but to eliminate confusion,
Why not add 'weblinks' to your script UI? smile.gif

I always do this so people do not even have to open another application, just click, bang, zoom, done. laugh.gif

I'm attaching the error message. qemu does not contain a pc-bios directory, please download the English dist. and see.

I have a cd booting with boot.ini and no grub, instead server 2k3sp1 ntldr is renamed as setupldr.bin. This is what I overlooked, a most excellent 'trick'. However, at start of boot files begin to load and it freezes loading acpitbl.dat. I wish I had more time for this! let me know if the lproblem sounds familiar. smile.gif

the 'trick'
I386 (DIR)

SETUPLDR.BIN <--NTLDR renamed, from Svr2K3 sp1

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2007 Invision Power Services, Inc.