#AeroSync, A real hardware-capable monolithic kernel for x86_64 CPUs

1 messages ยท Page 4 of 1

ionic helm
#

*VoidFrame

heavy haven
#

and whats macho and aeot

ionic helm
#

it is

ionic helm
#

macho is the macos format

#

*mach-o to be precise

heavy haven
#

oh wow

ionic helm
#

thats VoidFrame lmao

#

i decided to ditch userspace

ionic helm
#

ok ASIC (AeroSync Init Chain) is implemented

#

now just the integration part

#
# cmdline args
> this contains all the cmdline fields and their descriptions (im trying to keep this up-to-date as possible but most of the time im too lazy lmfao)

- `quiet`: disable all output (still lives in buffer)
- `verbose`: enable verbose output
- `mtest`: do memory tests (depends on CONFIG_INCLUDE_MM_TEST)
- `rcutest`: do rcu, percpu tests (depends on CONFIG_RCU_PERCPU_TEST)
- `dumpdevtree`: dump the device tree
- `nosmp`: disable SMP (depends on CONFIG_SYMETRIC_MP)
- `initrd=VAL`: VAL is path to initrd
- `initrd_debug`: enable detailed logging of initramfs record discovery
- `bootinfo`: display some limine boot info
- `kaslrinfo`: logs kernel base
- `mm_page_lvl`: log cmdline
- `fwinfo`: log info from smbios
- `acpi_enum`: enumerate and log acpi bus
- `vfstest`: run vfs tests (depends on CONFIG_VFS_TESTS)
- `disable-mm-scrubber`: disable mm_scrubberd thread (depends on MM_HARDENING)
- `init=VAL`: VAL is path to init process (absolute path in initrd)
- `font=FONT`: choose builtin font to load (e.g. "font=VGA8x16", "font=SUN12x22", see lib/fonts for more details)
#

some cmdline args update

ionic helm
#

oh very close to 3K msg

forest epoch
#

is it now? most of world services on servers run on virtualization platforms...

ionic helm
#

so...

forest epoch
#

I get your point, totally do, since I'm too building something that runs on actual hardware. But I started purely supporting VirtIO which any modern enterprise hypervisor like Proxmox supports, there's none to totally ignorable latency because VirtIO is just that good.

ionic helm
#

thats why vmware/vbox guest tools exist (and virtio drivers)

#

to accelerate the performance in a virtualized environment

forest epoch
#

But this is just something I'm quite finicky about hahahaha your project is great man

ionic helm
#

and ty for the reactions

forest epoch
#

You're also using Limine! Just saw it ๐Ÿ˜„ Limine FTW!

ionic helm
ionic helm
#

maybe i should cook up a guide on how to use acpica for your kernel

neat tulip
#

Yeah but the 24H2 scheme makes sense. It was released in the second half of 2024

latent hollow
#

It's generally not considered wise to outsource your thinking to an LLM.

neat tulip
#

No it's not

#

Semver assigns a specific meaning to each field

latent hollow
#

Semantic

ionic helm
ionic helm
#
  [0] [    1.433982] [aerosync::core::panic] [--------------------------------------------------------------------------------]
  [0] [    1.434470] [aerosync::core::panic]                                 AeroSync panic
  [0] [    1.434816] [aerosync::core::panic] [--------------------------------------------------------------------------------]
  [0] [    1.435333] [aerosync::core::panic] Reason: Exception General Protection Fault (0xd), Error Code: 0x0 General Protection Fault
  [0] [    1.435849] [aerosync::core::panic] System State:
  [0] [    1.436069] [aerosync::core::panic]   Kernel Version : r0c4.hardened - 5.4.9-Integration+branch.deceefd-dirty.dev+abi.0
[--------------------------------------------------------------------------------]
  [0] [    1.437781] [aerosync::core::panic]   RAX: 0000000000000500 RBX: ffff96a73e54d000 RCX: deadbeefcafebabe
  [0] [    1.438211] [aerosync::core::panic]   RDX: ffff96a73e546e10 RSI: ffffffffe442d6b2 RDI: ffff96a73e550000
  [0] [    1.438638] [aerosync::core::panic]   RBP: ffff96a73e546e80 R8 : ffffffffe4397220 R9 : ffff96a73e546e10
  [0] [    1.439065] [aerosync::core::panic]   R10: ffffffffe4440d68 R11: ffffffffe44d3890 R12: ffff96a73e421a80
  [0] [    1.439496] [aerosync::core::panic]   R13: ffffffffe44eab80 R14: 0000000000000000 R15: aaaaaaaaaaaaaaaa
  [0] [    1.439924] [aerosync::core::panic]   RIP: ffffffffe4397ad7 RSP: ffff96a73e546e00 RFLAGS: 00010046
  [0] [    1.441309] [aerosync::core::stacktrace] Call Trace (Unwinding from RBP: ffff96a73e546e80):
  [0] [    1.441691] [aerosync::core::stacktrace]   [<ffffffffe4397ad7>] drm_console_init+0x637
  [0] [    1.442054] [aerosync::core::stacktrace]   [<ffffffffe437e1f8>] printk_auto_configure+0x1f8
  [0] [    1.442438] [aerosync::core::stacktrace]   [<ffffffffe43258f9>] start_kernel+0xc8f9
  [0] [    1.442822] [aerosync::core::panic] [--------------------------------------------------------------------------------]
