bradd has quit [Remote host closed the connection]
terrorjack has joined #osdev
jcea has quit [Ping timeout: 260 seconds]
bauen1 has quit [Ping timeout: 260 seconds]
bauen1 has joined #osdev
n00by_ has joined #osdev
n00by has quit [Ping timeout: 245 seconds]
sbalmos has quit [Ping timeout: 260 seconds]
sbalmos has joined #osdev
bradd has joined #osdev
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
n00by has joined #osdev
n00by_ has quit [Ping timeout: 260 seconds]
remexre has quit [Ping timeout: 260 seconds]
remexre has joined #osdev
joe9 has quit [Quit: leaving]
xvmt has quit [Ping timeout: 252 seconds]
Lucretia has joined #osdev
n00by_ has joined #osdev
n00by has quit [Ping timeout: 245 seconds]
n00by_ is now known as n00by
xvmt has joined #osdev
citizen_stig has joined #osdev
<the_oz_>
I regret buying hp disk shelves
<the_oz_>
I regret buying 6 of them
<the_oz_>
they were so fucking cheap
citizen_stig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Ermine>
what's terrible about raid on rpi
citizen_stig has joined #osdev
<the_oz_>
the ole game of "find the latency"
<the_oz_>
I think it'd be on the ethernet but I don't know for sure
<the_oz_>
but really you're comparing against what? not having disks?
<the_oz_>
here are $10 dell cards that handle up to 8 sas disks (or sata)
<the_oz_>
and it'd turn an old whatever into a much better nas boxen and more
<the_oz_>
but uh
<the_oz_>
it depends
m5zs7k_ has joined #osdev
m5zs7k has quit [Ping timeout: 252 seconds]
m5zs7k_ is now known as m5zs7k
arminweigl_ has joined #osdev
arminweigl has quit [Ping timeout: 260 seconds]
arminweigl_ is now known as arminweigl
alpha2023 has quit [Quit: No Ping reply in 180 seconds.]
alpha2023 has joined #osdev
<geist>
re raid on a rpi i'd be highly worried you'd get a mulitple disk connection failure
<geist>
especially if you're using USB or something where one day there's some issue with the connection, a few disks go down, raid now corrupted
jjuran has quit [Ping timeout: 252 seconds]
<geist>
in a proper raid setup there's a general assumption that the disk controllers, cabling, etc is much more solid than the disks themselves, and such when disks fail they fail on their own, and not all at once like you'd get if a controller or bus went down
jjuran has joined #osdev
<sortie>
Hmm wouldn't raid be able to handle if a controller goes down? E.g. for RAID1 you can use the bitmap of blocks recently modified to copy all those blocks to all the other disks and recover
<sortie>
I had a bit of fun the other day reading the LVM and RAID manuals to learn more about how this tech actually works in Linux :)
<nikolar>
you can probably use regular files as backing storage
<nikolar>
and then mess with them and see what happens
<sortie>
There's even a ton of RAID/LVM features that one can use to artifically inject failures to debug and test
<heat>
i mean a rpi can't pull enough power for multiple disks
<heat>
it can barely handle one
<sortie>
Some external drives have an additional power supply
<nikolar>
heat: i don't think anyone is using a normal rpi for that
<nikolar>
but probably a compute module with a separate board
<bslsk05>
'ZFS without a Server!?! It is DPU time!' by ServeTheHome
<the_oz_>
Not a good idea
<the_oz_>
But is possible
bauen1 has quit [Ping timeout: 252 seconds]
<n00by>
hi, srry dumb ques here, is there an objdump flag for dumping raw 0s and 1s? does the bits also have an endianness?
<sortie>
n00by: idk about such an option, but I can at least say there's no endian issues inside just one byte. The hardware handles all of that transparently
<n00by>
thanks, sortie
<sortie>
n00by, I suspect there's a more interesting story here that we might be able to help with, why do you want to binary dump your executable?
<GeDaMo>
If you want the raw bytes of the file you can just use something like hexdump
<sortie>
A hex dump would ordinarily be perfectly useful, which is why I'm asking :)
<n00by>
yup, that works ofc
<n00by>
sortie: just messing around with bfd
<n00by>
libBFD*
<sortie>
Big difference between hexdump and objdump is of course that hexdump is unaware of the file structure
<sortie>
Like if you're e.g. interested in the instructions, you'd have to figure out the appropriate offsets when using hexdump
<n00by>
ye, right. i also, i just learned that there's no defacto "program loader", ld does both loading and linking
<n00by>
strange
<sortie>
That's not fully right
<heat>
that's not right in any way
<heat>
/bin/ld != ld.so
<heat>
despite both having ld in the name
<sortie>
ld(1) does the linking, but /lib/ld.so traditionally does the linking (name varies with your OS)
<n00by>
ld.so is the dyanmic loader/linker, but why the `/`?
<heat>
what
<sortie>
The runtime part of dynamic linking is the loading aspect
<n00by>
i mean, in case of static linking? which program does the loading part?
<n00by>
ah
<sortie>
You can't just "dynamically load" because the linking part has to happen where it connects the symbols being imported with exported symbols
<sortie>
For static linking, the kernel does the loading
<n00by>
i see
<sortie>
That also happens for dynamic linking
<sortie>
For dynamic linking, the kernel sees the program header says the program has an interpreter (ld.so), and then the kernel loads ld.so instead as a static executable, and then that executable loads the real program dynamically
<Ermine>
geist, heat: i see now re raid
<heat>
reraid
<heat>
> then the kernel loads ld.so instead as a static executable
<heat>
not quite but whatevs
<Ermine>
execing /lib/ld.so works btw
<sortie>
heat: (was meant to be accurate enough for our new friend, but I am curious if there's an aspect here that I don't know)
<n00by>
sortie: ty, i guess now i have some idea :3
<heat>
ld.so is a PIE executable, it's loaded as a PIE executable
<n00by>
Ermine: exceing a sharing library? how do i "execute" it?
<n00by>
shared*
<sortie>
nortti: ld.so is a very special case where it has a main, so it can act as an interpreter
<heat>
the only difference is that the kernel does not relocate it, it leaves relocations down to userspace (traditionally Scrt1 or rcrt1 or whatever, or the dynamic linker)
<Ermine>
n00by: open shell and try to run your ldso
<Ermine>
and see for yourself
<n00by>
woah
<heat>
try /usr/lib64/libc.so.6
<heat>
holy hell
<n00by>
> libc ABIs: UNIQUE IFUNC ABSOLUTE
<n00by>
wat
<sortie>
heat why are you executing a manual page from section 6 (games)
<heat>
why are you stashing man pages in lib
<n00by>
lol
<the_oz_>
why are y'all versioning in filenames
<Affliction>
manuals are books, books are in libraries
<Affliction>
now one moment, I need to empty the bin
<sortie>
Affliction: :D~1
<Ermine>
ifuncs are unique it seems
<Ermine>
nobody else implements them it seems
<heat>
freebsd does
<Ermine>
oh
<Ermine>
that disappoints #musl
corinne has quit [Remote host closed the connection]
<n00by>
> We are aware of the fact that this document may put a smile on the face of experienced readers due to the sometimes barely justified oversimplification of technical internals
jcea has quit [Read error: Connection reset by peer]
jcea has joined #osdev
kof673 has quit [Ping timeout: 276 seconds]
xenos1984 has quit [Ping timeout: 268 seconds]
xenos1984 has joined #osdev
jcea has quit [Ping timeout: 276 seconds]
kof673 has joined #osdev
bauen1 has joined #osdev
fedaykin has quit [Ping timeout: 260 seconds]
xenos1984 has quit [Ping timeout: 252 seconds]
goliath has quit [Quit: SIGSEGV]
xenos1984 has joined #osdev
fedaykin has joined #osdev
vdamewood has joined #osdev
<sortie>
fun fact they call it FAT32 but it's actually FAT28
<heat>
fatlinuxkernel
<zid>
FAT32 bits which means FAT28 dwords or something?
guideX_ has joined #osdev
guideX has quit [Ping timeout: 260 seconds]
guideX_ is now known as guideX
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<antranigv>
hey osdev friends
<antranigv>
what should I read so I can start using tzdata in /usr/share/zoneinfo. basically I need to create a DateTime library in my programming language, something like DateTime.FromUTCToTZ(1749846121, “Asia/Yerevan”). but I need to parse the timezone data first. also, is this the right place to ask this?
<zid>
There will be a library for that
<antranigv>
zid you mean tzset or similar? yeah wanna go full native ideally
<zid>
zic
<antranigv>
but we can start with that!
<zid>
zone information compiler
<zid>
there we go
<zid>
now you know what source to rip off
<zid>
The tz database is published as a set of text files which list the rules and zone transitions in a human-readable format. For use, these text files are compiled into a set of platform-independent binary files—one per timezone. The reference source code includes such a compiler called zic (zone information compiler), as well as code to read those files and use them in standard APIs such as
<zid>
localtime() and mktime().
<antranigv>
zid aren't you the best <3
TkTech8 has joined #osdev
<antranigv>
oh god 4080 LoC
<kof673>
IIRC it has been said nasa wrote a java program for mars time lol
TkTech has quit [Ping timeout: 244 seconds]
<zid>
id, size, data
<zid>
and has a whole bunch of ids, wow
TkTech has joined #osdev
arminweigl_ has joined #osdev
TkTech8 has quit [Ping timeout: 252 seconds]
arminweigl has quit [Ping timeout: 276 seconds]
arminweigl_ is now known as arminweigl
<antranigv>
looks like I'll be binding to mktime for now.
<zid>
hardcode london's tz, easier
<zid>
Just assume it isn't going to change much
arminweigl has quit [Ping timeout: 252 seconds]
TkTech8 has joined #osdev
TkTech has quit [Ping timeout: 260 seconds]
TkTech8 is now known as TkTech
arminweigl has joined #osdev
* geist
yawns at everyone
* acidx
yawns in solidarity
TkTech7 has joined #osdev
TkTech has quit [Ping timeout: 276 seconds]
TkTech7 is now known as TkTech
netbsduser`` has quit [Ping timeout: 260 seconds]
TkTech9 has joined #osdev
TkTech has quit [Ping timeout: 252 seconds]
TkTech9 is now known as TkTech
netbsduser`` has joined #osdev
netbsduser`` has quit [Ping timeout: 260 seconds]
Lucretia has quit [Remote host closed the connection]