marcan changed the topic of #asahi-re to: Asahi Linux: porting Linux to Apple Silicon macs | Hardware / boot process / firmware interface reverse engineering | WARNING: this channel (only) may contain binary reverse engineering discussion | RE policy: https://alx.sh/re (MANDATORY READ) | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-re
wookey has joined #asahi-re
<wookey> I've got one of these machines (ARM freebie) and have negligible interest in macos. I'm just wondering if it's useful to not agree to the 'no reverse engineering permitted' licence agreement you have to get past to use the machine on first boot?
<wookey> Not sure if it makes any real differnce in my jurisdiction (UK).
<opticron> wookey, take a look at the RE policy in the channel topic
<opticron> probably relevant to your question
<wookey> I already read that
<wookey> Oh no. I didn;t get to the bottom :-)
Necrosporus has quit [Ping timeout: 264 seconds]
<bkero> CCCCCCKHTTFFURVVGKTRLFTVRHLCVTTjitvjkjnlfjfv
<bkero> blargh
<bkero> Sorry all
<wookey> said doc doesn't say anything about whether Apple's attempt to prevent RE has any effect in the UK. I recall that we used to have quite extensive RE rights but they were much reduced by some EU legislation circa 2009. I guess I'd better swot up.
<Shiz> i think you're the only one who can make calls about your local jurisdiction
Necrosporus has joined #asahi-re
<wookey> Well. I was hoping RE heavy projects had already looked into it :-) https://www.gerrishlegal.com/legal-blog/2020/4/7/reverse-engineering-when-can-users-lawfully-decompile-software seems helpful
<wookey> I've not done any seriously for years
<Shiz> afaik (but IANAL) reversing is permitted in europe for the sake of product compatibility
<Shiz> arguably running linux on apple hw is product compatibility :)
<Shiz> (or rather, EU)
<modwizcode> I don't think it ends up mattering much overall either though. The overall policy seems to mostly boil down to "if it's not obvious, ask but also probably don't do it". Regardless of what EU/UK might say, the project has to consider the US, Japan, etc. which tend to have fewer rights.
<wookey> Yes, that seems to be the case, but decompilation specifically not allowed, only observing. Not sure how that works in practice. Not much RE witout some decompilation to work out which bit to observe.
<wookey> Also it looks like it's only kosher if you agree to the licence, which is a tad perverse.
<Shiz> not sure where you get it from, but decompilation is also allowed
<Shiz> in fact, it's listed under the section called decompilation in the EC directive
<modwizcode> The only policy that had decompilation not allowed was GPU
<wookey> I got that from the lnik above
<Shiz> oh right
<Shiz> i thought you meant the EC directive
<Shiz> wookey: you can still decompile
<Shiz> but use it as a method for obtaining information
<Shiz> not for copy-pasting decompiled code into an asahi project :)
<Shiz> that's the substance of that paragraph
<Shiz> (and as modwizcode noted, don't do it for the userspace gpu driver)
alyssa has joined #asahi-re
<wookey> OK. I probably read the directive at the time, but have fogotten it all as that was a decade ago
<alyssa> (and not just because I am unable to make sense of decompiled code and only want fair competition :p)
<wookey> Ah hi alyssa. Of course you are here too :-)
<alyssa> uh
<Shiz> it also does note that if you intend to do binary reversing & code contributing at the same time, you would probably want to contact marcan
<alyssa> whoops wrong nick
<Shiz> because "we do not currently allow contributions of code developed concurrently with binary reverse engineering except from specific trusted contributors"
<wookey> Right, I noted that.
<modwizcode> So far I don't think a lot of binary RE has even happened lol, at least not anything important to getting anything done
<Shiz> yeah, i've just been reversing some bootpolicy stuff to document the boot process
<modwizcode> Arguably Apple should document that :p
<Shiz> well, it's documented in the sense of how to run your kernel on it (somewhat)
<Shiz> i just want to know the nitty gritty :p
<modwizcode> I was saying arguably the boot process is the one place that Apple documenting the nitty gritty might be expected lol
<alyssa> wookey: but yes I'm eeeeverywhere :p
<Shiz> also hello stranger
<alyssa> ?
<wookey> Shiz: you are quite right: "However, decompilation for interoperability testing is legal and necessary ". Good. So I probably don't need to fret about the tiresome 'no reverse enginering, except insofar as your local regs say we can't stop you' clause.
<alyssa> wookey: I have heard the 'interpretation' that one is not reversing the software, but rather the hardware, and the license only covers reversing the software.
<alyssa> I am not a lawyer :)
<Shiz> depends what part you are working on, no?
<wookey> well that's clearly true when writing programs to prod it and see what it does
<wookey> Less so if getting clues what prodding and where from existing code.
<Necrosporus> Did you find out yet how to get OS X boot logs?
<alyssa> like everything good in this world, r/e exists on a spectrum
<Shiz> Necrosporus: good segue
<Shiz> I found a cool nvram entry called `failboot-bread-crumbs`
<Shiz> and some codes in there seem to have valid fourcc values
<Shiz> leading to this chain: pmpf -> dtre -> ibdt -> isys -> csys -> bstc -> trst -> fuos
<Shiz> i wonder what some of those mean
<Shiz> dtre is device tree, trst is trust (presumably)
<Shiz> fuos is the custom kernel mechanism
<alyssa> I can make silly backronyms if you'd like :P
<Shiz> https://www.theiphonewiki.com/wiki/TYPE has some of them actually
<modwizcode> I like that it says pmpf is PMP which is... helpful
<Shiz> seems to be pmp -> device tree -> ??? (iboot device tree?) -> system volume root hash -> base system volume root hash -> ??? -> statictrustcache -> fuOS
<modwizcode> They seem like they're almost in pairs though, I wonder if dtre and ibdt are a pair, then isys and csys, then bstc and drst
<modwizcode> yeah
<Shiz> bstc maybe means base system trust cache
<Shiz> oh it does
<modwizcode> Sounds reasonable
<modwizcode> oh
<Shiz> i just cmd-f'd wrong
<modwizcode> LOL
<modwizcode> I did too
<Shiz> alyssa : ? <-- sorry, mistook you for someone i knew :)
<alyssa> Shiz: I'm bloom on the other computer, just got very distracted and wandered onto irc :p
<Shiz> rgr
alyssa has left #asahi-re [#asahi-re]
bastilian has joined #asahi-re
Tokamak has joined #asahi-re
modwizcode has quit [Quit: Later]
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Shiz> for who needs to hear it, pmp means power management processor
Tokamak has joined #asahi-re
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<davidrysk[m]> ahh hi again :)
Tokamak has joined #asahi-re
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
riatre has joined #asahi-re
Tokamak has joined #asahi-re
<marcan> wookey: just keep in mind that we currently ban writing code while doing binary RE, so if you intend to do the latter you need to document your findings and let someone else write the code
<marcan> (we only have exceptions for a few people; this is for our protection because it is very easy to get this wrong and accidentally infringe copyright, and there is no good way to know that people approach this properly other than preexisting trust)
<marcan> (since ultimately I have to sign off on anything we upstream, I have to have such a rule to be confident in what I'm signing off on)
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_whitelogger has joined #asahi-re
linkmauve has left #asahi-re ["Disconnected: closed"]
mogery has joined #asahi-re
Necrosporus has quit [Read error: Connection reset by peer]
Necrosporus has joined #asahi-re
Tokamak has joined #asahi-re
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mogery has quit [Quit: Leaving]
mogery has joined #asahi-re
mogery has quit [Client Quit]
mogery has joined #asahi-re
jobbe has quit [Quit: Ping timeout (120 seconds)]
jobbe has joined #asahi-re
yrlf has quit [*.net *.split]
dstzd has quit [*.net *.split]
Ziemas has quit [*.net *.split]
fried_dede[m] has quit [*.net *.split]
imobilis has quit [*.net *.split]
Raqbit has quit [*.net *.split]
DragoonAethis has quit [*.net *.split]
os[m] has quit [*.net *.split]
Fanfwe has quit [*.net *.split]
bkero has quit [Remote host closed the connection]
bkero has joined #asahi-re
Fanfwe has joined #asahi-re
fried_dede[m] has joined #asahi-re
Ziemas has joined #asahi-re
DragoonAethis has joined #asahi-re
Raqbit has joined #asahi-re
imobilis has joined #asahi-re
yrlf has joined #asahi-re
os[m] has joined #asahi-re
dstzd has joined #asahi-re
os[m] has quit [Ping timeout: 246 seconds]
emily has quit [Ping timeout: 240 seconds]
tarik02[m] has quit [Ping timeout: 240 seconds]
flokk[m] has quit [Ping timeout: 240 seconds]
rockinrobstar[m] has quit [Ping timeout: 240 seconds]
DrGit[m] has quit [Ping timeout: 240 seconds]
Jasper[m] has quit [Ping timeout: 240 seconds]
fried_dede[m] has quit [Ping timeout: 246 seconds]
davidrysk[m] has quit [Ping timeout: 244 seconds]
hipboi[m] has quit [Ping timeout: 244 seconds]
khronokernel[m] has quit [Ping timeout: 244 seconds]
hwatwasthat[m] has quit [Ping timeout: 244 seconds]
asmon[m] has quit [Ping timeout: 258 seconds]
nufflee[m] has quit [Ping timeout: 258 seconds]
jinen[m] has quit [Ping timeout: 258 seconds]
sumoon[m] has quit [Ping timeout: 258 seconds]
blazra has quit [Ping timeout: 258 seconds]
svenpeter has quit [Ping timeout: 258 seconds]
_alice has quit [Ping timeout: 258 seconds]
xerpi[m] has quit [Ping timeout: 240 seconds]
ah-[m] has quit [Ping timeout: 264 seconds]
konradybcio has quit [Ping timeout: 264 seconds]
nutmanja[m] has quit [Ping timeout: 258 seconds]
brentr123[m] has quit [Ping timeout: 258 seconds]
mellotron1[m] has quit [Ping timeout: 268 seconds]
wolf511[m] has quit [Ping timeout: 268 seconds]
mofux[m] has quit [Ping timeout: 240 seconds]
ts170[m] has quit [Ping timeout: 240 seconds]
shawnj2[m] has quit [Ping timeout: 240 seconds]
fl35[m] has quit [Ping timeout: 240 seconds]
bjornjulander[m] has quit [Ping timeout: 240 seconds]
josiahmendes[m] has quit [Ping timeout: 240 seconds]
bylaws has quit [Ping timeout: 240 seconds]
Bastian[m] has quit [Ping timeout: 240 seconds]
nhlism[m] has quit [Ping timeout: 244 seconds]
hypergenesis[m] has quit [Ping timeout: 244 seconds]
Jamie[m] has quit [Ping timeout: 244 seconds]
thecake21[m] has quit [Ping timeout: 244 seconds]
reispflanze[m] has quit [Ping timeout: 244 seconds]
TellowKrinkle[m] has quit [Ping timeout: 244 seconds]
bastilian has quit [Ping timeout: 240 seconds]
jevinskie[m] has quit [Ping timeout: 240 seconds]
redbluescreen[m] has quit [Ping timeout: 240 seconds]
skillfulman23[m] has quit [Ping timeout: 240 seconds]
ConeOfAttack[m] has quit [Ping timeout: 240 seconds]
winocm has quit [Ping timeout: 240 seconds]
smist08[m] has quit [Ping timeout: 240 seconds]
rootspring[m] has quit [Ping timeout: 240 seconds]
ronyrus[m] has quit [Ping timeout: 240 seconds]
mcnight[m] has quit [Ping timeout: 240 seconds]
enverb[m] has quit [Ping timeout: 240 seconds]
delroth[m] has quit [Ping timeout: 240 seconds]
bakk[m] has quit [Ping timeout: 258 seconds]
jrmuizel[m] has quit [Ping timeout: 268 seconds]
snalty has joined #asahi-re
konradybcio has joined #asahi-re
konradybcio has quit [Ping timeout: 240 seconds]
os[m] has joined #asahi-re
fried_dede[m] has joined #asahi-re
hypergenesis[m] has joined #asahi-re
davidrysk[m] has joined #asahi-re
nufflee[m] has joined #asahi-re
sumoon[m] has joined #asahi-re
svenpeter has joined #asahi-re
asmon[m] has joined #asahi-re
bakk[m] has joined #asahi-re
jinen[m] has joined #asahi-re
blazra has joined #asahi-re
nutmanja[m] has joined #asahi-re
brentr123[m] has joined #asahi-re
hwatwasthat[m] has joined #asahi-re
khronokernel[m] has joined #asahi-re
TellowKrinkle[m] has joined #asahi-re
reispflanze[m] has joined #asahi-re
Jamie[m] has joined #asahi-re
_alice has joined #asahi-re
nhlism[m] has joined #asahi-re
hipboi[m] has joined #asahi-re
thecake21[m] has joined #asahi-re
ts170[m] has joined #asahi-re
rockinrobstar[m] has joined #asahi-re
fl35[m] has joined #asahi-re
bjornjulander[m] has joined #asahi-re
flokk[m] has joined #asahi-re
Bastian[m] has joined #asahi-re
mofux[m] has joined #asahi-re
tarik02[m] has joined #asahi-re
xerpi[m] has joined #asahi-re
shawnj2[m] has joined #asahi-re
DrGit[m] has joined #asahi-re
bylaws has joined #asahi-re
jrmuizel[m] has joined #asahi-re
wolf511[m] has joined #asahi-re
Jasper[m] has joined #asahi-re
mellotron1[m] has joined #asahi-re
emily has joined #asahi-re
rootspring[m] has joined #asahi-re
redbluescreen[m] has joined #asahi-re
ConeOfAttack[m] has joined #asahi-re
skillfulman23[m] has joined #asahi-re
mcnight[m] has joined #asahi-re
ronyrus[m] has joined #asahi-re
enverb[m] has joined #asahi-re
delroth[m] has joined #asahi-re
bastilian has joined #asahi-re
winocm has joined #asahi-re
smist08[m] has joined #asahi-re
jevinskie[m] has joined #asahi-re
ah-[m] has joined #asahi-re
josiahmendes[m] has joined #asahi-re
konradybcio has joined #asahi-re
jamadazi has joined #asahi-re
modwizcode has joined #asahi-re
jix has quit [Ping timeout: 260 seconds]
mogeryy has joined #asahi-re
mogery has quit [Ping timeout: 256 seconds]
Axenntio has joined #asahi-re
<wookey> marcan: Understood (and very sensible). In principle I could do either. Would one or the other be more helpful? My expertise is mostly build systems these days, but I do understand low-level stuff (although my knowledge is somewhat out of date so no doubt they've made everything more complicated whilst I wasn't watching :-)
<marcan> it pretty much depends on what you want to do. maybe stick around and watch for a bit and see if anything strikes your fancy?
<wookey> Fair enough.
<wookey> It seems like the immediate answer to my question is that nothing much is gained by never using the machine (due to not agreeing to the licence) so I might as well have a play with it, which will make it a lot easier to get started.
Axenntio has quit [Quit: Leaving]
<marcan> you cannot actually do anything without agreeing to the license
<marcan> currently, at least
<marcan> you need to use kmutil, which requires credentials for the existing macos partition
<marcan> which requires going through intial setup to establish such credentials
<marcan> shit like that is why they're going to have a horrible time upstreaming anything
<marcan> :-)
<marcan> guess there's no way in hell they get anything submitted this week
<modwizcode> marcan: what's the deal with that patch?
<marcan> modwizcode: it makes core changes to the irq subsystem
<marcan> they're based on some ancient kernel, because they've made no effort to keep up with upstream
<marcan> rebasing after being out of date by so much takes forever
<marcan> we're starting fresh (and we will keep up with upstream) so we won't have to deal with that mess
Tokamak has joined #asahi-re
<modwizcode> Oh that's nasty
<modwizcode> I thought you were talking about the IRQ patch and I was like "idk it makes sense to me to treat IPIs similar to normal interrupts"
snalty has quit [Read error: Connection reset by peer]
linkmauve has joined #asahi-re
suskun has joined #asahi-re
suskun has quit [Ping timeout: 240 seconds]
suskun has joined #asahi-re
<suskun> Offtop question: i wonder does m1 hypervisor support x86 isa?
bkero has joined #asahi-re
bkero has quit [Changing host]
suskun has quit [Ping timeout: 256 seconds]
<marcan> no, how would that work?
<marcan> it's not an x86 CPU
klaus has joined #asahi-re
klaus has quit [Client Quit]
jix has joined #asahi-re
jamadazi has quit [Ping timeout: 260 seconds]
jamadazi has joined #asahi-re
Namidairo has quit [Ping timeout: 260 seconds]
Namidairo has joined #asahi-re
mogeryy has quit [Quit: Leaving]
Namidairo has quit [Ping timeout: 264 seconds]
Namidairo has joined #asahi-re
Tokamak has quit [Ping timeout: 256 seconds]
Tokamak has joined #asahi-re
Tokamak has quit [Ping timeout: 240 seconds]
Tokamak has joined #asahi-re
linkmauve has quit [Ping timeout: 256 seconds]