klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
sortie has quit [Quit: Leaving]
gog has joined #osdev
brightly-salty has quit [Ping timeout: 245 seconds]
EtherNet has quit [Ping timeout: 272 seconds]
brightly-salty has joined #osdev
<gog> meow?
jinn has joined #osdev
<jinn> yuu: hi
<jinn> warlock: hi
<warlock> sup
<jinn> u guys are teh best
<jinn> when i find u in passing
<gog> hi
<warlock> jinn: <3
<jinn> <3
<jinn> hi gog how are you?
<gog> hi im fine
<jinn> the best programmers on this network are in #esoteric. do not @me
<gog> i'm a terrible perogrammer so it's probably true since i'm not ther
<jinn> me2. if u see buddha crossing the street, murk that ho
<geist> always forget that you can do color here
<gog> yeah didn't the prior incarnation disallow color?
<gog> hah nice
<tpg> Assuming a similar IRCD, we're missing the `+c` mode
<tpg> That said, nice rendition
<yuu> hi jinn!
<gog> yeah other channels i'm in are +c
<gog> this one probably will be soon but i promise not to abuse it again, even if it is for pride month purposes :D
jaevanko has quit [Quit: Leaving]
isaacwoods has quit [Quit: WeeChat 3.1]
<geist> nah, i think it's fine. i just rediscover it every few years and then promptly forget
<geist> test
<geist> ah yes, that's how you do it
<geist2> 4test
<geist> so can't seem to do it in irccloud, though it renders it fine. FWIW
<moon-child> whee
<uplime> geist: oh like scp-055
<uplime> also colors!
<moon-child> neat
<geist> yay
<geist> a
<geist> i do kinda wonder what the protocol looks like for it, since it seems to be more intrinsic than just shoving ansi vt100 chars across it
<tpg> iirc it's just `^C<num>`?
<tpg> Maybe?
<geist2> that's how you type it, curious what it looks like on the wire
<tpg> ... that was black, well done
<geist2> but i guess it could be that anyway
<tpg> Pretty sure that's it
<geist2> makes sense
<moon-child> geist2: on the wire it's ^C num
<geist2> mwahaha
<moon-child> also /me is 0x01ACTION and then 0x01 again at the end
<kazinsal> yeah, IRC is a pretty straightforward proto
<moon-child> reverse video is 0x16 apparently
<doug16k> it lets you send just a colour
<uplime> yeah irc itself only cares as far as cmode +c afaik
* kingoffrance .oO( They had these... little stickers filled with glitter! They were only ninety nine cents for 15 of them. I couldn't resist! Do you want one? [tears one off and sticks it to Stan's cheek] Here. It's a little turtle. /o\ [faints and falls over] )
<doug16k> what we need to do is embed other words in our phrases
<tpg> ... this is why +c exists :(
<kingoffrance> for short code snippet highlighting would be nice
<tpg> just avoid using black or white
<doug16k> black text disappears for terminal users?
<doug16k> assuming black background
<doug16k> you'd think the client would do something about that
<moon-child> depends on pallette
<moon-child> for me it appears as dark gray
<tpg> putty's defaults are kinda dark
<klange> I'm perfectly happy to keep the channel -c but it's dependent on everyones' ability to behave :)
dh` has quit [Read error: Connection reset by peer]
<doug16k> I find it pretty tedious, you won't have a problem with me :D
brightly-salty has quit [Ping timeout: 245 seconds]
moon-child has quit [Quit: !]
tpg is now known as Mutabah
moon-child has joined #osdev
<moon-child> syntax highlighting seemed like a cute idea, so I made a script to do it
<moon-child> int main() { char *x = "hi"; }
<Mutabah> Ooh, neat
<moon-child> (aside: colour scheme is ugly, I should find a better one)
<Mutabah> Nah, I think it works well enough
<Mutabah> the yellow might be bad for light backgrounds
<moon-child> it's ~5 lines of pygments/weechat, completely trivial. http://ix.io/3pwG if anyone wants to steal
drewlander has joined #osdev
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
<gog> nice
<gog> bedtime tho gn
gog has quit [Quit: bye]
nyah has quit [Quit: leaving]
<doug16k> kc8apf, turns out I am using "g3beige" powerpc. not bad one right?
<doug16k> freaks out because max SMP is 1. configure script needs to know the machine is from 1997 somehow eventually
<doug16k> probably just a simple nosmp lookuptable
<doug16k> I wonder if riscv will beat them all in performance, because of ease of emulation
<doug16k> probably eh?
<doug16k> if any on the other hand, fewest instructions might win
<doug16k> once tcg tears it apart
<doug16k> hopefully it doesn't bother with every flag calculation
<doug16k> obviously doesn't
Izem has joined #osdev
<johnjay> well today I learned fedora linux needs 2G of memory to install itself
<johnjay> 1G is not enough. need 2G or no OS for you
<johnjay> moon-child: honestly i'm not as wild about syntax highlighting as i used to be.
<johnjay> as long as types and variables have distinct colors it's probably fine
<johnjay> or like functions and variables. dunno
<kc8apf> doug16k: g3beige pre-dates my experience with Macs
<moon-child> johnjay: I think the main use for syntax highlighting is to provide visual anchors; it doesn't matter what the actual colours are. There were some experiments done with adding colour to natural language (colouring sentence-sized or so regions distinctly), and people could read more quickly
warlock has quit [Quit: Lost terminal]
<johnjay> right. basically making distinctions between lexical tokens to make it easier to read faster
Izem has left #osdev [#osdev]
<johnjay> it follows you can have too much highlighting in a line once it becomes noisy and doesn't distinguish anything
<johnjay> it might actually be better to just have 4 modes. no highlight. func+var, type+var, function+type, and you cycle between them
<johnjay> i guess 5 if you have all 3
<klange> I got my vga text mode terminal running again a couple days ago, was quite happy to see a working system sitting at 34M RAM usage, and that was with a considerable decompressed ramdisk sitting around.
<johnjay> from toaru?
<klange> yeah
<johnjay> making a terminal sounds like one of those things where it's actually really simple
<johnjay> but first you have to read this 700 page manual on vt200 terminals first
<klange> The escape sequence stuff really isn't all that complicated, but there is a lot of it if you want good coverage for, eg., curses.
<moon-child> fwiw libvterm is a tahing
<moon-child> *thing
<klange> My graphical and vga terminals have the same backend, handles most of the escape stuff.
<klange> The real oddities are in the TTY layer...
<doug16k> hey neat. unless I'm mistaken, 0 seems to be a branch to itself. so it you execute a zero on powerpc it hangs on the zero. perfect!
<moon-child> cute
hgoel[m] has quit [Ping timeout: 244 seconds]
paulusASol has quit [Ping timeout: 244 seconds]
<klange> random thought: one of those silly pop blog articles "what your X says about you" where X is "opcode 0"
<doug16k> lol
<klange> halt: you feel the most important thing you need to tell a computer to do is turn off; sometimes the world moves to fast for you
<doug16k> off? never!
<klange> noop: you associate 0 with nothingness, so naturally you make your instruction set do nothing when presented with 0
<klange> add: you know that computers are supposed to do math stuff, and that computers use zero-indexing, so the zeroth instruction is really the first instruction, and the first math thing you can think of is adding, so that seems right!
<johnjay> haha. so apparently the package GUI installer in fedora makes you select the package then click on a button at the bottom to install it
<johnjay> but for some reason in vbox it's off the bottom of the screen. and the window refuses to allow me to resize it. :0
<klange> low screen resolution?
<johnjay> probably
<johnjay> my screen is 1080p and vbox is...
<klange> I can't imagine they're shipping guest drivers on an installer, but I seem to recall vesa really preferring 640x480 as a fallback resolution on vbox
<doug16k> I made zero do nothing in my toy cpu project. that encoding should be a pc relative branch
<johnjay> i guess it doesn't say. just says vmsvga
<doug16k> or raise interrupt, and make interrupt 0 illegal instruction
<klange> I did a lot of early startup debugging when I was getting toaru64 running on the t410 with good ol' halt loops.
<johnjay> xrandr reports 1158x614
<klange> that... sounds _very_ weird, like maybe it _is_ a guest window size, can you try resizing the window?
<johnjay> i can resize horizontally but not vertically. this is a cinnamon spin of fedora by the way
<johnjay> i didn't select it for any particular reason
bsdbandit01 has joined #osdev
<johnjay> the funny thing is the area at the bottom is blank. almost like the buttons should be there but aren't
<klange> 614 is a very weird height
<johnjay> oh it also locks the dnf package installer so you can't use it at the command line while it's running
srjek has quit [Ping timeout: 272 seconds]
<doug16k> try toggling fullscreen with ctrl-alt-f
<doug16k> oh vbox, nevermind
<klange> host-f11 iirc?
bsdbandit01 has quit [Read error: Connection reset by peer]
<johnjay> trying a few different resolutions but none seem to work with xrandr
<johnjay> i tried host-f. what does host-f11 do?
<johnjay> it just made virtualbox fullscreen and the guest screen black
<johnjay> ohhhh i guess it selects virtual terminals?
<doug16k> can be a way to kick it if it doesn't resize
<johnjay> the window resizes horizontally not vertically lol
<johnjay> one hopes this doesn't happen installing on the metal!
<doug16k> on metal it runs so fast it misses a branch and goes flying into the weeds. or so it seems :P
<doug16k> if it was tolerable in bochs
<doug16k> I'd say the difference I noticed was, I/O is insanely faster on bare metal
<johnjay> in bochs does it take 10 seconds from clicking a menu item for it to appear under the mouse?
<doug16k> bochs will magnify poor performance, so if it is bad, then it will appear really bad in bochs
<doug16k> if it is efficient, it will be fast enough for bochs
<johnjay> so you can tab the elements in the window
<johnjay> but the outlining is very subtle. so if you guess right which button is the Ok button then you can install software
<johnjay> of course you can also just kill it and use dnf directly
<johnjay> the other thing that's interesting is if you hover the mouse over the taskbar icon of this thing
<johnjay> it shows the 3 buttons you click like OK in a mini preview. but they are totally off the screen in the main window.
<johnjay> i guess that's why they only test it on qemu and vmware!
<doug16k> no way
<doug16k> qemu is useless to test whether it works on real machine
<johnjay> some one in the channel said that to me earlier
<johnjay> libvirt and vmware
<johnjay> i assume libvirt uses qemu or is used by qemu or something
<doug16k> or kvm on
<doug16k> libvirt does lots of stuff. qemu is one
<doug16k> one plugin it has
<doug16k> you can create LXC containers, use XEN, etc
<johnjay> ah ok
<johnjay> speaking of qemu i should test that next. see how slow it is on windows
<doug16k> qemu supports windows virtualization thing
<doug16k> window's version of kvm's api, I mean
<doug16k> totally different api, but serves same purpose for hyper-v
<johnjay> hrm. so i use the -accel whpx option?
<doug16k> sounds right
<doug16k> when you want super speed you do that, yeah
<doug16k> for debugging, you probably want simple TCG emulation
<johnjay> > Depending on the target architecture, kvm, xen, hax, hvf, nvmm, whpx or tcg can be available
<doug16k> do you have an intel cpu?
<doug16k> haxm was fast as hell when I tried it
<johnjay> yes
<doug16k> free hypervisor from intel
<doug16k> qemu has a backend for it
<doug16k> hax I think
<johnjay> see this is why qemu's documentation is so hard to use
<johnjay> i look up invocation and it says the above sentence only. but not what xen, hax, hvf, etc mean
<doug16k> think of qemu like an ocean-going ship. it's way to big too look at whole thing at once
<johnjay> i have to google and look at stackoverflow answers to find out xen is a hypervisor, whpx is hyper-v, etc
<johnjay> it's like i make a program with option -a. and it takes values snoop, blog, snorp, and fluux.
<johnjay> and you can sort of google messageboards to guess what those mean. XD
<doug16k> they expect you have a strong knowledge of the subject
<kingoffrance> well there didnt used to be any of those, it was qemu software and kqemu kernel module maybe
<kingoffrance> i mean, those are all new modern options for people with virtualization hw :)
<johnjay> that's odd, haxm says i don't satisfy the requirements. but i have a decently recent i5
<johnjay> hyper-v isn't enabled
<johnjay> vmx not enabled?
<doug16k> probably not enabled if you didn't enable it
<doug16k> default is disabled for a bit of extra defence against rootkit
<johnjay> but to enable vmx it says i have to enable hyper-v
<johnjay> and the other site said hyper-v had to be disabled
<doug16k> the bios says that?
<johnjay> do i have to enable hyper-v, reboot, then disable hyper-v?
<johnjay> no the site I googled
<johnjay> i can enable vmx in uefi?
<johnjay> er the efi firmware i mean
<doug16k> yes
<johnjay> hrm
<doug16k> that's where they put the switch
<doug16k> the way that switch works, once vmx is off, that's it, you can't turn it on again, ever
<doug16k> until reset
<doug16k> so "disabled" means turn it off and make it get stuck off forever
<doug16k> "enabled" means don't turn it off
<johnjay> so it has Intel VT-x but it's not using it because safety?
<doug16k> right
<doug16k> by default it is disabled so a rootkit can't shim itself under the boot or something
<johnjay> i see
<johnjay> would that affect qemu and virtualbox performance
<doug16k> but if you are competent, there's no rootkit, so enable vt-x
<johnjay> virtualbox has an option for nested Intel VT-x
<doug16k> you enable that if you want the vm to be able to have vms inside it
<doug16k> to run qemu inside a vm with kvm or something
<johnjay> ah ok. but qemu itself wont' use intel VT-x unless I tell it to
<johnjay> like with kvm or hyper-v?
<doug16k> it doesn't know what to use, correct. you need to say
<doug16k> if you don't say, it means use software emulation (TCG)
<doug16k> exactly what happens depends on how qemu is configured
<doug16k> it doesn't stash some config file somewhere and expect to run over and read it, that I am aware of
<doug16k> you give it a standard mile-long command line like everybody else
<doug16k> either directly, or have machines do it for you with libvirt
kazinsal has quit [Ping timeout: 264 seconds]
<johnjay> ah ok.
<johnjay> yeah those libvirt ones look insane
<doug16k> it's just being explicit to make sure your machine won't change subtly due to upgrades or something
<doug16k> once you create the machine, it locks onto that configuration
<doug16k> so it says every detail, even if it was going to be like that anyway
<doug16k> just in case the default changed, for example
<johnjay> i'm going to test it by seeing how fast the startup installer for fedora starts
<johnjay> first with tcg then i'll reboot with hax
<johnjay> er haxm
kazinsal has joined #osdev
<doug16k> startup stuff is not a good thing to measure
<doug16k> throwaway code nobody would optimize
<kazinsal> startup time only matters to people who think they think it's important enough to matter
<doug16k> likely to spend more time waiting for time to elapse than processing
<johnjay> good point
<doug16k> should be good though
<johnjay> speaking of startup things. i wanted to make a list of packages to install on any linux vm i use
<kazinsal> so long as your startup appears to actually be doing something, people won't care if it takes 10 seconds or 15 seconds
<johnjay> apparently wget curl and git aren't installed by default in fedora and debian
<kazinsal> it's when you have a ten minute startup time with minute long pauses
<kazinsal> that's when people give a shit
<johnjay> git i understand... but curl? wat?
<johnjay> right. startup is different than actual use
<johnjay> you pause 10 seconds between a click and showing a menu while using a program and people are going to freak out
<kazinsal> a bunch of FREE SOFTWARE types were upset about libcurl being a big honkin' library that does everything and decided they preferred wget, a tool that does less and dose it worse, was better
<kazinsal> so some distros don't come with curl
<johnjay> i still have to install wget in debin
<johnjay> *debian
<johnjay> apparently you have to enable non-free just to get basic documentation for emacs
<kazinsal> iirc openbsd comes with neither because ftp(1) has http/https support
<johnjay> that's a very strange thing but ok
<doug16k> how can any part of emacs be non free
<kingoffrance> yeah bsd had some "fetch" thing, freebsd at least IIRC
<johnjay> the session manager for openbsd crashed on me.
<johnjay> i had to ask why xdm didnt' exist and was told it's called "xenodm"
<johnjay> there is no more x. there is only XENU DM!!!
<kazinsal> ah, yes, the X Dianetics Manager
<johnjay> i mean i get it if you want to supply your own customized version. but at least pick a similar or preferably the same name
<kazinsal> yeah the point of xenocara is to A) make X.org less shit to build and B) support privsep
<uplime> <kingoffrance> yeah bsd had some "fetch" thing, freebsd at least IIRC <- fetch is so nice. i used to have a wrapper around curl to simulate it when i was switching between freebsd <-> linux
piotr_ has joined #osdev
<kazinsal> Ha. /src/gnu/README: "This directory contains software that is Gigantic and Nasty but Unavoidable."
<johnjay> hrm so according to my efi loader i have VT-x technology enabled already
<johnjay> maybe my i5 is too old to support the latest haxm release?
<johnjay> this computer does not support intel virtualization technology or it is being used by hyper-v
<johnjay> yet windows features show hyper-v disabled
<johnjay> maybe installing WSL is the issue? o_0
<kazinsal> you should need the hyper-v feature enabled to use WSL2
<klange> wsl2 quietly uses hyper-v
<kazinsal> VT-x dates back to like 2005 so
<kazinsal> what i5 is it?
<johnjay> i built it a few years ago so i think it's fine
<johnjay> i see a thread that wsl2 conflicts with haxm since it uses hyper-v
<johnjay> er yeah^
<kazinsal> yeah
<johnjay> even though hyper-v is shown as disabled
<johnjay> i have wsl2 and hyper-v disabled
<johnjay> er i am using wsl2 currently with hyper-v shown as disabled in features
<johnjay> very strange
<klange> that is what I mean when I say "quietly"
<johnjay> well i don't see any pressing need to use wsl2 other than it's faster
<kazinsal> `wsl -l -v` in cmd/powershell will show you the versions being used for each WSL instance
<johnjay> i already looked. i have an ubuntu wsl1 and a debian wsl2
<johnjay> because i started the ubuntu one as soon as i booted in so it was wsl1
<johnjay> you have to install an update to get wsl2
<johnjay> should i just get rid of wsl2?
<kazinsal> preferably you should update your OS
<johnjay> heh
<johnjay> well i admit i do use windows mainly to game on
<johnjay> but i was using wsl2 to have linux around for useful stuff
<kazinsal> yeah I ended up just abandoning WSL entirely
<johnjay> but haxm would be more useful since qemu can use it for anything. but virtualbox would be slower without hyper-v
chin123 has quit [Remote host closed the connection]
chin123 has joined #osdev
dh` has joined #osdev
<doug16k> don't game
<doug16k> mostly don't game I mean
mahmutov_ has joined #osdev
mahmutov has quit [Ping timeout: 264 seconds]
mahmutov_ has quit [Ping timeout: 245 seconds]
warlock has joined #osdev
aerona has quit [Quit: Leaving]
piotr_ has quit [Ping timeout: 268 seconds]
GeDaMo has joined #osdev
paulusASol has joined #osdev
hgoel[m] has joined #osdev
riposte has quit [Quit: Quitting]
dragestil has quit [Quit: No Ping reply in 180 seconds.]
piotr_ has joined #osdev
riposte has joined #osdev
dragestil has joined #osdev
lg has quit [Ping timeout: 252 seconds]
lg has joined #osdev
brightly-salty has joined #osdev
brightly-salty has quit [Ping timeout: 264 seconds]
Sos has joined #osdev
vdamewood has joined #osdev
aejsmith has quit [Quit: Lost terminal]
aejsmith has joined #osdev
iorem has quit [Quit: Connection closed]
sortie has joined #osdev
aejsmith has quit [Remote host closed the connection]
aejsmith has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
dormito has quit [Ping timeout: 252 seconds]
piotr_ has quit [Remote host closed the connection]
piotr_ has joined #osdev
piotr_ has quit [Remote host closed the connection]
<doug16k> Sos, re: the other day. I remembered a better option for making the linker strict about undefined symbols: Wl,--unresolved-symbols=report-all
Arthuria has joined #osdev
<doug16k> it makes my kernel modules fail to link (as expected, the kernel symbols are not resolved, they are resolved at load time)
<doug16k> I have scripts to statically see if they will load though, the build makes sure
<Sos> oh this is great!
<Sos> thanks
<Sos> hmm i wonder
<Sos> if EFI is PE, then can i just generate a UEFI binary with visual studio with /nostdlib ?
<doug16k> you don't need visual studio. do you wish to use visual studio?
<Sos> i mean jsut make it build a normal exe
<Sos> why not, i'm on windows
<doug16k> gcc can build pe binaries
<doug16k> ah ok
<doug16k> I thought the other way around and you were going to awkwardly use windows tools to make uefi thing
<doug16k> but yes, that should work
<doug16k> also need a special subsystem id in header
<doug16k> Subsystem0000000a(EFI application)
dormito has joined #osdev
<doug16k> Sos, you can build the UEFI rom itself with visual studio
<doug16k> ovmf
<doug16k> the build is weird but not difficult
<Sos> thanks!
nyah has joined #osdev
unmanbearpig has quit [Changing host]
unmanbearpig has joined #osdev
gog has joined #osdev
Arthuria has quit [Ping timeout: 244 seconds]
Arthuria has joined #osdev
amanita_ has joined #osdev
amanita has quit [Ping timeout: 252 seconds]
rapiz has joined #osdev
[Brain] has joined #osdev
flx has quit [Ping timeout: 268 seconds]
iorem has joined #osdev
rapiz has quit [Ping timeout: 252 seconds]
immibis_ is now known as immibis
netbsduser` has joined #osdev
ahalaney has joined #osdev
sm2n has quit [Ping timeout: 245 seconds]
andydude has joined #osdev
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
Longor has joined #osdev
mctpyt has quit [Ping timeout: 264 seconds]
elastic_dog has quit [Quit: elastic_dog]
elastic_dog has joined #osdev
isaacwoods has joined #osdev
elastic_dog has quit [Quit: elastic_dog]
elastic_dog has joined #osdev
MiningMarsh has quit [Ping timeout: 265 seconds]
MiningMarsh has joined #osdev
mctpyt has joined #osdev
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
piotr_ has joined #osdev
bsdbandit01 has joined #osdev
pretty_dumm_guy has joined #osdev
pretty_dumm_guy has quit [Client Quit]
aerona has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
bsdbandit01 has joined #osdev
rusty_lad has joined #osdev
pretty_dumm_guy has joined #osdev
dennis95 has joined #osdev
piotr_ has quit [Ping timeout: 244 seconds]
rusty_lad has quit [Quit: FUCK Microkernels and fuck REDOX]
bsdbandit01 has quit [Read error: Connection reset by peer]
rusty_lad has joined #osdev
<rusty_lad> Hello, I did notice that REDOX OS (Which is an OS project invented in Rust) is a Microkernel design. I am not sure why they choose this design, because it's well known, microkernels are too slow to be useful, they failed and have amounted to nothing, and Tenenbaum was butchered in his debate against Torvalds. Nowadays GNU+Linux is world most popular OS, while no microkernels seem to be used for anything other than toy like HURD. So why REdox is taking the w
<rusty_lad> wrong path. I think it hurts Rust that we get associated with this
<j`ey> lol
bsdband74 has joined #osdev
<rusty_lad> What is even worse, Micorkernels is a very good way to attack Free Software. Because with a Microkernel you can privatise your special servers that run on it under proprietary law. You can make a driver which the source code is secret. This cant be done with GNU+Linux because its a monolithic kernel, so all the changes have to be published
NieDzejkob has quit [Ping timeout: 264 seconds]
<GeDaMo> Er ...
<GeDaMo> Yeah, like those open source NVidia GPU drivers :/
bsdband74 has quit [Ping timeout: 252 seconds]
iorem has quit [Quit: Connection closed]
bsdbandit01 has joined #osdev
<immibis> rusty_lad: are you trolling?
<immibis> not sure if you noticed that gnu+linux has proprietary drivers
<immibis> they can even lie about GPL. MODULE_LICENSE("GPL"); // not really, this statement has no legally binding effect
<immibis> / actually covered by bigcorp proprietary license
bsdbandit01 has quit [Read error: Connection reset by peer]
<kazinsal> Microkernels are fine. Infecting software with lawyerriffic viruses is not.
<bslsk05> ​brendangregg.com: An Unbelievable Demo
srjek has joined #osdev
flx has joined #osdev
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
<kazinsal> Considering the Rust language is not a piece of GPLed software and thus is not Free Software (tm) it should be considered an offense against the core nature of Rust to write GPLed and other restrictively-licensed software in it.
amanita has joined #osdev
amanita_ has quit [Ping timeout: 265 seconds]
bsdband0 has joined #osdev
zhiayang_ has joined #osdev
cultpony_ has joined #osdev
j`ey_ has joined #osdev
pretty_d1 has joined #osdev
bsdband81 has joined #osdev
bsdband0 has quit [Ping timeout: 252 seconds]
mniip_ has joined #osdev
pretty_dumm_guy has quit [*.net *.split]
GeDaMo has quit [*.net *.split]
dh` has quit [*.net *.split]
divine has quit [*.net *.split]
graphitemaster has quit [*.net *.split]
jamestmartin has quit [*.net *.split]
LambdaComplex has quit [*.net *.split]
ecs has quit [*.net *.split]
j`ey has quit [*.net *.split]
les_ has quit [*.net *.split]
shikhin has quit [*.net *.split]
mniip has quit [*.net *.split]
raggi has quit [*.net *.split]
GreaseMonkey has quit [*.net *.split]
edr has quit [*.net *.split]
cultpony has quit [*.net *.split]
zhiayang has quit [*.net *.split]
zhiayang_ is now known as zhiayang
cultpony_ is now known as cultpony
edr has joined #osdev
bsdband81 has quit [Ping timeout: 264 seconds]
shikhin has joined #osdev
LambdaComplex has joined #osdev
GeDaMo has joined #osdev
<rusty_lad> There's any OS written in Rust which is not Microkernel trash?
<kazinsal> Your argument about microkernels is actually a licensing argument.
<rusty_lad> Not just a license argument kazinsal. Microkernels are too slow for to be usable. That's why you don't use one
<kazinsal> The microkernel that runs the Intel Management Engine that has been deployed in hundreds of millions of CPUs disagrees.
<bslsk05> ​en.wikipedia.org: L4 microkernel family - Wikipedia
huseyinkozan has joined #osdev
<rusty_lad> You must run Micro$oft Window$, Apple Mac O$, GNU+Linux, or maybe Debian GNU+kFreeBSD. But you certainly dont run a microkernel. They are only academic curiositys
<rusty_lad> They never succeeded. When their supporter Andrew Tenbaum tried to attack Linux, he got the floor wiped. Torvalds won the debate
<kazinsal> Ah. I see. You have just discovered Free Software (tm).
<j`ey_> rusty_lad: stop repeeating yourself
<kazinsal> You do not actually know a goddamn thing you are talking about.
<j`ey_> at least if youre going to be a boring troll, dry
<rusty_lad> Shut the FUCK up j`ey_
<j`ey_> lol
<kazinsal> Go back to class, kid.
<rusty_lad> And pick a sensible username
<kazinsal> And take your inflammatory quit messages with you.
mahmutov_ has joined #osdev
<rusty_lad> Kazinsal: IN case you didn't notice, Micorkeernels lost. They aren't FUCKING USED. So why is Redox trying to redo what Hurd and Mach failed
<kazinsal> I just gave you an example of a microkernel that is used internally as a system management layer in literally millions of Intel CPUs.
<j`ey_> because they want to
<j`ey_> another OS written in rust could be monolithic
<kazinsal> First-generation microkernels were slow because they buffered the hell out of all IPC.
<rusty_lad> Kazinsal: So minix runs on SOME processors as a security destroying backdoor. It sounds like a terrible blow for microkernels
<rusty_lad> And microkernel supporters always claim microkernels are good for security. Yeah right
<kazinsal> Yep, you've definitely just entered the Free Software (tm) world and are being an inflammatory dickhead because that's all you're capable of doing.
<kazinsal> Congratulations, you aren't needed here.
<rusty_lad> A big blow for you anti-GPL idiots too. Andrew Tenbaum is another useless academic professor but I am sure he will be disappointed that his Minix kernel is in charge of compromising everyones security
<immibis> rusty_lad: are you trolling?
<rusty_lad> You anti-GPL people are always so obnoxious right up until you learn that no GPL = your code can be used for anything and you cannot stop it
<kazinsal> The General Public License is a piece of lawyer bait.
<kazinsal> It exists to give the FSF's lawyers a way to fund Richard Stallman's serial toe jam and harassment sessions.
<rusty_lad> immibis: I am dishing out straight facts to ignorant people who think microkernels are the future even though they died in the 90s and who think that the GPL is bad but suddenly start crying when their code is stolen to make products that harm them
<rusty_lad> Btw Minix has no commits to it source code repository since two years ago. So its dead.
<kazinsal> I write open source code because I want it to be used.
<immibis> rusty_lad: and yet you think rust is a good language :)
<j`ey_> lol
<immibis> sorry
<kazinsal> Rust is dual licensed under MIT/Apache, neither of which are GPL.
<immibis> rusty_lad: and yet you think rust is future :)
<rusty_lad> Kazinsal: Dont talk shit. You want your code to be used for good and not for evil
<kazinsal> I'd prefer it be used for good. I'd like to extract money out of anyone who uses it for evil, but if I don't, then my open source code is still being used.
<kazinsal> That's the purpose of open source. Getting good, functional code out there.
ecs has joined #osdev
raggi has joined #osdev
divine has joined #osdev
les has joined #osdev
<kazinsal> Not being a dickhead about your preferred styles and legal entrapments.
graphitemaster has joined #osdev
<rusty_lad> Kazinsal: You are trash. If you want your code to be used for evil, you are trash. Because most people do not support evil. Some people will go along with it, like if they are living in a dictatorship. But if you take pleasure in your code being used for evil, you are either the dictator or you are morally bankrupt
<kazinsal> I just write code.
<rusty_lad> "I just follow orders." It didn't work out for Adolf Eichman did it
<kazinsal> Copyright notice and attribution in derivatives and no implied warranty.
pretty_d1 has quit [Quit: WeeChat 3.2-rc1]
<kazinsal> I'm sure if Raytheon wants to use a piece of GPL code in their internal software they aren't going to consult you to see if it's okay.
<rusty_lad> It is illegal to use GPL code if you will privatise it and hide it from people using proprietary law
<j`ey_> yeah, they can use it internally all they want
<rusty_lad> Not if you use a newer improved GPL-based license
<rusty_lad> Many people have already put notice in their GPL software that you cannot use it if you want to use it to repress the people
<paulusASol> Which newer improved license?
<rusty_lad> Anyway anyone can be forced into doing bad things. But if you will not at least object to being used, you should be ashasmed for your moral compass
<rusty_lad> paulusASol: Some American programmers invented a license to prevent the ICE agency from using their codes
<kazinsal> My primary hobby OS project is actually not open source, so I'm covered by the "I will not sell to entities perpetrating genocide." clause of my moral code.
<paulusASol> That sounds like a significant progress. You now have stopped one evil use of your software. How many thousand evil uses does your license still allow?
<kazinsal> I also will not sell to the American healthcare industry, so there's another.
j`ey_ is now known as j`ey
<kazinsal> I would love to usher in a fully automated luxury gay space communist paradise wherein none of us have to sell anything or contemplate the evil of man that will be unleashed using our code, but I would also love a house with a garage, a startup fund, and a first generation Acura NSX.
<kazinsal> In the meantime I am content with not barging into IRC channels and being an inflammatory dickhead.
pretty_dumm_guy has joined #osdev
<kc8apf> *sigh* are we still having the misunderstanding that _copy_right can be used to do anything other than limit who many _distribute_ (i.e. copy)? License clauses like "this software may not be used for evil" haven't been tested in court yet legal experts have already indicated they are unenforceable under existing court precident.
<kc8apf> Regardless of what you believe should be the case, GPL code can, is, and will be used for evil.
<kc8apf> None of that has anything to do with microkernels which are, in fact, used today in many contexts other than general purpose OSes
<kc8apf> If you don't like Redux, go write your own GPL-licensed, monolithic kernel in Rust. Nothing is stopping you.
<GeDaMo> If you don't want your code to be used for evil, don't release it :/
<j`ey> GeDaMo: as long as you dont use it for evil yourself :P
<uplime> i promise to never use my death ray for evil
<GeDaMo> I'm promising nothing! :P
<kazinsal> I can only promise that at some point, someone will try something evil with my code. Whether or not it succeeds is up to them.
piotr_ has joined #osdev
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
gareppa has joined #osdev
gareppa has quit [Remote host closed the connection]
Arthuria has quit [Ping timeout: 244 seconds]
dennis95 has quit [Quit: Leaving]
srjek has quit [Ping timeout: 264 seconds]
<nur> does bochs always expect a disk? No way to just pass a kernel into it like qemu?
superleaf1995 has joined #osdev
<superleaf1995> how can i passthrough a intel gpu to qemu - i dont have vtx
<kc8apf> even if you did, intel integrated gpus are special and need specific support
IRCMonkey has joined #osdev
<kc8apf> I'm still surprised at how few people realize macOS's xnu kernel is derived from Mach and has been slowly migrating more and more back to a true microkernel design after a long time being a hybrid
IRCMonkey has quit [Client Quit]
Bonstra has quit [Quit: Pouf c'est tout !]
superleaf1995 has quit [Quit: Client closed]
Bonstra has joined #osdev
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Read error: Connection reset by peer]
Arthuria has joined #osdev
elastic_dog has quit [Ping timeout: 244 seconds]
andydude has quit [Read error: Connection reset by peer]
andydude has joined #osdev
elastic_dog has joined #osdev
<geist> nur: i think so? it's once of the nice features of qemu
<gorgonical> I am building glibc to cross compile a kernel/userspace for aarch64. Geist's excellent script is the compiler toolchain, but when compiling libc it can't find crt0. But that's supplied by the library in most cases
<gorgonical> Is there just one "standard" set of crt files that are being re-used by the libc distributions?
NieDzejkob has joined #osdev
<gorgonical> This crt0 is gonna vary by OS because of ABI differences, right? But I don't think a libc built for linux will work on freebsd, so these crt files should still be per-OS in libc, right?
huseyinkozan has quit [Quit: Konversation terminated!]
<kazinsal> Yeah, the sysv ABI should have some info on how _start is invoked but it'll differ in what it actualyl does between OS
<gorgonical> Right, so crt0 has to be different. So my question is: who supplies it?
<gorgonical> My distribution of glibc 2.29 includes crti/n, so does the kernel supply it?
<kazinsal> Yeah, the OS distributor supplies it as part of the toolchain
<kazinsal> I believe it eventually should get `ar`ed into the final libc.a
<geist> gorgonical: you do.
<geist> or, optionally, the libc has a Os specific crt0 as part of it. newlib for example has a pile of specialized crt0s, including a 'bare metal' one
<gorgonical> Just to understand then... Linus wrote the crt0 for Linux and we've been re-using it?
<geist> was fiddling with it a while back before ie ventually just settled on writing my own (for user space) because it still made too many bare metal assumption
<gorgonical> E.g. maybe not literally the same one he wrote
<geist> well, possible glibc has one and musl has one, etc
<geist> as in, there's not a *lot* of work to do but it may be a combination of that libc's specific requirements and the OS it came from
<gorgonical> So then it is an error that my glibc distribution doesn't have one?
<geist> like, say, the low level mechanism the OS hands off args tot he process
<geist> i dont know.
<geist> depends. does glibc have crt0s for other OSes?
<gorgonical> Well it should have one for linux in it, right?
<kazinsal> Honestly not sure -- it might be up to the Linux distributor
<geist> yah i dunno. you'll have to look
<geist> it's a split repsonsibility so i suspect it just gets done one way or another
<gorgonical> Cus after reading about it I understand its purpose, but I'm trying to figure out the pieces of the puzzle
<gorgonical> Ah
<geist> ie, neesd to bring up the libc in a particular way, but also probably has OS specific requirements
<geist> so, i'd generally assume it'd come as part of the libc, but part of the libc that's ported to a specific OS
<geist> but i'm only assuming. you'll have to see
andydude has quit [Quit: andydude]
<nur> great to use bochs I have to find a way to... write my kernel to a virtual floppy
<geist> nur: beats having to write to a real floppy
<geist> writing to a virtual floppy is pretty easy. are you on linux (or a posix environment?)
<nur> yes I am
<nur> ubuntu here
gog has quit [Ping timeout: 252 seconds]
GeDaMo has quit [Quit: Leaving.]
<geist> if you're straight booting a floppy loader it's easy: just create a 1.4 MB disk image and patch in your binary
<geist> i usually use dd conv=notrunc for that
piotr_ has quit [Ping timeout: 272 seconds]
<nur> I'll need a bootloader on it too right
<nur> like grub
kwilczynski has joined #osdev
<kazinsal> depends on if you are the bootloader or not
<geist> yeah, first state what youre trying to do
<nur> nope no bootloader, I just want to get my kernel working in bochs
<nur> it needs to be booted via some bootloader
dormito has quit [Ping timeout: 252 seconds]
<geist> so it uses multiboot already?
<geist> or is it just a raw binary that you're using -kernel for?
<LittleFox> iirc -kernel can only do something linux-specific it was built for originally and multiboot?
<nur> it uses a multiboot header yes
<geist> LittleFox: it's complicated. depends on the arch
<geist> and even varies between x86-32 and x86-64
<LittleFox> geist, ah interesting
<geist> in general it does whatever is necessary to boot linux, but aside from x86 it generally accepts a ELF file or a raw binary (with fixed load addresses)
<geist> on x86 it's a bit more complicated because it also generally looks for multiboot
<geist> or the 'zero page' which is some legacy boot scheme for x86
<geist> x86-64 it generally enters in 32bit mode and still looks for multiboot, since it doesn't for some reason understand ELF64 in that configuration
<geist> nur: okay so you want to install grub on a floppy disk image and then patch it
<nur> that's right!
<LittleFox> (TIL, thanks geist)
<doug16k> grub fits a floppy?
<geist> aside from installing grub in the first place, which is a little annoying, onc eyou do you can easily overwrite your binary in the FAT fs with mtools
<geist> doug16k: yah. at least grub 1. i dunno about grub 2
<geist> i have a floppy disk image i've been dragging around forever for this exact purpose. i forget long ago how i even initialized it
<kazinsal> honestly maybe just use grub-mkrescue for your early live disk needs
<geist> right
<kazinsal> should spit out a functional live CD image from a folder
<nur> sweet!!!
<geist> eh. well i *dont* like grub-mkrescue personally
<geist> sicne it tends to assume a bunch of things from the host config
<nur> oh
<kazinsal> yeah, long term it's not great
<geist> ie, did the host machine boot with uefi or not
<kazinsal> but for quick testing it's alright
ahalaney has quit [Remote host closed the connection]
<geist> well for quick testing it's alright if it works
<kazinsal> honestly ISOs are a nightmare
<kazinsal> half a dozen different extension formats just to get long filenames
<kazinsal> none of which are compatible with each other
<kazinsal> and your alternative is UDF, which now requires you to parse UTF-16
<geist> right, so these are all reasons why i would *not* suggest using it to build a cd image
<doug16k> joliet is UTF16BE
<nur> soooo is it good or bad... grub mkrescue
<kazinsal> bad for long term
<geist> try it, if it works, great
<kazinsal> possible useful for short term
<geist> otherwise if i hunt around here long enough i can find you that floppy image i was talking about
<geist> if you dont care how it was made
<geist> it's just a floppy disk formatted FAT
<geist> and you can use mtools (or even loopback mount it) and customize your grub config
<kazinsal> that's definitely an advantage to using a FAT disk image, mtools
<kazinsal> not sure if there's really any other filesystems with a simple user space image manipulation application
<geist> i think they're similar lineage. they're just floppy disk images with grub on it
<bslsk05> ​newos.org <no title>
<geist> and whatever thing i was testing last
<bslsk05> ​newos.org <no title>
<nur> lemme try
<nur> wait how do you mount this
<nur> losetup /dev/loop0 /usr/local/bochs/dlxlinux/floppya.img
<nur> something like this?
<geist> sure
<kazinsal> something like that
<geist> there's an -a switch i think that finds a free slot?
<nur> I just double clicked it and it mounted
<geist> so the grub floppy is real basic. it's just a basic instal of grub 1 on a disk
<nur> ah
<geist> you have to provide the config file and yours
pretty_dumm_guy has quit [Quit: WeeChat 3.2-rc1]
<nur> where does the config file go
<nur> in /boot?
<geist> i think so?
<nur> I suppose the kernel image can go anywhere
<geist> right
<geist> i have it conmfigured somewhere, but tha tmachine is turned off righ tnow
<geist> but should be able to figure it out
<kazinsal> GRUB will probably complain in a fairly useful way if you boot the image and something isn't right
<nur> right lemme try
<nur> brb
<geist> otherwise i think it's generally pretty easy to manually just install grub on a fresh floppy device (even via loopback) without needing any mkrescue
<geist> it's somethinmg like grub-install <disk device> or whatnot
<geist> just copies over the minimum, then you provide a config file
<geist> but what i dont know is if grub 2.x can fit on a flopyp anymore, so might have to use old grub
<kazinsal> yeah
<geist> hence why i just keep this thing around that i instealled... apparently in 2007 based on the dates of the files (just used 'mdir -i grubfloppy' to poke around inside it
<geist> would generally suggest using mtools anyway once you get it figured out
<geist> since you can avoid loopback mounting and whatnot. easy to drive from your build script
nyah has quit [Quit: leaving]
nyah has joined #osdev
dormito has joined #osdev
dormito10 has joined #osdev
dormito is now known as Guest7202
dormito10 is now known as dormito
Guest7202 has quit [Ping timeout: 268 seconds]
bsdbandit01 has joined #osdev
bsdbandit01 has quit [Ping timeout: 268 seconds]
<LittleFox> have a grub2 floppy image built
<LittleFox> so definitely works
<LittleFox> but is a pita
<LittleFox> x)
rusty_lad has quit [Quit: http://www.okay.uz/ (Session timeout)]
bsdbandit01 has joined #osdev
<geist> yah one of those things you do once and then just keep it around
<LittleFox> I'm writing a script to build those
<LittleFox> it will have debian paths hardcoded, but one can adapt those
<LittleFox> ¯\_(ツ)_/¯
jaevanko has joined #osdev
<geist> yah if you can come up withs omething basically useful might be good to toss on the wiki
<kazinsal> totally. I think "how to get a working bootable image" is one of those things that needs to be better documented
<kazinsal> a lot of the early bringup documentation on the wiki is horrendously old and poorly written
<bslsk05> ​pastebin.com: grub2-mkfloppy - Pastebin.com
<LittleFox> may this help some people, just hacked together but trying to have this look not-hacky ^^
<LittleFox> but not sure if I find the motivation to find a good place in the wiki for it, so if someone is up for that, that would be great
bsdbandit01 has quit [Read error: Connection reset by peer]
<LittleFox> (I'm not even using grub2 myself for osdev, only uefi x) )
<geist> same. onlky time i use grub is if i'm actually trying to boot on a real machine
<geist> in which case i stamp out the floppy disk image
<LittleFox> ^^
<klange> The CD images are way more straightforward to build.
<geist> well a real old machine, with floppy. otherwise i'd build a USB stick
<kazinsal> I've discovered something interesting. VirtualBox doesn't fully lock the file of an ISO image, so you can overwrite it locally while it's attached to a VM... buuuut you can't scp over it from another machine.
<jimbzy> Can you actually buy floppies anymore?
<kazinsal> jimbzy: I bought a pack of brand new 3.5" floppies from amazon.ca about a year ago.
<LittleFox> I think its mostly useful to quickly have something to boot in bochs for the really strange errors
<geist> jimbzy: sure
<kazinsal> If you're in the bay area though I recommend just pinging foone, I think they have a few million lying around (do not actually ping foone, and if you do, do not tell them I told you to ping them)
<geist> i dont think anyone is making them anymore, but there are probably tons of boxes floating around
<geist> but you can also get a usb floppy drive. and they work nicely
<jimbzy> Interesting.
<klange> Plenty of "new old stock".
<jimbzy> Makes sense.
<geist> not terribly long ago i actually booted a modern Zen machine into dos from a usb floppy disk
<geist> the UEFI + CSM + USB floppy has enough emulation that dos actually Just Works
<kazinsal> Yeah, something tells me the last remaining floppy disk factory probably kept running until some time last decade.
<LittleFox> (ha nice, one of the good comments made it to line 69 randomly. NICE)
<LittleFox> (sorry )
<kazinsal> You'd be surprised how much old legacy hardware still works off floppies.
<geist> yah, i vaguely remember hearing only within the last few years sony stopped making the last of the floppies i think
<kazinsal> Up until recently, Vancouver's automated light rapid transit system still booted off floppies...
<jimbzy> Nah, I get it kazinsal. I was just wondering cause it's been about 20 years since I bought any :p
<geist> 2009 it seems.
<geist> i thnk it may have been verbatim or something that stopped making cdroms that i was sad about
<jimbzy> You know what's interesting? I probably used my last floppy disk to boot NewOS :p
<kingoffrance> funny part is i was playing with ancient ack, pc86 target makes bootable 16-bit "executables". hello world tests from qemu passing executable as floppy image: basic (output to console seems broken) c89: hello world works, but uses "tiny" model and not even 64k IIRC modula2: hello world works pascal: hello world works just think, stage x in modula2 or pascal or basic? <runs away>
<jimbzy> I'm almost certain of that.
<jimbzy> It was on my old IBM ThinkPad with an external floppy drive.
<LittleFox> I'm just happy that now my "last floppy image I built" isn't built with gnu as
<kazinsal> Correction: the SkyTrain still runs off diskettes.
<kingoffrance> the fortran i did not mess with, but might be close to working
<kazinsal> Gotta love a system built so well that it's still running fine on Pentium-class machines.
<LittleFox> kazinsal, but how shall I organize memory in only 32bit virtual address space :o
Sos has quit [Quit: Leaving]
<kazinsal> Pffft, you only need a few kilobytes to keep track of an automated 50 mph train!
* LittleFox is unsure if this is fast or not since imperial unit
<LittleFox> ah, 80km/h
<LittleFox> hm. something in between I guess
<kingoffrance> anyways, there was perhaps a time when bootable executables was sort of a thing
<jimbzy> LittleFox, 43.5 knots?
* LittleFox looks suspiciously at Jimboy
<LittleFox> äh
<klange> knots is nautical miles per hour, and a nautical mile is 1.151 regular miles, or 1852 meters ;)
<LittleFox> google ..
<LittleFox> jimbzy 1
<LittleFox> jimbzy ^
<LittleFox> ..
<LittleFox> I give up
<LittleFox> x)
<geist> jimbzy: heh probably 15:35 * LittleFox is unsure if this is fast or not since imperial unit
<bslsk05> ​newos.org <no title>
<jimbzy> Good times.
<geist> good times
<geist> one of these days i'll get lkuser up to the level this was
<jimbzy> I haven't had a chance to get into lk.
<geist> it's just a different thing
<jimbzy> Different is good.
<jimbzy> I've just been bogged down with school crap and it kind of has me feeling "blah".
sm2n has joined #osdev
sortie has quit [Quit: Leaving]
gog has joined #osdev
jaevanko has quit [Quit: Leaving]
Longor has quit [Quit: Leaving]
carmysilna has joined #osdev
<doug16k> LittleFox, what's wrong with gnu assembler?
<doug16k> it's not cool?
<LittleFox> doug16k, nothing, just feels weird thats being the last tool I built a floppy image with x)
<doug16k> it's not the instrument, it's the musician, right?
<LittleFox> (that being*, ah whatever.. x) )
<LittleFox> hm probably
<LittleFox> and actually wasn't even a floppy image now that I think of it .. was a fat32 image
<doug16k> I spend more time debugging qemu to see what the heck it is doing with the rom than working on the code
<doug16k> I find it needs a uboot header, so I add a uboot header. code all succeeds in qemu. memory is zeros
<LittleFox> nice. x)
<LittleFox> just as nice as my last UEFI funs
<LittleFox> booting via pxe, trying to load more files, firmware crashing
<LittleFox> but every firmware I tested it with
<LittleFox> even the uefi emulator from the edk2
<doug16k> I got uefi and bios pxe working
<LittleFox> .. added a LinuxTap network driver to it to have a easier test environment x)
<LittleFox> yeah by now its working in my loader, too
<doug16k> in qemu's dhcp+tftp and my own dhcpproxy-tftp server
<LittleFox> not a single tftp server supporting listing files is a shame tho, I wonder why UEFI Tftp protocol has that?
<doug16k> why would you want to list files
<LittleFox> my loader currently just loads all files in the OS directory, treating the one named "kernel" in a special way
<LittleFox> all others given to the kernel like multiboot modules
<doug16k> how about this: find . > .dir
<doug16k> then download .dir
<doug16k> -maxdepth 1 maybe
<LittleFox> yeah, probably need a config file anyway soon, for arguments to those initial programs
<LittleFox> but for now it was nice to boot config-less ^^
<doug16k> all the files?
<LittleFox> all in /LFOS/, yes
<doug16k> normally a bootloader loads the kernel, and one initrd
<LittleFox> which is .. kernel, init, uart currently
<LittleFox> sometimes kernel and doom
<LittleFox> :D
<doug16k> then the kernel mounts the initrd so it has a sane environment early
<doug16k> and it can open and read modules and config files
<LittleFox> (LF OS does not have an initrd as filesystem containing init, but as program being a filesystem driver and then doing more magic - its a microkernel OS)
<LittleFox> (and it can have multiple programs loaded by the bootloader and just start them all at once)