00:08
Thra11 has quit [Read error: Connection reset by peer]
00:08
Acou_Bass has joined #nixos-aarch64
00:19
v0|d has joined #nixos-aarch64
00:22
Thra11 has joined #nixos-aarch64
00:25
Acou_Bass has joined #nixos-aarch64
00:26
Thra11 has quit [Read error: Connection reset by peer]
00:41
Thra11 has joined #nixos-aarch64
00:46
orivej has quit [Ping timeout: 240 seconds]
01:07
h0m1 has quit [Quit: WeeChat 2.6]
01:10
ris has quit [Ping timeout: 258 seconds]
01:25
ryantrinkle has joined #nixos-aarch64
01:38
ryantrinkle has quit [Ping timeout: 265 seconds]
01:41
ryantrinkle has joined #nixos-aarch64
01:44
ryantrinkle has quit [Ping timeout: 240 seconds]
02:44
<
samueldr >
wow, I greatly underestimated how much logging u-boot's SPL could do
02:44
<
samueldr >
still not at the first line of an error I'm trying to track, and > 3MB log
02:45
<
samueldr >
it's actually not working
02:45
<
samueldr >
it's resetting in loop, that's why
03:14
aminechikhaoui has joined #nixos-aarch64
03:43
Thra11 has quit [Ping timeout: 265 seconds]
03:43
andi- has quit [Remote host closed the connection]
03:50
andi- has joined #nixos-aarch64
03:57
Thra11 has joined #nixos-aarch64
05:46
Thra11 has quit [Ping timeout: 268 seconds]
05:58
Thra11 has joined #nixos-aarch64
06:08
Acou_Bass has quit [Ping timeout: 240 seconds]
06:09
orivej has joined #nixos-aarch64
06:12
zupo has joined #nixos-aarch64
06:14
Acou_Bass has joined #nixos-aarch64
06:31
Acou_Bass has quit [Ping timeout: 245 seconds]
06:31
<
craige >
Good news is it doesn't crash. Bad news is it still has no frame buffer love but it's a promosing position to start from.
06:52
Acou_Bass has joined #nixos-aarch64
07:12
Acou_Bass has quit [Ping timeout: 240 seconds]
07:19
<
craige >
I'm enjoying booting between slots though, with NixOS on slot a and android on slot b
07:42
Acou_Bass has joined #nixos-aarch64
07:46
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
07:47
Thra11 has quit [Ping timeout: 268 seconds]
07:49
tilpner has joined #nixos-aarch64
07:52
zupo has joined #nixos-aarch64
07:59
Acou_Bass has joined #nixos-aarch64
07:59
Thra11 has joined #nixos-aarch64
08:08
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
08:12
zupo has joined #nixos-aarch64
08:18
zupo has quit [Ping timeout: 240 seconds]
08:37
zupo has joined #nixos-aarch64
08:50
zupo_ has joined #nixos-aarch64
08:52
zupo has quit [Ping timeout: 276 seconds]
09:11
zupo_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
10:02
orivej has quit [Ping timeout: 240 seconds]
11:01
h0m1 has joined #nixos-aarch64
11:20
ris has joined #nixos-aarch64
12:31
<
samueldr >
when the kernel will crash, it will switch to the other slot, craige
12:32
<
samueldr >
something to keep in mind
12:40
<
craige >
It never switched was handy but yeah, I'll keep that in mind. It's an interesting new world with these slots.
12:40
Acou_Bass has joined #nixos-aarch64
12:41
<
craige >
As a sidetrack, I got a LineageOS image that works.
12:44
<
samueldr >
though yeah, the switching would also happen if we were trying to use slots A/B as a means for multi-boot
12:44
<
samueldr >
if the kernel was to somehow crash :/
12:44
<
samueldr >
though that must be wrong in some way
12:44
<
samueldr >
what if you update
12:44
<
samueldr >
then two boots later it crashes
12:44
<
samueldr >
... something must be available to flag it as "if it crashes, don't blame a bad slot"
12:58
* samueldr
should look at ebay for pixel 2s
13:03
zupo has joined #nixos-aarch64
13:14
<
clever >
samueldr: that makes me wonder, the kexec crash kernel, could do a nixos rollback
13:14
<
samueldr >
we may not want a rollback on a simple crash
13:14
<
samueldr >
but rather a flag on successful boot
13:15
<
clever >
ive thought of that too with grub
13:15
<
clever >
it has a state file for saved default
13:15
<
samueldr >
in an ehanced generation thingy, `nixos-rebuild switch` would not switch the default, but only set the next (unverified) boot
13:15
<
clever >
so the boot entries can change the default when you trigger them
13:15
<
clever >
and then an activationScript can undo it
13:15
<
samueldr >
and then, once it reaches some target, likely display-manager for desktops, or something else, yeah
13:16
<
clever >
something else ive seen in some mobile devices
13:16
<
clever >
it runs a phone GUI normally
13:16
<
clever >
but if you dock it, it switches to a full desktop GUI
13:16
<
samueldr >
samsung dex
13:16
<
samueldr >
the most well-known implementation
13:16
<
clever >
so, mobile-nixos could swap between something and full-blown xfce, based on a switch
13:17
<
samueldr >
someone clever could implement it if they have the hardware with the right features
13:17
<
samueldr >
main issue is display out
13:17
<
clever >
in my pre-nixos days, i did also play with running several X's at once
13:17
<
samueldr >
which, to be fair, the only real option is eDP out via type-c
13:17
<
samueldr >
and that is not available on most phones
13:17
<
clever >
my kindle fire has mini-hdmi out
13:18
<
clever >
real hdmi, not jumbled in with the usb
13:18
<
samueldr >
I was thinking about new hardware
13:19
<
clever >
also, anoyingly, the kindle fire will route all audio over hdmi if plugged in
13:19
<
clever >
even if your using a dvi adapter to a pc monitor, with no speakers
13:19
<
clever >
so you have a choice between a big screen, or audio :P
13:20
<
clever >
i think the samsung galaxy s3, has hdmi on the usb connector, but its a special connector
13:20
<
clever >
that can also accept regular micro-usb
13:20
<
samueldr >
yeah, MHL I think so
13:20
<
clever >
thats the one
13:20
<
samueldr >
which has different implementations
13:20
<
samueldr >
one has more pins on micro-usb type plug
13:20
<
samueldr >
the other is just a normal micro-usb
13:21
<
clever >
the s3 has extra pins
13:21
<
clever >
clearly visible with a flashlight
13:21
<
clever >
ive also heard about apple's "design" and its problems
13:21
<
clever >
there just isnt enough reconfigurable pins on the lightning jack
13:21
<
clever >
so, they do h264 over usb, lol
13:22
<
clever >
and the dongle to do lightning->hdmi is basically just a raspberry pi
13:22
<
clever >
usb controller, hardware h264 decode, hdmi out
13:22
<
clever >
now you can get h264 compression artifacts on your web-pages when doing hdmi out :P
13:22
<
samueldr >
"just a raspberry pi" is a weird way to say "a full blown arm system that runs darwin"
13:24
<
clever >
if you where to get nixos on an iphone, then you basically dont even need gpu drivers at that point, to use the hdmi out
13:24
<
clever >
you can just generate an h264 stream, and shove it out the usb
13:24
<
samueldr >
I mean, you already could do that right now today with OTB usb devices
13:24
<
samueldr >
IIRC lightning has the same limitations in speed
13:25
<
samueldr >
there's someone who's planned, hopefully started working, on making a usb dongle using an RPI0 as an HDMI out
13:25
<
samueldr >
using gadget mode
13:28
<
clever >
and if you had a reverse lightning adapter, you could connect the apple hdmi adapter to a normal linux pc
14:33
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
15:22
<
t184256 >
I think you've reached the point where streaming h264 over Wi-Fi already makes more sense
15:23
<
samueldr >
wow, look at t184256 the fancy t184256 who's got wi-fi going on their mobile devices
15:35
<
clever >
t184256: now your just a chrome cast :P
15:35
<
t184256 >
note: still saner than that 'cable'
15:36
<
clever >
my tv service is pretty whacky too
15:36
<
clever >
h264 over mpegts over rtp over multicast over 802.1q
15:36
<
clever >
with standard mpegts crypto needing a cam
15:58
<
samueldr >
hmm, refreshing and deepening my search for UART access for the pixel 2
15:58
<
samueldr >
looks like the pixel 3 might be using a suzyq in the end :/
15:59
<
clever >
samueldr: whats that?
16:00
<
samueldr >
but I'm having trouble finding info for the pixel 2 still
16:00
<
samueldr >
now I'm doubting my assumptions
16:03
<
clever >
samueldr: that reminds me, about the x86 usb debug stuff, heard of it?
16:03
<
samueldr >
I think so
16:04
<
clever >
for usb1/2, it was basically just a secondary mode in the usb controller
16:04
<
clever >
for the kernel side, its a dumb protocol like a uart, where you just shove bytes into a fifo and read bytes out
16:04
<
clever >
and then the usb controller deals with the complexity of the usb stack for you
16:04
* samueldr
is pulling his hair out
16:04
<
clever >
but you need a special usb cable to link it to another pc
16:04
<
samueldr >
>> Android Serial Cable or Suzy-Q device
16:09
<
clever >
samueldr: you must have heard about how craige un-bricked the pixel 3 by now? and the fastboot version issues?
16:09
<
samueldr >
I think so yeah
16:10
<
samueldr >
peeps at #grapheneos were quick to link to this
16:12
<
samueldr >
I have no idea why this page never was in the search results
16:12
<
samueldr >
I searched
*so many* of the words in that page
16:16
<
samueldr >
it's just missing from the indexes of google, duckduckgo and bing
16:16
<
samueldr >
seriously getting tired of search engines not finding anything
16:16
<
clever >
samueldr: i remember the altavista and netscape navigator days, lol
16:18
<
clever >
samueldr: and related to what i'm doing in #nixos-dev, i was just thinking, for platforms like the rpi, you could hijack another core to implement a gdb server....
16:18
<
clever >
wait, that gives me another idea.....
16:18
<
clever >
samueldr: how complex would it be, to boot linux on a multi-core arm, and tell it "no touchy" for a certain arm core?
16:18
<
samueldr >
not sure it would strictly by no touchy
16:18
<
samueldr >
but there's a kernel param for that IIRC
16:18
<
samueldr >
and even runtime stuff for that
16:19
<
clever >
and what if you then ran some custom code on that core, that hijacks the usb interface, and runs a gdb server
16:19
<
clever >
so you could then read all ram, and pause execution of any core...
16:20
<
samueldr >
no idea how feasible it can be
16:24
<
samueldr >
oh, the cable can even be bought fully assembled and soldered
16:25
<
samueldr >
oh, not fully assembled, just a part of the assembly is assembled
16:27
<
samueldr >
specially pinging you since you're currently the one needing it the most :)
16:29
<
samueldr >
oh, I didn't realize, though this is neat
16:29
<
samueldr >
pixel devices apparently allow locking with a custom verified boot key
16:30
<
clever >
that sounds nice
16:30
<
clever >
i noticed that when unlocked, it has a 15 second warning/nag on every bootup
16:30
<
samueldr >
in theory should remove the nasty scary messages at boot
16:30
<
clever >
so you dont get exploited by a supply chain attack
16:31
<
samueldr >
some details about that
16:33
<
clever >
`toggle on the 'Enable OEM unlocking' setting. This requires internet access on devices with Google Play Services as part of Factory Reset Protection (FRP) for anti-theft protection`
16:33
<
clever >
craige: ahhh, i think its less about android being up to date, and more about the device phoning home, to ensure its not flagged as stolen
16:34
<
samueldr >
entirely makes sense too
16:34
<
samueldr >
(in an annoying way)
16:34
<
clever >
ive also heard horror stories about people doing a factory reset, then selling the phone
16:34
<
clever >
only for the buyer to discover, they need the google pw of the original owner, to finish the reinstall
16:36
<
samueldr >
FRP (and iCloud lock) are annoying
16:37
<
samueldr >
but at the same time, in our society, a necessity
16:37
<
samueldr >
reduces the value of stolen goods
16:37
<
clever >
samueldr: enless the ./flash-all.sh is updating the public keys for the trust root, i'm not sure what lock/unlock is doing, it seems to just be a boolean flag?
16:38
<
samueldr >
yeah, and it is also erasing the storage at the same time
16:38
<
samueldr >
so when you lock/unlock you lose the data
16:38
<
clever >
i think the `fastboot flashing unlock` already erases the data partition
16:41
<
clever >
samueldr: one area that needs careful research, is how does android pass the "enable oem unlocking" on to the bootloader?
16:41
<
clever >
samueldr: it would be interesting to toggle that from nixos too, but if you mess up, you might get it stuck into a state where you cant unlock and cant flash? or would it still accept flashing signed images??
16:41
<
clever >
and signed by who??
16:44
<
samueldr >
yeah, you're right, that this needs to be investigated
16:44
<
samueldr >
I was thinking about that
16:45
<
samueldr >
okay, so going from that docs for the UART cable, I have everything on hand, and it's going to be trivial to implement
16:45
<
clever >
i assume the fastboot source must be on a public google repo?
16:45
<
samueldr >
pixel 2 ordered... should arrive by the 7th
16:45
<
samueldr >
clever: search for ABL on codeaurora
16:46
<
samueldr >
wait until I give you this URL
16:46
<
samueldr >
ABL is the "new" android bootloader
16:46
<
samueldr >
for qualcomm devices based on XBL, which is Qualcomm's UEFI
16:47
<
samueldr >
though, as you can see, ABL is based on EDK2, so strongly suggests XBL is too
16:48
<
clever >
crazy idea, what would it take to port ABL to the rpi? or to emulate ABL in qemu? for testing purposes
16:48
<
samueldr >
clever: likely not much, considering EDK2 / TianoCore already is ported to it
16:48
<
samueldr >
well, rpi3
16:48
<
samueldr >
well, same for QEMU
16:49
<
samueldr >
though, not sure about all that
16:49
<
samueldr >
wondering if the android emulators (from the SDK) use a full boot or boot the kernels / systems directly
16:50
<
clever >
in the old days (before i got into android), the "emulators" where much more like the ios simulator
16:50
<
clever >
it was just an x86 dalvik interpreter, that used normal gui libraries to render to a "screen" (aka, a window)
16:50
<
samueldr >
I don't remember them being that way ever
16:50
<
clever >
thats how old it was :P
16:51
<
clever >
they switched over to running full linux+android in qemu
16:51
<
samueldr >
and I'm speaking about 2.0 era memories
16:51
<
clever >
ive only heard rumors of that method, and never actually seen it
16:53
<
clever >
the ios simulator is similar, its x86 libraries, that implement the same api as ios, and you can compile your ios app to run under x86 darwin
16:53
<
samueldr >
yeah, the iOS simulator is that
16:53
<
clever >
and at that point, its just a "normal" darwin app that uses a weird gui framework
16:53
<
samueldr >
and there's no real emulator
16:53
<
samueldr >
so you end up with weirdness for fancy stuff
16:54
<
clever >
the old android simulator just saves you from having to make 2 compiles, by having dalvik be a middle-man that the target already ran
16:59
ryantrinkle has joined #nixos-aarch64
16:59
<
samueldr >
as you can see, same person than on my last link :)
17:00
<
samueldr >
that's also the person that started the postmarketOS port for the Pixel 3
17:10
<
clever >
samueldr: oh yeah, and i still want to see an xnu based nixos
17:11
<
clever >
samueldr: xnu is open-source, how hard can it be to boot something nix generated, that is fully open source?
17:11
<
samueldr >
puredarwin might be a thing to look at
17:12
<
samueldr >
though it looks like parts of it have been closed down a bit more
17:24
orivej has joined #nixos-aarch64
17:32
orivej has quit [Ping timeout: 240 seconds]
18:00
Thra11 has quit [Ping timeout: 240 seconds]
18:14
Thra11 has joined #nixos-aarch64
18:22
t184256 has left #nixos-aarch64 ["Disconnected: Replaced by new connection"]
18:22
t184256 has joined #nixos-aarch64
19:24
gchristensen has quit [Quit: WeeChat 2.4]
19:24
{^_^} has quit [Remote host closed the connection]
19:26
gchristensen has joined #nixos-aarch64
19:26
{^_^} has joined #nixos-aarch64
19:58
t184256 has left #nixos-aarch64 ["Disconnected: Replaced by new connection"]
19:58
t184256 has joined #nixos-aarch64
22:13
orivej has joined #nixos-aarch64
22:32
<
samueldr >
apparently network boot has been added in a recent update to the rpi4
22:32
<
samueldr >
(as expected)
22:32
<
samueldr >
they did say it was coming
22:32
* samueldr
is looking for upstream docs and confirmation
22:32
<
samueldr >
well... downstream
22:33
<
samueldr >
that's not it
22:34
<
samueldr >
2019-09-23
22:35
<
samueldr >
love how the docs still say network boot is coming soon
22:36
<
samueldr >
so apparently this also reduces the needed power consumption
22:36
<
samueldr >
so can be used from a usb port
22:36
<
samueldr >
and thus useful as a usb gadget
22:47
orivej has quit [Ping timeout: 264 seconds]
23:05
Thra11 has quit [Ping timeout: 268 seconds]
23:15
<
clever >
samueldr: nice
23:16
<
samueldr >
nothing new, really, considering other raspis could do that
23:16
<
samueldr >
but really nice nontheless to get the four onboard
23:16
<
clever >
the config is likely going to be better too
23:16
<
samueldr >
in theory, with the previously mentioned display thingy, and the two hdmi 4k outputs
23:16
<
clever >
previously, it was enabled with a fuse
23:17
<
samueldr >
you could maybe get an (usb 2.0) display
23:17
<
clever >
and now that they have spi flash, fixing bugs should also be better
23:17
<
samueldr >
well, two displays
23:17
<
samueldr >
clever: yeah, that's how it happens
23:17
<
samueldr >
though annoying they put such a small spi flash
23:17
<
samueldr >
so no way to put u-boot or tianocore in there
23:17
<
samueldr >
speaking of
23:17
<
samueldr >
tianocore does already work
23:17
<
samueldr >
but no usb out of the type-a ports
23:17
<
clever >
also, i have the vc4 toolchain working in nixpkgs
23:18
<
samueldr >
yeah, saw the chatter in #nixos-dev
23:18
<
samueldr >
that's nice
23:18
Thra11 has joined #nixos-aarch64
23:18
<
clever >
currently, its stick at 9000 baud
23:18
<
samueldr >
now, write us some good vc4 widgets and watnots
23:18
<
clever >
how big is a typical uboot?
23:18
<
samueldr >
several hundred kilobytes AFAICT
23:19
<
clever >
the spi chip is 512kbyte
23:19
<
clever >
and an old bootcode.bin is ~52kb
23:19
<
samueldr >
ah, was about to say "but it still has to host the boot code"
23:19
<
samueldr >
not sure about the new one
23:19
<
clever >
-rw-r--r-- 1 clever users 2.8M Nov 2 18:04 /home/clever/apps/rpi/firmware/boot/start.elf
23:19
<
clever >
this is your biggest problem
23:20
<
clever >
under the broadcom firmware, you must load start.elf before linux
23:20
<
samueldr >
anyways, the raspberry pi foundation skimping again
23:20
tilpner has quit [Quit: tilpner]
23:20
<
samueldr >
(though I don't know for sure, maybe there are other reasons it wouldn't work)
23:22
<
clever >
oh, thats a whole new github repo for the spi flash
23:23
<
clever >
modprobe spidev
23:23
<
clever >
modprobe spi-bcm2835
23:23
<
clever >
looks like they are using the standard spi interface in linux to talk to it
23:23
<
clever >
flashrom -p "linux_spi:dev=/dev/spidev0.0,spispeed=${SPI_SPEED}" -w "${TMP_EEPROM_IMAGE}" || die "flashrom EEPROM update failed"
23:23
<
clever >
nice!, plain old flashrom!
23:23
<
clever >
so you can also use that to dump the current spi flash
23:23
<
samueldr >
nice, now give us enough space for a u-boot :3
23:23
<
clever >
in theory, you can just replace the chip with a bigger one
23:23
<
clever >
and use recovery.bin to make it bootable again
23:25
<
clever >
oh, interesting, what is vl805.....
23:25
<
samueldr >
the usb 3 chip
23:25
<
clever >
it has its own firmware
23:25
<
clever >
how big is that? .....
23:25
<
samueldr >
don't know
23:26
<
clever >
the official image is 94kb
23:29
<
clever >
[clever@amd-nixos:~/apps/rpi/rpi-eeprom]$ ./vl805 --help
23:29
<
clever >
bash: ./vl805: cannot execute binary file: Exec format error
23:29
<
clever >
samueldr: now what? lol
23:29
<
clever >
oh wait, duh
23:29
<
clever >
its an arm binary! lol
23:29
<
samueldr >
clever@_amd_-nixos
23:30
<
samueldr >
you're even reminded of that!
23:30
<
clever >
i saw static and thought all nixos related issues would be gone
23:30
<
clever >
and didnt think of the arch :P
23:44
<
clever >
samueldr: looks like the VC4 is heavily vector based like i heard before
23:44
<
clever >
samueldr: it has an 64x64 2d matrix, of 8bit cells, that can be operated on as 8bit 16bit or 32bit values, and a single opcode can operate on 16 values at once, in either a row or column
23:45
<
clever >
samueldr: and it can repeat that opcode up to 64 times
23:45
<
samueldr >
hm, no idea what to make of that :)
23:45
<
clever >
samueldr: its heavily geared towards repeating a math operation on an array of data in bulk
23:45
<
samueldr >
like, gpu stuff I guess?
23:46
<
samueldr >
or even Video stuff
23:46
<
clever >
less 3d stuff, and more general graphics and maybe video decode
23:46
<
samueldr >
most probably video decode
23:46
<
samueldr >
considering its original purpose
23:46
<
clever >
ive heard that it also has hardware decode
23:47
<
clever >
so i'm not sure how much is implemented in vc4 vector ops, and how much is in actual hardware