Looking forward to one that'll run on my local machine, if I read this correctly?
Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
21–30 of 47 posts
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#22Maybe you can clarify that this is actually running a stripped down linux as unikraft does not have the support to run chrome itself.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#23Earlier quoted context omitted.
> 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.
> Could you stick the Linux kernel and initramfs on the EFI boot partition as a UKI 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…
Why not do that from the initramfs with the real kernel? I'm pretty sure that's how it works on a normal encrypted root Linux install
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#24Can this run inside a Lambda?
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#25This 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?
Unikernels aren't meant to run as a bare metal OS on a standard computer like a PC. Instead they are applications wrapped in thin libraries that allow them to boot in hardware VM's provided by Intel vmx or AMD svm, etc. A hypervisor provides mechanisms for communication with hardware and other resources. They boot fast because the underlying system and hardware is already initialized and running.
The main idea of unikernels is to get rid of costly system calls like brk/sbrk called by malloc, open/read/write, etc. between the OS and application. The system never has to switch protection rings which saves a lot of time. This gives the application full control of its compute and memory resources with the possibility of direct hardware access depending on the host hardware and hypervisor. So you can attach things like NVM storage directly to the VM and let the application handle the disk and fs operations.
So to answer your original question of using such a wrapper to boot chrome on a PC: you will need a much, much bigger wrapper library which adds in all the hardware access which is a LOT of code (The GPU code alone is scary enough). You must also realize the fast boot time will be obliterated by hardware init which usually takes time as you have to jiggle certain hardware registers to wait, then probe again to see if things are working as advertised. This can take several seconds or more. In the end, you save nothing.
If you wanted an OS based on a hypervisor which boots unikernel applications you are at the mercy of the hardware to multiplex access or delegate that to a hypervisor adding more overhead. Again, you saved nothing.
In the end, your OS is really a CPU multiplexer and does a great job of providing all the primitives and resources in a generalized, uniform manner. I highly recommend reading this book: https://pages.cs.wisc.edu/~remzi/OSTEP/
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#26Obviously since this is open source, then I can self host it. What other reasons?
Just curious!
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#27This 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?
> How hard would it be to boot a computer to this as an OS? Unikernels aren't meant to run as a bare metal OS on a standard computer like a PC. Instead they are applications wrapped in thin libraries that allow them to boot in hardware VM's provided by Intel vmx or AMD svm, etc. A hypervisor provides mechanisms for communication with hardware and other resources. They boot fast because the underlying system and hardw…
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#28This looks excellent, and very fun to play with! I used this one-liner to run an instance directly from remote source: dagger -c 'git https://github.com/onkernel/kernel-images | head | tree | docker-build --dockerfile containers/docker/Dockerfile | up --ports 8501:8501,8080:8080,6080:6080,9222:9222' Be aware that the initial docker build is quite long... But caching kicks in for subsequent runs. I look forward to pla…
I saw your announcement post / many contentious HN comments, but wanted to chime in here with a supportive take, because I think time will reveal this design to be very compelling.
Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#29Re: Show HN: We Put Chromium on a Unikernel (OSS Apache 2.0)
#30> This unikernel implementation can only be run on Unikraft Cloud Looking forward to one that'll run on my local machine, if I read this correctly?