Either way thanks for sharing.
Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
11–20 of 47 posts
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#12Cool (and congrats on the demo)! Sounds like a promising approach. I work on browser use agents and one of the most difficult problems now is bot detection. Curious if you know how this impacts bot detection/fingerprinting?
We did notice the unikernel cloud instances don't run into bot detection as often as our hosted docker instances, but I think that's mostly because Cloudflare haven't flagged Unikraft Cloud's IPs yet, hah.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#13I'm assuming the low latency cold starts are from a paused state, considering chrome itself takes a few seconds to boot? Or have you found some clever way to snapshot a running chrome and fork that? Either way thanks for sharing.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#14How hard would it be to boot a computer to this as an OS?
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#15This is super cool. We’ve been looking into infra for AI agents. As others have noted, the difference in speed alone between docker and this is a huge win. Having our clients wait around for five seconds really adds up. Awesome tech, excited to dig deeper for healthcare
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#16This is probably a dumb question from someone who knows almost nothing about system engineering. How hard would it be to boot a computer to this as an OS?
I was doing something similar for the entire OS a few years ago: cosmopolinux, a distribution of cosmopolitan binaries: https://github.com/csdvrx/cosmopolinux
My idea was to replace the WSL binaries to have a Linux distribution living on C:\, but that could also be booted baremetal if you didn't want to use Windows
I had to put together a multi stage init system for that: if you get the ISO, you can put in on a thumbdrive and boot it: https://gitlab.com/csdvrx/cosmopolinux
The only difference between them is the kernel and the filesystem: the github NTFS has a firecracker linux kernel, the gitlab ISO has a regular kernel with many modules.
I wanted to do a full NTFS solution but I couldn't find a bootloader I liked that would support booting from a NTFS partition.
Booting from an ISO was simpler and faster.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#17This is probably a dumb question from someone who knows almost nothing about system engineering. How hard would it be to boot a computer to this as an OS?
You would have to add support for the peripherals in the kernel, and have some kind of init system. You would also need a filesystem supported to boot the computer. I was doing something similar for the entire OS a few years ago: cosmopolinux, a distribution of cosmopolitan binaries: https://github.com/csdvrx/cosmopolinux My idea was to replace the WSL binaries to have a Linux distribution living on C:\, but that cou…
Could you stick the Linux kernel and initramfs on the EFI boot partition as a UKI, and then just tell it about its rootfs being on the NTFS C drive? You don't really need any bootloader except the firmware's UEFI implementation on most modern PCs, and Linux supports NTFS.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#18I'm assuming the low latency cold starts are from a paused state, considering chrome itself takes a few seconds to boot? Or have you found some clever way to snapshot a running chrome and fork that? Either way thanks for sharing.
It snapshots / pauses the entire unikernel instance after launching chromium, and then resumes the instance in <20ms with exactly the same state.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#19Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#20Earlier quoted context omitted.
You would have to add support for the peripherals in the kernel, and have some kind of init system. You would also need a filesystem supported to boot the computer. I was doing something similar for the entire OS a few years ago: cosmopolinux, a distribution of cosmopolitan binaries: https://github.com/csdvrx/cosmopolinux My idea was to replace the WSL binaries to have a Linux distribution living on C:\, but that cou…
> I wanted to do a full NTFS solution but I couldn't find a bootloader I liked that would support booting from a NTFS partition. Could you stick the Linux kernel and initramfs on the EFI boot partition as a UKI, and then just tell it about its rootfs being on the NTFS C drive? You don't really need any bootloader except the firmware's UEFI implementation on most modern PCs, and Linux supports NTFS.
I considered that, even if it would go against the idea of having everything inside the Windows partition. I'd rather have had a shim in the EFI, with the UKI in C:\
The difficulty was bitlocker: my approach was a UKI with a small kernel and a few binaries to open the bitlocker volume and kexec the bigger kernel.
I was also exploring how to mark part of the NTFS volume as unusable to stick a different payload there.
The "ISO on a thumbdrive" was done to get baremetal boot working and out of the way, to see if I needed deeper changes to what had started as a 2 stages boot process, or if it was good enough as-as.
> Linux supports NTFS.
The kernel module is great!
I wish there was a linux distribution that could be run from either WSL or baremetal, to get more people familiar with baremetal linux.