<klange>
Just get a regular box that has coreboot support so you know it's a viable target to flash your own startup code to.
<klange>
There aren't really any x86 dev boards - there was that line of Arduino-compatible x86 boards, Galileo, but they were total junk and were discontinued years ago.
<bslsk05>
community.intel.com: Distinct or not, the original - Intel Community
<heat>
klange: that's an idea, but going that route is also a bit expensive. I assume 100 for a mobo + 200 for a decent CPU gets me up to 300 or so, plus RAM and plus power supply
<heat>
with all that I might just go for a regular build :P
heat has quit [Quit: Leaving]
heat has joined #osdev
nyah has quit [Quit: leaving]
ElectronApps has joined #osdev
<klange>
heat: that would really be my first suggestion; x86 is a terrible target if you want to run _only_ your code - it's infected from the first instruction
<brynet>
other peoples code-- the horror!
<klange>
If you accept that firmware is firmware and set your goal as running only your _software_, then really any ol' x86 box can probably work out.
<heat>
the whole "I want to run my own firmware" thing is purely for a fun aspect, and because I want to run my tianocore code on it
<heat>
and I can't really rebuild the firmware image if it's not an open board and/or I can't write open-source bring up code for that same board
<heat>
i'm not on a "urr durr closed source bad other peoples code bad" trip
<clever>
for me, its a matter of being able to fix things without waiting for help from a limited set of authorized people
<clever>
heat: ive been trying to netboot my pi400 for 3 days now, and it just hangs after printing 3 lines of debug
<clever>
and without source, i cant add more debug or try to fix it
<heat>
for example, I'd really like to run my ext4 driver in my own system but it's simply not possible if I can't flash my own image on the board
<clever>
i recently added ext4 to LK's ext2 driver
<heat>
the raspi would be a possible target for that since the raspi board code is open-source but it's not really pure UEFI (and I can't have the challenge of writing bring up code)
<heat>
(I could also have the ext4 driver on the ESP and use that DRIVER_* variable thing to load it but that's not exactly the kind of system partition purity I want :P)
<clever>
heat: now that LK has ext4 drivers, i could create a bootcode.bin, that loads start.elf off of an ext4 partition
dutch has quit [Quit: WeeChat 3.0.1]
dutch has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.2]
mctpyt has quit [Ping timeout: 250 seconds]
mctpyt has joined #osdev
tacco has quit []
AssKoala has quit [Ping timeout: 240 seconds]
flx-- has joined #osdev
flx- has quit [Ping timeout: 252 seconds]
mahmutov has quit [Ping timeout: 248 seconds]
sts-q has quit [Ping timeout: 248 seconds]
gorgonical has quit [Ping timeout: 248 seconds]
gorgonical has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
srjek has quit [Ping timeout: 240 seconds]
ElectronApps has quit [Remote host closed the connection]
YuutaW has joined #osdev
heat has quit [Ping timeout: 252 seconds]
bradd has quit [Remote host closed the connection]
paulman has quit [Remote host closed the connection]
paulman has joined #osdev
bradd has joined #osdev
bradd has quit [Remote host closed the connection]
immibis has joined #osdev
froggey has quit [Ping timeout: 248 seconds]
froggey has joined #osdev
bradd has joined #osdev
bradd has quit [Remote host closed the connection]
bradd has joined #osdev
tacco has joined #osdev
GeDaMo has joined #osdev
tacco has quit []
dennis95 has joined #osdev
sortie has joined #osdev
Oshawott has joined #osdev
archenoth has quit [Ping timeout: 250 seconds]
<geist>
clever: reminds me, i'll try to get to getting that ext4 stuff tested and merged
<clever>
geist: one thing i didnt test at all, was ext3 fs's
<clever>
the readdir code is also still a bit buggy, but it depends on how big of a dir you want to allow `ls` with, since `ls` isnt a major priority
<clever>
i could split opendir/readdir into its own PR if you think the code is too bad
ElectronApps has joined #osdev
<clever>
oh yeah, and the ext4 extent stuff, only supports files with 4 fragments, more isnt supported yet
<bslsk05>
wiki.osdev.org: Dae Dreamer - OSDev Wiki
<sham1>
Get started already
<GeDaMo>
Do you have any particular areas of interest?
<heat>
ckie, look at the bare bones tutorial
<sham1>
Don't let your dreams be dreams
<sham1>
JUST DO IT
<sham1>
YES YOU CAN
<heat>
that's super 2015 sham1
<sham1>
Yes
<heat>
Just Do It(tm) #AD
<ckie>
thanks peeps :D
<gog>
i feel attacked
<heat>
jeez I guess we have an adidas stan here
<gog>
all day i dream about osdev
<ckie>
my brain is already hurting from thinking about all the compiler passes that will need to be made
regreg has quit [Remote host closed the connection]
<ckie>
(my OS idea is more of a compiler)
<heat>
i'd recommend you go for something way more basic
<heat>
have something *run* at first
<heat>
then you can go for your ideas
<ckie>
heat: but why? i'll throw it away anyway
<ckie>
i can get by with x86 asm somewhat well already
<heat>
because if you go for $simple_embedded_kernel at first you'll get motivation to go further
mahmutov has joined #osdev
regreg has joined #osdev
<ckie>
i meann, it would be cool if the compiler could run standalone~
<ckie>
like a bootstrap compiler but s/compiler/os/
<ckie>
ok heat, you've got me hooked on that idea now
<heat>
while if you think about your crazy compiler ideas(not saying they won't work, but they're possibly super hard) and go right after them, you might get bored/unmotivated
<heat>
if I were you i'd go for "simple thing that runs" first, then I would build whatever you want to build on top of it
<ckie>
my brain likes seeing a clear path
<heat>
particularly considering something like a compiler or interpret will require whatever you develop on $simple_embedded_kernel
<heat>
interpreter*
<heat>
like memory allocation, exception handling(spoiler: your compiler will crash)
<GeDaMo>
You could develop for a virtual machine then get the VM to run on the bare metal
<sham1>
gog: same. I thought that now having some vacation time might give me time to do this stuff. It turns out however that I have other things to do and I still have no time for this
<ckie>
sham1: i don't have much time either, but my problem is getting started. afterwards it's easy
<heat>
oh yeah GSoC finished yesterday so I'm kind of finally free
pretty_dumm_guy has joined #osdev
<gog>
i have plenty of time really, just no motivation to speak of :p
<heat>
I miss writing networking code :(
YuutaW has joined #osdev
rubion has joined #osdev
<ckie>
i seem to be super afraid of having to start over even though it's inevitable
<ckie>
so, yolo
<ckie>
i've had this channel on my buffer list looking at me for months
<heat>
i've started over like 2 or 3 times
<GeDaMo>
When you gaze into the abyss, the abyss gazes also into you :|
<heat>
it's not an issue
<ckie>
i know, but my brain disagrees
<gog>
i've been gazing into the abyss for years
<gog>
just waiting for it to swallow me (:
<heat>
I stared at my build system for months
<heat>
turns out staring at something doesn't make it better
<gog>
hm maybe not but i'll keep trying
<GeDaMo>
Douglas Adams described his writing process as "staring at a blank piece of paper until my forehead bleeds"
<ckie>
it's weird how with stuff like this all the principles i easily stick to disappear
YuutaW has quit [Quit: WeeChat 3.2]
<Bitweasil>
I should read HHGTTG again, see if it holds up.
<Bitweasil>
I don't think my oldest kid is old enough to appreciate the absurdity yet.
<bslsk05>
'Babel Fish - The Oddest Thing In The Universe - The Hitchhiker's Guide To The Galaxy - BBC' by BBC Studios (00:04:16)
regreg has quit [Remote host closed the connection]
<j`ey>
I think HHGTTG holds up
<sham1>
It's so good
<sham1>
Should probably read it again
<ckie>
build system suggestions for when i don't care about the build system and i can already ensure i have the right environment?
<ckie>
(using NixOS)
<GeDaMo>
There's also the original radio series, the LPs, and a TV series :P
<j`ey>
and film!
<GeDaMo>
We don't talk about the film :|
<j`ey>
I liked it :P
<heat>
ckie, make?
<heat>
make is the most "i dont care" build system you have
<heat>
unless you're weird and go for a shell script
<ckie>
heat: oh, i asked a bad question - i want ccls to not break too :p
<heat>
does it use compile_commands.json?
<ckie>
mhm
<heat>
if so you can wrap bear around full builds and most language servers Just Work(tm)
<ckie>
oh yeah, that's what it was called!
<ckie>
thanks
<heat>
seriously, I've wrapped the EDK2 build system (bunch of python scripts + make) with bear and things just work
<heat>
it's magic
<j`ey>
heat: can you rewrite edk2 build system in gn now, thx
<heat>
lolno
<heat>
making it generate ninja wouldn't be a bad idea though
<heat>
funnily enough lots of things actually grew on me
<heat>
the build system, the coding style
<heat>
definitely not the GUID fetish though
<j`ey>
heh
<Nuclear>
I love make, there's nothing that comes close for me in terms of elegance, generality, and versatility
<Nuclear>
(GNU make really)
<heat>
i hate make lol
<Nuclear>
so it's not an "I don't care" choice for me. But a very deliberate one
<heat>
it's too low level for most tasks
<Nuclear>
I don't think so
<heat>
if you look at gn, bazel, meson, whatever, you'll see way friendlier build systems
<Nuclear>
"friendlier" build systems have a tendency to have pre-baked assumptions, which I find extremely irritating
<heat>
that then output whatever low level build system they need like make, ninja, visual studio project files, etc
<heat>
not really
<sham1>
R E D O
<Nuclear>
either that, or they devolve to full scripting languages, which i also find inelegant
<heat>
make is also a scripting language
<vin>
In general, how/where do you identify/shop the chipset for a processor?
<Nuclear>
make hits just the right spot. It's agnostic about what you're truing to build, yet elegant enough to allow you to express build rules in a succint way
<heat>
vin, what do you mean?
<heat>
Nuclear, yes but you need to reinvent the wheel every time you want to write a makefile
<Nuclear>
I don't think so
<Nuclear>
most of my makefiles are very short
<heat>
out of tree builds? reinvent the wheel. header deps: reinvent the wheel (why would it not be baked in the build system?). complicated project layouts: reinvent the wheel
<vin>
heat: I want to build a dual socket machine with particular processors. I also have other requirements such as support for m2 slots and RDMA adapters and so
<heat>
and then you try an incremental build and immediately switch to ninja
<vin>
on
<vin>
Which chipset would I start with?
<Nuclear>
header deps are provided by gcc, out of tree builds I have never tried to do so I can't say, and incremental builds are the bread and butter of make
<heat>
lol
<heat>
incremental builds + make are the reason for ninja's existance
<Nuclear>
the reason for X's existence might be something, but that doesn't mean "make doesn't do that something"
<Nuclear>
I don't know what problems you had with incremental builds with make, but I never had any problem
<heat>
vin, look for mobos compatible with the CPUs, and look at their features (or filter through them) would be my guess. at least that's how I would do for a regular consumer platform
<heat>
it's super fucking slow
<heat>
ninja is already faster than make in full builds, and it's way faster for incremental builds
<Nuclear>
and the slowdown is make ? never had an issue like that
<Nuclear>
usually the bottleneck is the compiler, especially with C++ builds
<h4zel>
Hi! I'm so sorry, do you guys know what "-fda" does in qemu? the man page for it is just blank and my drive reads fail without it
<j`ey>
i think it's a floppy drive?
<h4zel>
Oh, really? That's super weird. I wrote all this code myself, and I wrote it for just an image
<h4zel>
I'll try getting the error message from the read, thank you so much!
<heat>
fda means "put floppy on A" I think
<heat>
where A, B, C, D are channels in the IDE controller
<heat>
in that case A won't have anything? not sure
<heat>
maybe the floppy controller thing also has channels and the letters are internal?
regreg has joined #osdev
Oshawott has quit [Read error: Connection reset by peer]
solar_sea has joined #osdev
rubion has joined #osdev
archenoth has joined #osdev
kaitsh has joined #osdev
kaitsh has quit [Client Quit]
kaitsh has joined #osdev
mniip_ is now known as mniip
freakazoid343 has quit [Ping timeout: 248 seconds]
Izem has joined #osdev
<Izem>
are windows nt syscalls stable?
<GeDaMo>
I don't think so, you're meant to go through some DLL, I think
AssKoala has joined #osdev
<heat>
the numbers aren't but I think the API is
<Izem>
ok
GeDaMo has quit [Quit: Leaving.]
<h4zel>
huh, so it looks like the read fails with an error of 02 "bad sector" unless ran as a floppy
<h4zel>
weird
MarchHare has quit [Ping timeout: 250 seconds]
freakazoid333 has joined #osdev
kori has joined #osdev
regreg has quit [Ping timeout: 240 seconds]
mxshift has joined #osdev
<Bitweasil>
Izem, I believe every major release of Windows scrambles the syscall #s for "security through annoyance" or something.
<Izem>
oh interesting
mhall has quit [Quit: Connection closed for inactivity]
<Bitweasil>
I didn't do a ton of work with the Windows syscall stuff, Linux is a lot nicer.
<Bitweasil>
Stable syscall interface #s.
archenoth has quit [Read error: Connection reset by peer]
Izem has quit [Quit: Going offline, see ya! (www.adiirc.com)]
h4zel has quit [Quit: WeeChat 3.0.1]
<moon-child>
it remained stable for a number of major releases in a row, I don't think it's that
<moon-child>
iirc there were a couple of major refactors done or something
onelegend has joined #osdev
<onelegend>
what do OS's use for memory isolation? (not just W^X, but preventing program A from reading the memory of program B)
<heat>
MMU
<j`ey>
virtual memory
<clever>
onelegend: each process has a different paging table, and the MMU will then ensure that a given virtual address, shows different things, depending on who is asking
<Bitweasil>
Modern OSes do that, yes. Go far enough back, "Please don't..." is about the protection you get.
<Bitweasil>
(DOS, Classic MacOS, etc)
<heat>
post-meltdown and spectre linux too :P
<Bitweasil>
Heh. Yeah...
<onelegend>
what happened after post-meltdown and spectre?
gateway2000 has quit [Read error: Connection reset by peer]
<moon-child>
we became even more aware of how stupid an idea it is to try to run untrusted software on the same hardware as sensitive information