<goren>
i don't know, is there a directory from different years? im currently using a lenovo yoga c930, so i guess an operating system would be tailored to that
<goren>
i want to build something like ponyos
<goren>
your work on that is really impressive
<goren>
im planning to use that as my development environment
<zid>
laptops are a bit funny
<mcrod>
gog may I hug you
<zid>
some of them hang the keyboard off a funny bus, but it will almost certainly emulate a ps/2 keyboard over that bus
* gog
hug mcrod
<zid>
i2c being popular
* mcrod
hug gog
<zid>
buut, if you go into the bios, there's a reasonable chance it has an option or two for whether it should emulate a keyboard or not, etc, so that it works in DOS via int 16h still
<goren>
is there a spec you could point me to or no?
<zid>
Basically IBM attempted "PC 2.0" but it all just ended up folding back into "PC"
* goren
is also a kid these days but is not sure whether this would be relevant to a laptop keyboard. also, you're a kid these days if you don't get ring 0 jokes
<zid>
PC just stole the simms, ps/2 ports, vga ports etc, instead of PS/2 replacing PC
<heat_>
it is relevant to a laptop keyboard
<zid>
I already explained
<heat_>
your laptop keyboard is either accessible using USB or PS/2
justache has quit [Remote host closed the connection]
zetef has quit [Ping timeout: 246 seconds]
justache has joined #osdev
Terlisimo has quit [Quit: Connection reset by beer]
Terlisimo has joined #osdev
sbalmos has joined #osdev
justache is now known as justThanks
Left_Turn has joined #osdev
netbsduser has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
m5zs7k has quit [Ping timeout: 255 seconds]
m5zs7k has joined #osdev
goliath has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
gog has quit [Quit: Konversation terminated!]
xenos1984 has quit [Ping timeout: 258 seconds]
xenos1984 has joined #osdev
eck has quit [Ping timeout: 255 seconds]
eck has joined #osdev
gog has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 252 seconds]
ghostbuster has joined #osdev
<ghostbuster>
any good guides to how UEFI boot is meant to work? i have two linux kernel stub EFI programs, one that works and one that doesn't and i want to understand what's going wrong and why as opposed to just fixing it
<heat_>
that's a very generic question
goliath has quit [Quit: SIGSEGV]
<ghostbuster>
if this was a regular program i'd just attach gdb, but i don't know how to begin to debug "my laptop firmware tries to boot and then immediately dumps back to the boot manager screen"
<heat_>
oh
<ghostbuster>
should i try to boot it in qemu? is there a secret serial port on modern motherboards?
<heat_>
sounds like your efi stub is just failing and exiting with a non-success error code
<heat_>
if you use the EFI shell to execute it, you'll probably get more info
<heat_>
(as the screen won't be cleared)
<ghostbuster>
is that something built into my laptop/desktop firmware?
<ghostbuster>
or do i need a work first-stage bootloader
<ghostbuster>
s/work/working
<heat_>
i don't know if you have it in your firmware, but you can trivially install it and run it no problem
<ghostbuster>
i could do laptop -> grub -> efi program, but right now i'm attempting laptop -> efi
<heat_>
get UefiShell/X64/Shell.efi to your ESP and run it
<ghostbuster>
oh cool
<ghostbuster>
this sounds like exactly what i didn't know i was missing
<gorgonical>
Let's assume I want to use an existing ld.so implementation. The difficulty mostly comes down to teaching elf loading to recognize the binaries from like PT_INTERP/ET_DYN markers, loading the dynamic loader, and then passing control to it with the auxiliary vectors, right?
<gorgonical>
Are there any horrible gotchas?
<moon-child>
'i tried -fno-stack-pointer' ah yes. Real men always know where the stack is
<moon-child>
.oO( the stack knows where it is. it knows this because it knows where it isn't )
<heat_>
gorgonical, what's your question?
<heat_>
an existing ldso already does all that
<gorgonical>
the question is how hard is adding support for dynamically linked executables if I want to just use someone's existing ld.so
netbsduser has quit [Remote host closed the connection]
<gorgonical>
But the elf loader has to know how to do it too
<heat_>
how to do what?
xenos1984 has quit [Ping timeout: 246 seconds]
flowst8 has quit [Quit: Client closed]
<gorgonical>
load ld.so, pass it information needed to run the actual elf, etc
<heat_>
right
<heat_>
so what is thine question?
<gorgonical>
But that's all your elf loader/exec needs to learn, right?
Matt|home has joined #osdev
<heat_>
the kernel's elf loader is just a glorified mmap dispatcher that can interpret PT_INTERP
<gorgonical>
Then I think that answers my question
<heat_>
static executables are as simple as 'for seg in segment: mmap(segment); jump(entry_point)'
<heat_>
dynamically linked executables are as simple as 'load_exec(program); if has_interp(program): load_exec(program.interp()); jump(program.interp())'
<ghostbuster>
heat_: i can't even get that to boot so maybe i'm installing the bootmgr entry wrong
<heat_>
ET_DYN (so, PIE) objects have an extra step 'program_base = allocate_base(total_memory_size); adjust_bases(segments, program_base); for seg in segments: mmap(segment); jump(entry_point)'
<heat_>
and that's as far the kernel goes
<gog>
i write kenrel
<heat_>
whatever has relocations needs to process it themselves at runtime
<ghostbuster>
ooh i see what i did lol
<heat_>
gog, i am fan of ken thumbson, author of first kenrel
<heat_>
gorgonical, i hope that answers your question
<heat_>
i didn't get exactly what you were asking so i just braindumped a bit
<gog>
PT_INTERP: yur mom
zxrom has quit [Quit: Leaving]
<heat_>
yo mama so FAT she doesn't use EXT4
xenos1984 has joined #osdev
<mcrod>
hi
deriamis has quit [Server closed connection]
deriamis has joined #osdev
zxrom has joined #osdev
elastic_dog has quit [Ping timeout: 240 seconds]
gorgonical has quit [Ping timeout: 255 seconds]
[_] has joined #osdev
[`itchyjunk`] has quit [Ping timeout: 240 seconds]
elastic_dog has joined #osdev
flom84 has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
yoyofreeman has joined #osdev
goliath has joined #osdev
heat has joined #osdev
heat_ has quit [Ping timeout: 260 seconds]
rpnx has joined #osdev
joe9 has quit [Quit: leaving]
<Bitweasil>
heat, lol. I'd have personally gone with "Yo mamma so old, she ain't even FAT16. She's FAT12!"
<Ermine>
MOM JOKES
bauen1 has quit [Ping timeout: 255 seconds]
<gog>
i'm a mom joke
rpnx has quit [Quit: My laptop has gone to sleep.]
<heat>
gog
<gog>
heaty
<gog>
thermal boi
<heat>
lets start up a crypto project
<heat>
and rugpull
<gog>
ok hear me out
<gog>
non-FUNGIbe tokens
<gog>
NFTs of various mushrooms and molds
<heat>
oh yeah lots of market for the biology people
<heat>
also the people looking for a great high
<gog>
yes
<heat>
wait, mushrooms
<heat>
wouldn't we be infringing on nintendo's IP?
<Cindy>
nintendo does not own mushrooms
<heat>
yes it does
<heat>
they invented mushrooms lol
* geist
pets gog
<Cindy>
their patents on mushrooms expired
* gog
prr
<Cindy>
now everyone can make mushrooms
* geist
hands gog some kittens to take care of
<gog>
:o
<Cindy>
gog: can i be petted?
* gog
petpet Cindy
* Cindy
purrs
<heat>
geist!
<geist>
yoyo
<gog>
how many kittens
<geist>
i did not hack PDP11 yesterday, though i was gonna. but i got sidetracked with somehting else
<geist>
i know heat was expecting me to do so. i am sorry :(
<geist>
gog: are you going to eat your young?
<heat>
shame on the house of geist
<gog>
:<
<gog>
nooo
* geist
carefully considers how many kittens to give gog
<gog>
i would never
<geist>
okay okay good
<heat>
geist, how much is slower is modern netbsd vs old, when it comes to the VAX?
<geist>
achingly slow, though i think to give it a fair shake you need a vax loaded up with like 512MB ram or so
<geist>
because modern binaries are so much larger and would swamp the memory of an older machine
<heat>
i do wonder what causes it, like is memory usage, is codegen worse overall, or what
<heat>
could also be the fancy-pants algorithms
dude12312414 has joined #osdev
<geist>
codegen is probably technically better but i think it's the the invitable march of fancy pants algorithms, and modern things that are tehcnically overengineered for any given problem
dude12312414 has quit [Remote host closed the connection]
<gog>
but we got 0.1% more performance
<geist>
like, say, some increidbly fancy argument parsing for some app, or a more sophisticated heap, or whatnot
<heat>
but it scalez
<geist>
works great for larger machines but where N is low it's worse, and more codez
<kof123>
^^^ i always assumed cache sizes as well
<heat>
so when someone inevitably makes a 32-core VAX, you're all set
<geist>
yep. you blow the cache you're into slow world
zetef has joined #osdev
<geist>
i have a netbsd 3.0.3 on a microvax with 32MB and it fits fairly comfortably
<geist>
but even that you can really feel it. a compile of hello world takes like 10 seconds, etc
<geist>
i tried compiling bash 2.x and it takes like 30 minutes
<heat>
how long is it supposed to take?
<geist>
well, fair question but openvms on the same machine compiling hello world is much faster
<heat>
like if you got, say, a 4.1BSD thing or something
<geist>
but then of course the compiler isprobably much simpler, etc etc
<puck>
geist: how long does it take to .. oh, 3.0.3
<puck>
geist: i was gonna ask how long ssh-keygen takes on (modern) netbsd on vax :p
<geist>
yeah that takes a long time. sshing into it takes a good 45 seconds or so to key exchange
<puck>
yeahhhhh
<geist>
i switched to generally rshing or telnetting
<puck>
i'd check how fast the m68k is but uh
<geist>
brb. meeting
<puck>
it's not here rn :D
<puck>
(it's being recapped/etc)
<heat>
it'd be interesting to see if it's really swapping, or something else entirely
<geist>
also the trouble is really odern netbsd aren't stable on VAX
<geist>
there's some bugs that have creeped in. 3.0.3 seems like a good vintage
<puck>
i tried compiling softfloat 68k due to my chip being one of the LC ones with fucked up F-line trap handling
<geist>
iirc it's the first that uses ELF and has ssh and whatnot
<puck>
but it's fucked up either way
<heat>
AOUT AOUT AOUT AOUT AOUT AOUT AOUT AOUT
<heat>
elf was a mistake
<heat>
ssh was also a mistake, telnet was perfectly fine
zetef_ has joined #osdev
zetef has quit [Ping timeout: 264 seconds]
project10 has quit [Ping timeout: 255 seconds]
ThinkT510 has quit [Quit: WeeChat 4.1.1]
project10 has joined #osdev
ThinkT510 has joined #osdev
<sortie>
Another day on my Sortix laptop, coding Sortix
<mjg>
you got sortix on *bare metal* on a *laptop*?
flom84 has quit [Ping timeout: 255 seconds]
<sortie>
mjg, yep, for making *more* sortix
<mjg>
do you have actual graphics there
<Ermine>
display(1)
<sortie>
Full HD with my little desktop environment
<mjg>
wut
<heat>
software rendering with the firmware doing modesetting
<Ermine>
Fully Accelerated DirectVulkan 3D Graphics
<heat>
manually plotting pixels even, not llvmpipe
<mjg>
call me when you can emulate windows 11
<heat>
there's a qemu port for sortix
<heat>
TCG only though
<mjg>
not what i'm asking about
<sortie>
who you're gonna call
<mjg>
Steve
<heat>
no one
<mjg>
SteveB
<heat>
it's late in the evening
<Ermine>
Steve Ballmer?
<mjg>
ye, ih ave him on speed dial next to larry
<mjg>
and my weed dealer
<heat>
and bryanc
<heat>
jeffb too
<mjg>
did you mean bmc
<heat>
i mean bryanc
<Ermine>
only if he makes kick ass sortix ad
<heat>
not to mention davem
<sortie>
I was going to do Sortix coding
<sortie>
But now I gotta DL Windows 11
<Ermine>
davem = ?
<Ermine>
sortie: nerd-sniped
<heat>
DONT YOU HATE IT WHEN YOU WERE GOING TO CODE BUT NOW YOU'RE STUCK DOWNLOADING WINDOWS 11 ISO NOCD CRACK KMS
<mjg>
now that sortie is out of cmmision for the day onyx can play catchup
<mjg>
but heat is too busy farming in elden ring
<heat>
haha no
<heat>
i can't run elden ring
<heat>
if i could, i would be, however
<heat>
i have a lot of pending work for writeback though
<heat>
when i get this done and dusted it might be that onyx is finally stable for normal usage
bauen1 has joined #osdev
<heat>
i wanted to find where the linux bio blk plugging is being done so i searched for blk plug on google
<heat>
turns out blk plug leads to something else
<Ermine>
Guess who wasted his weekend
<zid>
good morning
<sortie>
Oh right I don't think my libSDL port has mouse support so qemu doesn't have it
<sortie>
Let's see how far I can get with keyboard shortcuts
<sortie>
Or I can just hack up mouse support on my Sortix laptop
<sortie>
display(1) does have mouse but it's not sent to the client windows just yet, nobody coded that
netbsduser has quit [Ping timeout: 252 seconds]
<sortie>
Oh and I don't have qemu installed on my Sortix laptop, guess I'll just build it from source natively :)
<geist>
oh hey check it out, it's a new moon on monday
<geist>
heat: re telnet, i'm actually finding that rlogin is better, at least in the 2BSD days
<geist>
primarily because the telnetd of the era didn't have the ability to send through the terminal size, and 2BSD definitely doesn't have SIGWINCH
<geist>
sigwinch must have come along later
<geist>
but, with just telnet it only gets the TERM type, but doesn't know the window size
<geist>
downside is for whtever reason modern debian distros have rsh/rlogin/rcp, etc all call ssh equivalents, which have no rlogin fallback
<acidx>
SIGWINCH is sent to processes that are too heavy to lift
<sortie>
SIGRINCH is sent on xmas
<zid>
I want a sigwinch
<zid>
with real butter
<geist>
i dunno the rlogin protocol, but i guess it at least had the terminal size as a thing
<geist>
stty -a shows the size once you login, etc
<zid>
IAC WONT TERMTYPE IAC
<zid>
Get that as a doormat
<sortie>
k it'll be an hour or maybe two to compiling ports locally to build qemu
<sortie>
Well that doesn't seem fun and fun and learning is the purpose of all enrichment center activities
<sortie>
lemme just cheat a qemu.tix.tar.xz onto this laptop built natively in the sortix cloud
rpnx has joined #osdev
<geist>
yah maybe start on an older qemu too. qemu circa 8.0 or 8.1 picked up a whole venv python compile environment thing
<geist>
seems a bit more heavyweight
<geist>
8.x i think switched to meson which then needs a lot of python
<geist>
though maybe the venv stuff actually makes it nicer on sortix. guess it depends
<sortie>
Oh I already got a qemu port
<sortie>
But actually a good question if qemu 2.7.0 can boot windows
<sortie>
11
<geist>
yah if nothing else need the appropriate uefi for it, etc
<bslsk05>
wiki.freebsd.org: Linuxulator - FreeBSD Wiki
<mjg>
sortie: for example in FREEBSD you can run unmodified linux binaries, handled by the freebsd kernel
<mjg>
this is what i had in mind for sortix vs windows binaries
<sortie>
I don't have a Windows 11 product key though. This laptop does seem like it would've come with Windows but no serial number hidden beneath
<sortie>
mjg, why would you do that? Just run the native Sortix ports
<mjg>
is it even legal to boot a windows vm?
<mjg>
i thought one needs a special license
<sortie>
mjg, hey as long as it lets me continue
<heat>
sortie, serial is in the ACPI tables
<heat>
you just need to look at your ACPI tables in ACPICA
<heat>
ohwait
<heat>
no ACPI in sort?
* heat
takes the epic win
<sortie>
I think I may get it somewhat installed and windows may probably run in degraded mode
<sortie>
Unclear how modern Windows
<sortie>
But let's see what happens if I just skip it
<heat>
windows does not need a serial
<heat>
you get a watermark, and that's it
<heat>
i think they also try to stop you from changing the wallpaper
<heat>
... but you can do that anyway
<sortie>
Oh hey it asks me what Windows I want
<sortie>
Home?
<sortie>
Home N?
<sortie>
Single Language?
<sortie>
PRO FOR WORKSTATIONS
<heat>
windows 11 for workgroups
<sortie>
:D :D
<sortie>
Let's do... HOME
<heat>
actually this reminds me
<heat>
did you just copy OVMF in?
<heat>
or download or wtv
<sortie>
Yeah just got lazy and copied the file from the debian package
<heat>
last time i tried to checkout edk2 in ahti the git data got corrupted
<kof123>
re: linuxulator > this is what i had in mind for sortix vs windows binaries netbsd had a "peace" thing for win32 and surely x86 only...not sure there is a significant reason to do that insted of wine, just noting. i'm not sure how functional it ever was.
<heat>
adding an nt personality to any UNIX system is probably near impossible