Something I recently joked about doing was porting SDL to the UEFI environment and then building DOSBOX for it. I’m sure someone has already done this in some fashion, but the idea was amusing enough for me to genuinely consider it one of these weekends. I guess in that case, though, you can’t really run FreeDOS.
I occasionally wonder what an operating system running below ring 0 would be used for. I haven't thought of anything compelling, apart from being a backdoor.
Usually when I hear people talk about backdooring it's usually on the network stack. On a phone that would be a modem.
Most devices, even in your computer (eg: laptop battery) run an OS. There's a good talk somewhere on how we've lost our way with OS design and now need to write an OS that looks at a single machine as a distributed system.
LegoOS: A Disseminated, Distributed OS for
Hardware Resource Disaggregation ... We propose a new OS model called the splitkernel to
manage disaggregated systems. Splitkernel disseminates
traditional OS functionalities into loosely-coupled mon-
itors, each of which runs on and manages a hardware
component
Some batteries have an entire stm32 series microcontroller in them, I've seen battery controllers that are actually the same "CPU" as on a discrete single motor quadcopter ESC.
Apple's laptop batteries in 2008 MacBook models have an independent microcontroller in them, which enables apple to manage it at a much more advanced level.
That generation of laptops can detect a problem with the battery much earlier (e.g. It can warn the user a year before the battery starts to swell. Been there, seen that). This knowledge is the basis of apple's battery technology that we see on their mobiles (iOS and macOS) today.
IIRC the password on these things were set to a default one and a PoC exploit was written for that platform.
MicroSD cards have a fully functional 32-bit microcontroller in them, it manages the write leveling and bad sector mitigation, but it's a fully fledged CPU otherwise.
Even when sending encrypted texts with Signal, I can't help but wonder if the keyboard software is sending everything to a government entity. Or, if a piece of hardware can silently grab screenshots.
Supposedly, it’s for low level system management functions. As in, stuff that could be done in hardware, but doing it in software is easier. Kindof like System Management Mode (SMM), but even lower.
I’m guessing they’re doing this because modern x86 processors can’t boot into BIOS mode anymore (edit: untrue, see reply by dmitrygr). This makes me wonder why they’re even offering FreeDOS as an option when they offer Linux for customers who don’t wish to purchase a Windows license. Maybe they have some sort of contractual obligation with a large customer?
> modern x86 processors can’t boot into BIOS mode anymore
This is false. They still can and happily will. Issue is more about vendor not shipping a CSM image. A modern x86 processor will happily run real DOS just fine.
Thank you for the correction! I saw multiple news articles several years ago saying that Intel would be dropping support for BIOS mode by the end of 2020, but it appears they've been dragging their feet. In the meantime, they seem to have been making moves in other ways, such as not supporting BIOS mode when booting with integrated graphics on 11th gen processors ( https://www.asus.com/us/support/FAQ/1045467 ).
You might get this all the time, but I saw your username and thought no way that's the old palm guy. But I clicked on your profile, and you are the old palm guy!
I used your apps back when I had a Tungsten T5, and Treo 680. :)
That's probably because it doesn't have a traditional VBIOS.
...which makes me wonder whether it's possible for the community to write one, given how much docs and source code Intel have released for their GPUs. Of course, how VGA-compatible it is is another thing to consider.
That depends on what one means by "booting into BIOS mode". CSM is a shim than makes UEFI firmware look like BIOS to the OS (or, well, bootloader) and to x86 code in various option ROMs, so you are always booting into UEFI.
Really booting without UEFI being involved in the process would require completely different firmware image.
Microsoft has a licensing program for .edu that doesn’t require an “embedded” hardware license. There are also many places using Neverware to provide Chrome desktops while using the some warranty services, etc that they have with PCs.
If you buy alot of computers, you can get desktops crazy cheap. Big enterprise buyers get low-spec desktops for ~$225 without windows or $300 with. If you don’t care about power/footprint, they are the best value thin client. Schools are huge PC buyers, some districts have >300k students, so you’re easily talking 40-70k PCs annually.
Why FreeDOS vs nothing or why FreeDOS vs Linux?
The former, because some OEMs have agreements with Microsoft that prohibit shipping systems without an OS. They found the loophole that they could ship a free OS as a placeholder.
Why not Linux? I guess it was easier at the time and they then just kept shipping what was already working. It was never intended to keep the original OS anyway (and in particular, Linux users tend to be opinionated and install their favorite distro anyway).
I suspect it's more bland than that, they need to be able to have a booting/working system otherwise the customer is going to call up support and say their computer isn't booting or that it's saying "no OS found" type messages. It's just to cover themselves, that's why they include enough Linux to be able to load a PDF reader. It should be easy enough to do d:\setup.exe with a USB that has a Windows installer on it, with this setup.
Windows installers are bootable these days (from DVD or USB; doesn’t matter); they haven’t been runnable from DOS for a couple decades now.
At any rate, even if you did find some OS you could install from DOS, you’d be installing it into the QEMU image if you installed from FreeDOS on a system with this arrangement. There’s no way to get back to the bare metal hardware from FreeDOS here.
It's probably more like they have DOS support contracted out to some vendor. And when the systems upgraded to the point of not being able to run DOS natively the vendor built this franken-OS to fulfill the contract.
Renegotiating the contract to something sensible like "don't run DOS anymore" was probably hopeless in the face of the bureaucracy, or risked losing to contact.
Weird old legacy hardware that only runs on DOS generally requires real-time access to stuff like ISA cards or parallel/serial ports, so this wouldn't work for that use case since the computer doesn't have any of those.
USB-serial conversion would add a measurable amount of latency, and the access to USB hardware would occur under a non-real-time OS. Whether the setup "works" would be highly hardware-specific. There are modern industrial "PC" boards that are essentially a i586 implementation in a SoC and can run these workloads far more reliably, while consuming a lot less power compared to old x86 hardware. (They're also of interest to retrocomputing enthusiasts, for largely the same reasons.)
It probably won't if they do weird things with the flow control pins or if the timing really matters, but serial is far more likely than parallel to keep working.
Depends on the adaptor too. Cheap ones only have Rx and TX pins . The rest of the pins are not connected. If your device only used Rx and Tx it would work fine . If it uses functionality of other pins make sure you get the right adaptor
Spend no less than $20 on a USB to serial converter and you'd probably be fine. Anything with an FTDI chip in it are the best. Anything with a Prolific chip has a good possibility of being counterfeit will either not work well or the legit driver will try to brick it.
That's orecisely how we run our thread 3D printer. It even has a serial (UART) to USB chip on board and it's connected to a RPi3 boc running Linux and Octoprint.
No, the FreeDOS HP option has always been used by the customers who did not want to pay a Windows license, because they wanted to install a different operating system, usually some Linux variant (the option to install a pirated Windows variant was also popular in some parts of the world).
Dell has the Ubuntu option for many computers, but for those who do not want to use Ubuntu, like myself, there is no difference between the Dell Ubuntu option and the HP FreeDOS option, because such customers will always install their own preferred OS, immediately after the purchase of a new computer.
I'm the author of the article; It's not actually usable for that. The way the Qemu VM is setup there is no way to interface with the outside world at all. The only way to get any data in or out of that VM is through the keyboard and screen.
Maybe, but wouldn’t the customer have to know how to run QEMU? I am imagining a customer who wants to just replace an old machine while changing as little as possible.
In fact, if you just boot FreeDOS 1.3 in VirtualBox, you'll see it detect the virtual NIC, load a TCP/IP stack and acquire an IPv4 address, then report it.
It is mostly developed and run inside VMs these days, AFAICS.
Knowing how big corporations usually work, dropping the FreeDOS option completely due to incompatibility would require approvals from 7 layers of corporate management, while shipping a half-assed version that is not usable for any practical purposes only took one nerd from engineering.
You're probably thinking about the agreement MS had with PC manufacturers that required them to pay for a copy of DOS regardless of whether the computer they sold had a copy of DOS or not. MS was barred from using that method in 1994.
But customers can also order this laptop with Ubuntu preinstalled. Why offer both Ubuntu and FreeDOS, especially if the latter is just running inside of a Linux VM anyway?
My guess is that those computers are missing Linux drivers for modern devices like a camera or fingerprint scanner or something. Those wouldn't be expected to be supported in FreeDOS, but would be in Linux.
Some countries have consumer protection laws that require that a factory-assembled computer must come with an OS. This whole FreeDOS thing feels like malicious compliance to me just to have something so it doesn't boot into a BIOS error.
Though I've assumed that FreeDOS runs on bare metal. This whole Linux-with-a-VM feels strange, to say the least.
It's not malicious compliance. It's for power-users who already own or don't want to own a copy of Windows. It's a good thing that we (where I live) fought hard for - fortunately here it wasn't about laws but only about available options, so lobbying the vendors and sellers was enough.
Some countries also prohibit selling laptops without any OSs because they're unusable in that way, so this is a way to sell a technically "fully usable laptop" for people who'll install linux anyway.
No they don't. They could just start the debian distro without network configuration and gui and end up with a shell, with a MOTD saying this is just a base distro and a full reinstall to a supported OS is advised before connecting it to a network.
I guess they only do that because the FreeDOS name does not frighten the average tech guy who only used microsoft products as much as linux.
but the Linux they are shipping underneath that FreeDOS also works. And they also offer Linux preinstalled, so they need to "support" that to whatever amount anyways.
They probably only support the FreeDOS, not the underlying distribution. If you mess with the Linux and break the FreeDOS, that's on you. They might have 2 customers running some 40 year old legacy DOS app but 99% of people selecting the FreeDOS option are wiping it to install something else, so using it unsupported.
The pre-installed Linux works, but it doesn't have to work for all the driver and functionality edge cases that a real FreeDOS machine would definitely not support.
According to the article, they already do have a Linux option.
I’d wager the FreeDOS is a legacy option because they’ve supported it in the past an figures have shown it sells. Even if those figures don’t take into account how many of those legacy FreeDOS installs were for other alternative OS like Linux (though it could also be BSD, Haiku, Illumos, ReactOS or others).
Or there genuinely might still be FreeDOS users out there. Eg running industrial applications. Though I’d wager they’d be more likely to run DosBox and not on laptops either. But “industrial applications” covers such a wide spectrum of uses so never say never.
Many industrial users are not price sensitive. Having the keyboard, monitor, and computer in a single housing with a built-in UPS all in a compact device with a single power cord is a big selling point.
That's not a universal truth. I've worked with plenty who are.
> Having the keyboard, monitor, and computer in a single housing with a built-in UPS all in a compact device with a single power cord is a big selling point.
That's not a universal truth either. Sometimes the device will be a headless controller. In which case a laptop wouldn't always the right form factor. There might be additional hardware that needs supporting, which can be much more complicated with laptops. There might be other requirements (eg environmental constraints) too.
"Industrial" covers a pretty large spectrum of use cases.
But if you use DOS still for industrial stuff you usually do it because you need some old-fashioned interface (i.e. real serial or parallel ports are the usual example). Which is going to work great from inside a VM, not.
Having worked in this world, I have sometimes patched DOSBox to communicate with all types of extravagant hardware, even ISA cards (look hard enough and you'll find even Core motherboards with ISA slots...).
Recipients of Linux machines might expect them to perform all their functions well, whereas there is no such expectation with FreeDOS.
So while they offer Ubuntu on a limited set of machines, perhaps this emulated approach allows them to effortlessly ship neither-Windows-nor-Ubuntu option to everyone to guide their development/marketing effort (learn if people are happy with Ubuntu/Windows options).
I dual-boot in my computers, because for some things live video games (and some software) I prefer Windows, while for coding or using a remote console I prefer Ubuntu. So I always try to split the hard disk in half and install Ubuntu in raw hardware.
My (relatively new) HP Spectre x360 only got sound working until Ubuntu 22.04 was launched. This is one year after the hardware was launched. I spent some months using Ubuntu without having sound, unless I plugged my USB headphones.
My previous laptop, Dell Inspiron 7375 with an AMD Ryzen 5 2500U CPU, did not even properly boot into Linux until Ubuntu 22.04 was launched. The best I could manage was make it boot it with some MMU kernel parameter, and it worked for half an hour until it froze. And it always froze with Ubuntu 18.04. It is a computer from 2018, so it was four years without me being able to natively run Linux in it. I had to use a virtual machine during these years =(
So, there's a lot of work either by the community or by the vendor to make Linux work in some hardware.
They sell this laptop with Linux too already. And the equivalent of a FreeDOS setup doesn't even need anything complicated - I doubt FreeDOS ships with sound or graphics drivers after all.
What gets me is... what's the point? If you don't want to fight MS about selling PCs with no OS, ship some Linux distro. DOS was a nice option when you needed to support bare-metal stuff like flashing the BIOS without a modern OS getting in the way, but I would be shocked if that worked here - basically, I can see reasons to ship DOS, but they're all mutually incompatible with a virtual machine. And if you're going to ship a Linux distro - heck even if you're going to include some weird DOS VM - why would you ever ship multiple different versions?
So yeah, I'm thinking horribly broken company process and/or outsourcing without actually making sure the requirements make sense.
It seems pretty obvious to me. There were issues getting the old FreeDOS image to run on some of the new hardware. Someone was tasked by their manager with fixing it. They said fuck it and just did this because it was easier/faster than trying to troubleshoot DOS on modern hardware. They showed it to their manager and their manager saw FreeDOS boot and was happy. Until now no one ever noticed because FreeDOS is just the "I'm going to pirate windows option".
> Shipping your PC with "some linux distro" means you have to support that linux distro.
But they do offer to ship with a Linux distro, even apart from this strange frankensystem option. Did you miss where straight Ubuntu is a pre-install option?
Oops, you're right. I did look at the screenshot before but totally misread it (probably because Ubuntu is just blank in the price column rather than $0, and there's no horizontal lines (thanks Tufte)).
But why or how? I just don't see that at all. Dell won't "support" FreeDOS either. It could be just a basic Ubuntu install that's broken as hell, and I don't see why or how Dell would need to support that.
> If you don't want to fight MS about selling PCs with no OS, ship some Linux distro.
And that's exactly what they're doing. They just did the bare minimum work to be able to fit that Linux setup under their pre-existing "FreeDOS" SKU. And the real point of that SKU is for sophisticated users to wipe the whole thing clean and set up their own OS install. It still works perfectly for that.
Free to you, but HP is likely paying Ubuntu. They wouldn't be paying much, but they're probably paying something.
The Ubuntu license says that if they make any modification whatsoever, no matter how trivial, they can no longer call it Ubuntu. Just adding a driver is enough to trigger the clause, AFAICT.
Most likely it is an agreement that is seen as a win on both party. HP has no incentive to pay ubuntu for anything, and ubuntu can't get any new market if it starts asking companies to pay for it.
And they could use whatever distro they want that do not have those clauses instead of ubuntu.
The agreements would have been signed when Ubuntu had >50% Linux market share. Increasing share is not particularly helpful in that scenario compared to increasing revenue per seat.
Also, these agreements are Ubuntu's primary revenue source, AFAICT. And they have hundreds of millions in revenue per annum. Primarily from the cloud vendors.
All distros have these clauses. The software is free, but the name is a protected registered trade mark. Not all distros enforce it, but the HP lawyers will ensure HP is covered.
Finally corporate buyers will want a trusted distribution, not the flavor du jour.
As far as I heard from Canonical employees, Canonical was getting more per sold XPS13 (original Developer Edition) with Ubuntu than Microsoft did for every Windows being sold on the same laptop: when it was introduced, at the very least.
My guess is that it's offered for those who want to do their own Windows install but would be confused or scared away by seeing "Linux" in the name. "FreeDOS" is the codeword for no-OS, you install your own.
That was far more amusing and interesting than I thought it would be...
I wonder if it can actually boot DOS on the physical hardware, and if it can't ( DOS itself is very minimal in what it requires of the hardware), is it really PC-compatible anymore?
seabios is the project you're looking for, and yes now I want to go see if it supports being booted from GRUB:)
EDIT: The answer is yes and it's been done: https://g00se.org/2016/11/seabios-on-libreboot.html (granted, that's booting directly from coreboot to GRUB, but it should be the same booting UEFI to GRUB AFAIK)
Alternatively, we can be happy that some legacy systems actually die when they're no longer useful. My general attitude toward retro-computing is that the good old days weren't actually that good. I, for one, don't care if the original meaning of "PC" passes into irrelevance.
As if BIOS is any more open than UEFI is. At least UEFI had an open reference implementation since the beginning. BIOS had to be reverse engineered from IBM's implementation AFAIR.
Besides, two wrongs don't make one right. BIOS was a clutch from the beginning (it was probably appropriate for the time tho) and we should strive for better. We should keep functional systems working of course (e-waste is a real problem), but we shouldn't keep using it for the new stuff because we see the past with rose tinted glasses.
Rather than push for the past we should push for the future, for having all boards ship Coreboot and have that support upstream instead. That's how you achieve openness, not by sticking to _proprietary blobs_ of an outdated interface.
The Clover bootloader designed for Hackintosh is able to boot UEFI operating systems (including non-Apple ones) on computers that don't natively support UEFI. Is there any reason a different bootloader couldn't do the reverse?
But it's also quite surprising considering HP (and HPE which I understand is not very related) usually provides FreeDOS based firmware update and configurarion ISOs on their product download pages.
Given that HP is also using obscure/outdated Linux images in their own Intelligent Provisioning / Smart Storage Administrator tools that are installed on the built-in flash of (at least) gen8 servers <https://op-co.de/blog/posts/microserver_gen8_fix_boot_order/>, I'm not at all surprised to see similar approaches in other situations.
I don't know if the law changed in the last years but here (Spain) it's illegal to sell a computer without a operative system.
Today the most easy option probably is to install Linux but I remember this law was there at year 2000 and at that time Linux was harder to install than FreeDOS.
Kind of random, but the article reminded me. I think every pdf should have it's own linux installation. They should role it into the pdf specification. You never know when that might be useful.
I find OEMs that bundle operating systems to be weird. Dictating choice is something a dictatorship would do. I used to argue the reasoning until the obscurities hit.
Not weird but money-loving; sweet exclusive deals with Microsoft to have Windows preinstalled for less, as long as all machines have it preinstalled. (It was less sweet and more forcing their hand in 1990s.)
You may be able to buy a laptop with no OS and know what to do, but do the majority of people? It’s not evil; it’s just what’s required if you want to sell computers.
Something I recently joked about doing was porting SDL to the UEFI environment and then building DOSBOX for it. I’m sure someone has already done this in some fashion, but the idea was amusing enough for me to genuinely consider it one of these weekends. I guess in that case, though, you can’t really run FreeDOS.