#

all that for a single unitialized variable

ionic helm
#

so uhh

#

sysintf is kinda redundant for now lmao

heavy haven
#

use rust troll

ionic helm
ionic helm
#

ok

#

pushed some changes

#

the overall diff for r0c3-r0c4 tho...

latent hollow
#

have you considered relying less on LLMs :^)

ionic helm
#

blame me if its bad

dusky reef
#

i mean at 200k loc i expect a production grade kernel

meager atlas
#

200k flobsh

dusky reef
#

the entirety of serenity os is less than that and it includes literally an os and a web browser

meager atlas
#

if it doesnt have a userspace atp just rewrite from scratch

dusky reef
#

to make it clear

#

its completely fine to use ai in osdev

#

but the scope has to be tiny and limited

#

not "implement kcompactd"

#

or i dont even know what prompts you give it that create 200k loc

meager atlas
#

maybe 200k is deserved magically somehow

dusky reef
#

as far as i can tell not much

meager atlas
normal pebble
round zenith
#

holy slop

hot swift
#

4.20.67-dirty.wip-rc9000+abi.release3

heavy haven
#

11 4.62.72.6.152.7623-hotfix52.1 r0c14 release2 25.15 wip6.1 hardened62 24c1

#

least confusing version name

ruby arrow
# dusky reef i mean at 200k loc i expect a production grade kernel

SLOC    Directory       SLOC-by-Language (Sorted)
114888  src             ansic=114888
28979   include         ansic=28979
23206   modules         ansic=23206


Totals grouped by language (dominant language first):
ansic:       167073 (100.00%)

im not far off, but this does include some third party libs: musl, medtls, zlib, stb_image, dr_flac, stb_vorbis, flanterm and minimp3

#

is it production grade? depends on your interpretation of the word "production" as it isnt made for desktop use

dusky reef
#
  1. You literally included musl, 2. This includes userspace, I was talking about kernel only code
ruby arrow
#

these are all kernel space in my kernel lmaoo

dusky reef
ruby arrow
#

theyre all directly or indirectly available to basic

#

and yeah some of them took quite some effort to play nice

dusky reef
#

Your kernel is probably 1/10 of that

ruby arrow
#

hmm, i bet i can exclude those deps and give an accurate count

#
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                              149           6229           3978          38411
C/C++ Header                   134           3219          20690          10545
-------------------------------------------------------------------------------
SUM:                           283           9448          24668          48956
-------------------------------------------------------------------------------
#

about 49k

dusky reef
#

Yea

ruby arrow
#

it seems a bit low

#

i think i excluded too much

#

because it says 283 files but find lists about 350

#

nah its right, and the biggest dependency is mbedtls, by far, like 100,000 lines of code

#

if youre curious, 3098 lines of "userland" ๐Ÿ˜‰

dusky reef
#

Makes sense

ionic helm
#

exams are finally over

#

and also did some hackintoshing in the mean time

heavy haven
#

it runs bash and busybox coreutils

ionic helm
#

great progress

#

havent doing much lately

heavy haven
#

vi is also working

#

vi from busybox

#

im currently porting ncurses so that vim would work

ionic helm
normal pebble
#

Because my browser can't connect to it

ionic helm
#

now i can

#

but it is kinda slow

ionic helm
#

and went back to fedora not long after

normal pebble
normal pebble
normal pebble
#

atleast for me

ionic helm
normal pebble
ionic helm
ionic helm
#

its also mach

normal pebble
ionic helm
#

(Single UNIX Specification)

#

so basically you pay a company to test your os and confirms it is compliant with the standards

#

which linux initially doesnt got that kind of money

#

but apple does

#

bruh i spent 15 minutes trying to figure out why it wasnt compiling the toolchain binaries

#

just to realize that i compiled coreutils instead of binutils

ionic helm
#

so after i switched to using a hackintosh

#

i abandoned the project ever since

#

but new build system changes has been made

#

(mostly due to the fact that i accidently format the drive with APFS normal version instead of the case-sensitive one)

#

and it now can compile on macos

#

very cool