-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Boot SerenityOS #299
Comments
Serenity seems to have removed (most uses of) hardware tasking in SerenityOS/serenity@fb41d89. Next blocker: PAE (#97) |
This is now working (except for newer versions, which are likely affected by #597): https://copy.sh/v86/?profile=serenity |
(cc @pwmarcz, thanks for the info in #599 (comment)) I fixed an ACPI bug in v86 (it was not being applied). Now running into SerenityOS/serenity#11980 (even with ACPI on in v86). Will wait on a fix on their side and then look into the IDE and graphics issues. |
SerenityOS/serenity#11980 is closed as it was resolved. |
After the ACPI bugfixes we're running into "ASSERTION FAILED: !m_storage_devices.is_empty()". It looks like a bug in v86's pci code, which I'm investigating. A Serenity build with legacy ISA port access would probably work too. |
Seems to be three separate issues (with
I have reasonable workarounds for the latter two issues, but the first one will need some work. After that the latest version of Serenity works in v86. |
As for issue number 3: |
I fixed the aforementioned issues. SerenityOS now conveniently checks the PCI revision to see if mmio is available, which v86 incorrectly advertised as available. It seems there have been other fixes on the serenity side, because I've updated to the latest version: http://copy.sh/v86/?profile=serenity The only outstanding issue is that networking doesn't work with the public relay at relay.widgetry.org. It works fine when running a local relay. I can see the outgoing dhcp packets from serenity as well as incoming packets from unrelated traffic on the relay. There is no response to the dhcp packets that serenity sends out, so either those are dropped by the relay, or their responses are not correctly delivered. Gently pinging @benjamincburns in case he's aware of any difference between the public relay and the one in the repository. I've added some network packet logging to https://copy.sh/v86/debug.html, if anybody wants to have a look. |
I'm not aware of any differences that would break things on your end, but happy to help look into it. I'll have a poke tomorrow. |
Is it only a problem under SerenityOS? |
Yes, I've only seen this issue happen with SerenityOS. I made a testcase without the emulator by copying the initial dhcp packet from serenity and udhcpcd, and sending it to the online relay and a local one: http://copy.sh/testcase-serenity-relay.html Commenting out either
|
Apologies, I got a bit distracted with work things and I wasn't able to look into this until now. How are you running the local relay? If you aren't using the docker image, perhaps you could give that a try? |
Got it sorted. I'm not entirely certain what specifically was going wrong, but I bumped the |
Unfortunately the fix mentioned above introduced a regression in the public relay and had to be temporarily rolled back. I don't have an ETA on a fix yet, but please watch benjamincburns/websockproxy#10 for updates. |
@benjamincburns Brilliant, cheers! To summarize: The latest version of Serenity works, without patches, including networking, and loads much faster (#710). |
Pretty cool hobby OS: https://github.com/SerenityOS/serenity
Requires hardware task switching support: https://github.com/SerenityOS/serenity/blob/7fc903b/Kernel/Scheduler.cpp#L574-L578
The text was updated successfully, but these errors were encountered: