Early Build Process

The Build process I started by taking a pre-built Windows PE x64 “Live CD” – by Gandalf. I spent the first month modding this disk extensively – a total conversion to Nano Pro. The first goal was to expand on the working Nvidia/AMD drivers in the Build of PE I was customising.
Within the first week I had the Nvidia suite working, including Cuda, OpenCL/GL, NVEnc, PhysX, Apex etc working. Meaning many modern games ran perfectly, modern apps such as Premiere and Photoshop, Chrome or Specviewperf ran with all advanced GPU features working.
Then a save/restore script needed to be developed to capture the relevant changes and restore them transparently on every boot. It’s important that this process doesn’t save any unnecessary files otherwise it would bloat the process, also it has to avoid allowing changes to the system.
The next month was spent getting everything working, exploring what could be removed/changed with the source build of Gandalfs PE (32 and 64bit) and solving 100s of issues, much of which I couldn’t find any information even within the online community.
I had to go way deeper into Windows than I ever had before and for the first time I really felt like I’d covered some really new territory in the world of Computing. I knew how life-changing this mini-OS could be for people all over the world.
At this stage we had recognised that there was a lot more benefit and further potential for this project. I decided to find the software Gandalf had used to create his build of PE and build my own. For the next two weeks I learned how to make a stable, simple and effective Windows PE.
It’s not as easy as it sounds, to get the balance right and not break anything. Since I had created my own application and registry suite I opted to avoid the majority of the Windows PE builder software options and focus purely on building a PE that is as compatible as possible.
Then for the next 6 weeks I rebuilt the previous version of Nano with the benefit of having a stable and specifically built clean Windows PE that I knew exactly what was there or not. I never needed to use Windows to develop Nano, I would go for weeks without ever using windows.
It was very fast because I would boot nano, check my last changes worked and if not then revert and reboot. I could explore with changes on my live Nano system and if they work, I put them into the Nano image and reboot. With trial and error I ended up getting a lot of stuff working.
At some point with this approach you also need to start from scratch again sometimes. Half way in I started to save out the registry and file changes so they could simply be applied to a clean image to produce nano. This happened about a dozen times to create 0.8 – my first clean nano.
One aspect I wanted to explore with this version was that when you run this system – you are the system user itself. You’re given full access to the computer within, because this build is still a test version – the System user gives us unhindered access which is useful for development.
During this initial 3 month period, around 3500 builds of Nano were created

Leave a comment