OpenBSD on HP Stream 7
tedunangst.com
tedunangst.com
I often wonder whether we have completely lost any notion of how big storage devices have become or how much data is required to do something, because 32GB is still extremely huge to me. Thirty-two billion bytes. It perplexes me what Windows would need that much space for, and whether most of it is actually really necessary. I suppose it could be a case of "little things add up".
The OpenBSD installer is under 300MB, although it doesn't include all that much: https://www.openbsd.org/ftp.html
And while the capacity is huge in a numerical sense, crazily enough it does not take much entertainment content to pack it to the brim.
Depending on your taste in compression, you get between 16 and 32 HD movies on there (ignoring the space needed for the OS).
And i have a "casual" game here on my Android tablet (8GB) that is bordering on a gig on its own. It quickly adds up...
What do you mean? Having both 32-/64-bit versions of things? Or separate versions of DLLs for compatibility mode(s)? Something else?
You have 32-bit compatibility layers going back to Windows 95, including whatever is needed to render a GUI from that era. And you have 64-bit, possibly going as far back as Windows XP.
http://lifehacker.com/5245396/set-up-and-use-xp-mode-in-wind...
You have a funny definition of "is handled with". Your link describes manually installing additional, optional software to get a VM, not a feature of the Windows OS. I don't think very many people have done this and plenty of XP-era software "just works" without it.
https://www.microsoft.com/en-gb/download/details.aspx?id=800...
Out of interest, which XP-era software just works without it? I'm not talking about software that has been compiled for later Windows versions, I'm talking about software that hasn't been updated since XP.
Simply, it does not. Do a clean install. It's not there. That is why you have to go to that web page and click that big "download" button.
> Out of interest, which XP-era software just works without it?
Almost everything.
PS: I was on the windows team during development of 7.
The assertion made was that Windows 10 contains multiple versions of Windows under the hood. If XP was one of these OS then there would be no need for that 'big download button', yet it exists. Why do you think that is?
> "PS: I was on the windows team during development of 7."
Good, then you can clear up what incompatibilities Windows 7 has with older Windows versions. For example, what level of support is there for Windows 95 software?
The first line of defense is that over the years and on average Win32 and COM were not built stupidly, but with an eye towards compatibility. It's a stable API. The fact that over history there have been 3 independent kernels (9x, NT, CE) that speak it and you could reasonably have a single code base running on all 3 does some good in this area. (And 9x/NT were largely binary compatible.) And hence there are simple things like: don't change function signatures release to release, don't change COM vtables without introducing a new interface leaving the old one in place, introduce size and version fields in structures so that future versions can add to them without breaking old callers, etc.
But there are also mitigations for incorrect or impolite misuse of Win32 that might be common in old software.
Example: If a 32-bit application writes to C:\Windows or some such like programs used to (and a current OS would have locked down by permissions), Vista and higher will redirect to AppData\Local\VirtualStore in the user's home directory. [1]
Example: Certain features like DEP and ASLR are opt-in at the binary level. An old binary will get an executable stack and no ASLR by default because old code might rely on these.
Example: There is actually a framework of app compat shims for common historical misuse of Win32 API. [2] When I worked at MS some time ago I used to read these in the source tree when I was bored or for simple amusement/curiosity. One of them for a particular 9x game always stuck in my mind, it had to do with API misuse and differences between 9x kernel32.dll (typically traps into the kernel right away) and NT kernel32.dll (which usually calls into ntdll after doing some user mode conversion), but maybe I won't go into more detail than that here ...
So my point is... You've got a stable API in Win32, you've got fairly conservative introduction of features that tend to break things, you've even got a way to selectively change how APIs behave for popular old apps. These things work pretty well by and large. Why waste a bunch of time and disk space with VMs?
On your side of the fence there is a VM host built into the Windows kernel (Hyper-V) and I think RDP can make remote apps (where "remote" could mean inside a VM guest) look pretty good. That is probably what is happening in "XP Mode". I don't think it'll necessarily do a better job than just Windows being Windows, which IMO does pretty well for most old software.
Citations using publicly available sources:
[1] Wikipedia article for UAC - https://en.wikipedia.org/wiki/User_Account_Control : For example, if an application attempts to write to a directory such as "C:\Program Files\appname\settings.ini" to which the user does not have write permission, the write will be redirected to "C:\Users\username\AppData\Local\VirtualStore\Program Files\appname\settings.ini".
[2] Random blog post about the app compat shims - just googled this for public evidence of my claim: https://blogs.technet.microsoft.com/askperf/2011/06/17/demys...
That said, I'd love to see further OpenBSD development on it, and now I'm kicking myself for giving away my tablet. Oh well, they're super cheap on eBay right now, averaging $35, so it's a possible future project.
> ...because 32GB is still extremely huge to me. Thirty-two billion bytes
Not to mention the device has a microSD slot, and I've tested it with up to a 64GB card. If Android is ever successfully ported to the device (100% driver support) we could see Marshmallow's seamless storage effectively make it a 96GB device.
BUT ( https://support.microsoft.com/en-us/lifecycle?C2=18165&force... ) :
• Updates are cumulative, with each update built upon all of the updates that preceded it. A device needs to install the latest update to remain supported.
One is better off to not have upgraded to Win10 on the Stream.
When these were being dumped onto the market for $80 they came with free Office 365 Personal that I used on another machine. They also came with $25 credit on the Microsoft store. Sort of a no-brainer. If you run Chrome for any video they are able to play Youtube or Safari videos. It's a gym tablet, i.e. you won't really care if you accidentally crush it with an ellitical beam. The other use for the Stream is as a Chrome Remote Desktop for a real device.
This would probably get you something beyond just a cool device to ssh into, of course suspend/resume will not work on an EFI console.. so proper support will need to wait until our inteldrm is updated! :-)
Still cool that OpenBSD runs on one of those little tablets though!
So you don't accidentally copy the image over your local hard drive or other important data.
> "USB keyboards don’t work with the in kernel configurator, but we can save changes using config -ef on another machine to disable acpibat." (Like, over ssh, onto the usb, how?)
"grab a new kernel" he said, after dhclient & mount. Using dhclient hints that he's grabbing it over the network. I can't remember if bsd.rd ships with ssh (it probably doesn't) so ftp it is. But usb ought to work too.
For example, when booting OpenBSD you can type boot -c in the bootloader to enter the UKC> prompt to disable integrated drivers from attaching, i.e:
ukc> disable acpibat
ukc> quit
..continues booting the kernel, but this doesn't work with USB keyboards as there is no USB stack before the kernel is even loaded, this works better with PS/2 keyboards and serial consoles.
You can also boot the same USB flash drive on another computer, run the config utility against an OpenBSD kernel, repeat the same UKC commands, and save a modified kernel with those changes so that a boot can proceed on the HP Stream 7.
Makes me wonder what a real Surface Mini would have been like!
As a side note, it's a shame that the Anniversary Update requires so much space. With the new emphasis on Chromebook-class Windows computers (the new netbooks), it's going to be important to keep all of these $99-$299 Windows 10 computers updated.
It is a great shame. Windows 8 tended to use WIMBoot on these type of machines. That uses huge amounts of space and causes some problems for updates. https://technet.microsoft.com/en-us/library/dn594399.aspx
Windows 10 tends to use CompactOS. https://msdn.microsoft.com/windows/hardware/commercialize/ma...
So they fixed one thing, and then broke it by imposing a weirdly large drive size limit.
> But it’s all worth it to know that we’ve unshackled this device from the proprietary operating system it ships with.
It's quite exciting to see the BSD folks working on these minimal notebooks.
One of the longest (the longest?) threads on the Ubuntu forums are people trying to install Ubuntu on a similar device, the Asus X205ta.
https://ubuntuforums.org/showthread.php?t=2254322&s=035dc3be...
Here's the Arch wiki: https://wiki.debian.org/InstallingDebianOn/Asus/X205TA
Here are people talking about drivers for sound: https://bugzilla.kernel.org/show_bug.cgi?id=95681
At this time 32-bit or 'i386' kernels don't support EFI yet, but there aren't many 32-bit CPUs out there.. more people probably run into the 32-bit EFI firmware with 64-bit CPU scenario.
I think Ted even wrote about the Asus X205TA on his blog before.
The devices boast the same specs (Z3735F/Z8300 Intel CPU, 2 GB RAM, 32 GB eMMC).
https://jcs.org/notaweblog/2016/08/26/openbsd_chromebook/
https://jcs.org/talks/2016/09/07/chibug_openbsd_on_the_chrom...
[1] http://h30434.www3.hp.com/t5/Windows/Linux-on-the-HP-Stream-...
I do like the OpenBSD community and they were helpful when I was trying to install it onto a laptop, but why are they still using CVS? Surely the headaches of CVS would start to get to you after the decades.
If it works, why not. I can state one reason: change for change's sake isn't fun.