Just got a Kobo Touch (905C), and after manually updating it, I found this file and holy shit kobo <3
@krutonium ahhh ebook reader

@fuchsiii Ye, and this is an OOOOLD one. No Back or Frontlight, so you need to be in light to use it. I will say in terms of Firmware it is alarmingly (this is refreshing) easy to mess with.

When you unplug it from a computer, it will literally check for a KoboRoot.tgz file and, without any checksums, or signatures, apply that to the devices root. You can thus use this to patch any file on the entire filesystem any way you wish. Official firmware updates are just that except they include every file, which does unmod your device, but it's incredibly flexable.

You have root, and you can do with it what you please! Apparently if you brick it, you can even recover it by putting said file on an SDCard and it'll flash from that, so as long as you don't fuck around with partitions, you're solid.

(Apparently you can also just boot from the SD Card as well)

@fuchsiii Addendum: It just runs a trimmed down Linux. You can edit the init to run your own scripts. You can run binaries compiled for like, Ubuntu. Yes, it is that easy.
@krutonium that actually sounds like a very fun toy ;)

@fuchsiii in fact this seems simple enough to get @OS1337 ported onto.

@krutonium can you get me some system specs? Ideally a full lshw rundown but for the most part just the built-in hardware (SoC, RAM, WiFi, Storage, ...) would be fine.

Krutonium:// (@krutonium@treehouse.systems)

@fuchsiii@oxytodon.com Ye, and this is an OOOOLD one. No Back or Frontlight, so you need to be in light to use it. I will say in terms of Firmware it is *alarmingly* (this is refreshing) easy to mess with. When you unplug it from a computer, it will literally check for a KoboRoot.tgz file and, without any checksums, or signatures, apply that to the devices root. You can thus use this to patch any file on the entire filesystem any way you wish. Official firmware updates are just that except they include every file, which does unmod your device, but it's *incredibly* flexable. You have root, and you can do with it what you please! Apparently if you brick it, you can even recover it by putting said file on an SDCard and it'll flash from that, so as long as you don't fuck around with partitions, you're solid. (Apparently you can also just *boot* from the SD Card as well)

Treehouse Mastodon
@fuchsiii @krutonium Cuz I can then put it on the architectures wishlist for @OS1337 ...
OS1337/docu/ideas/architectures.tsv at main · OS-1337/OS1337

OS/1337 Project . Contribute to OS-1337/OS1337 development by creating an account on GitHub.

GitHub
@kkarhan @fuchsiii @OS1337 I'll see what I can do 👍

@krutonium @fuchsiii thx m8.

Personally I think @OS1337 with like a bluetooth / USB - connected keyboard would be a good fit for such a screen.

E-Ink for Productivity: An Introduction

YouTube

@kkarhan @fuchsiii @OS1337 @TechConnectify I don't think it has bluetooth, but it does have Wifi. The Network Stack on it seems to choke on my Wifi Network; which is odd. It can't find my Gateway from what I can tell, but no other device has this issue. I'm also not sure that it has OTG on the USB port so a physical keyboard might not be possible.

(The device itself doesn't give basically any information on what the issue is unless you SSH in)

@krutonium @fuchsiii @TechConnectify I mean, that would make it even more interesting to put @OS1337 on, because then one merely setups's some */etc/init` file and just let it display some stuff.

  • Worst case I'd put #dropbear on it and merely run like cat and/or tail on it and let it display like a text file (either on a #microSD or remotely)...

If it has like a microSD slot, then that would be preferable.

@kkarhan @fuchsiii @TechConnectify @OS1337 It does! Apparently the slightly older versions of it had internal MicroSD slots, this one just has it hanging out on the left side.

@krutonium @fuchsiii @TechConnectify So I guess ideally one were to find a method to make it boot the #microSD and chug @OS1337 on it for ease of testing.

But if this is your device and it literally has like microSD pads onboard then it'll be even easier to just drop in a minimalist Linux like _OS/1337...

#OS1337

Kobo Touch N905C Weiß, gut erhalten, 6 Zoll, 2GB | eBay.de

Kobo Touch N905C Weiß, gut erhalten, 6 Zoll, 2GB Ladekabel nicht enthalten Verpackungsregister Registrierungsnummer DE5121524480803 Die Benutzung der Warenzeichen dient lediglich zur eindeutigen Identifikation der Ware und soll keine Verletzung der Schutzrechte darstellen. Nicht für Kinder unter drei Jahren geeignet. Hinweise zur Batterieentsorgung: Im Zusammenhang mit dem Vertrieb von Batterien oder mit der Lieferung von Geräten, die Batterien enthalten, sind wir verpflichtet, Sie auf folgendes hinzuweisen: Sie sind zur Rückgabe gebrauchter Batterien als Endnutzer gesetzlich verpflichtet. Das Symbol der durchgekreuzten Mülltonne bedeutet, dass die Batterie nicht in den Hausmüll gegeben werden darf.

eBay.de

@kkarhan @fuchsiii @TechConnectify @OS1337 That looks like the one; and it straight up has a slot on the left side of the device, not pictured there. 2GB of Onboard Storage, 1GB of user usable space, 1GB of RAM.

[root@kobo ~]# ls /bin
antiword cp dosfsck getfacl ip lsattr netstat recode-sr-latin stat uname
ash cpio dumpkmap getfattr ipaddr lzop ngettext rev stty uncompress
attr cttyhack echo getopt ipcalc md5sum nice rm su unrtf
autopoint date ed gobject-query iplink memtool ntpd rmdir sync usleep
base64 dbus-cleanup-sockets egrep grep iproute mkdir ntx_hwconfig rtctest.out sz vcom_store
busybox dbus-daemon envsubst gunzip iprule mkdosfs ocotp_test run-parts tar vi
cat dbus-launch epd_ctrl gzip iptunnel mknod pidof rz touch watch
catv dbus-monitor epdc_test hostname jpegtran mktemp ping scriptreplay touch_simulate wlarm_le
chacl dbus-send evdev-dump hush kill more ping6 sed true wlfmac1.28_arm
chattr dbus-uuidgen evtest i2cget kobo_config.sh mount pipe_progress setarch ts_calibrate wpa_cli
chgrp dd false i2cset linux32 mountpoint printenv setfacl ts_harvest wpa_passphrase
chmod df fdflush iconv linux64 mpstat ps setfattr ts_print wpa_supplicant
chown djpeg fgrep ioctl ln msh pwd setserial ts_print_raw wrjpgcom
cjpeg dmesg fsync ionice login mt qqwing sh ts_test xmlwf
conspy dnsdomainname get_input_key iostat ls mv rdjpgcom sleep umount zcat

Here's an ls of the /bin directory

@krutonium that should be ample of resources for @OS1337 to work on.

  • I'm shure they merely took some random #BusyBox version and just cut out most functionality of it.

I'd not be surprised if the #SoC in it could run #toybox if you chug it onto it...

https://landley.net/bin/toybox/latest/

Index of /bin/toybox/latest

@kkarhan @OS1337 Current trick is finding the correct CPU arch
@kkarhan @OS1337 armv5l seems to work at least.

@krutonium @OS1337 as I guessed, cuz I'd not expect them to have put anything more powerful than a #Pi0W in it.

  • The "huge" amounts of #RAM propably only exist to allow loading entire #eBooks and #Graphics into it and reduce #SD access...
Kevin Karhan :verified: (@kkarhan@infosec.space)

@krutonium@treehouse.systems @OS1337 yeah... I guess you'll likely have to see if there's a #teardown of it or carefully look inside of it. - I'd assume some cheapo #ARMv5 or similar...

Infosec.Space
@kkarhan @OS1337 I mean in absolute fairness I own an eeepc from 2012 that came with 1GB of RAM so
@kkarhan @OS1337 Currently trying to work out if I can get a statically built copy of lshw for armv5
@kkarhan @OS1337 armv7l binary worked as well
@kkarhan @OS1337 I'm currently cross-compiling lshw
@kkarhan @OS1337 I feel like this might be faster if I was at my Ryzen 5800X3D box instead of my Intel 4720HQ laptop lol

@krutonium @OS1337 yeah....

Guess why @fuchsiii has a 7950X at her disposal: To compile #wine faster...

@kkarhan @OS1337 @fuchsiii Good news is if I have to build it again, I have a flake I can just yeet to a bigger box.

@kkarhan @OS1337 @fuchsiii https://gist.github.com/Krutonium/0538999e08fffef34b8e075f7de6e7f0

(Had to edit it to fix a mistake, builds a functional lshw now though!)

flake.lock

GitHub Gist: instantly share code, notes, and snippets.

Gist
@kkarhan @OS1337 @fuchsiii So according to this, a lot of the common specs posted online about it are actually wrong! Only 256MB of RAM, and 4GB of Storage.
GitHub - Krutonium/StaticBinariesForKobo: A Flake that builds static binaries suitable for running on a Kobo eBook Reader.

A Flake that builds static binaries suitable for running on a Kobo eBook Reader. - Krutonium/StaticBinariesForKobo

GitHub
@kkarhan @OS1337 My Kobo has a more recent build of Nano than my Laptop. Lmao.
@kkarhan @OS1337 Oh yeah thing I noticed; if you don't apply them as an "update" the system will undo any changes you make to the root filesystem when you reboot as well. At least, the ones I tried.

@krutonium interesting, so it's a semi-persistent method.

Still, having #RCE level access means one can build @OS1337 and propably shove that over as root filesystem…

Problem is rather to have the full hardware specs and potential (non-mainline) drivers loaded

@kkarhan @OS1337 I did link the lshw results earlier; and the OS comes with a chroot binary already.

uname -r is 2.6.35.3-850-gbc67621+
and the loaded kernel modules are

dhd 137565 0 - Live 0x7f0d4000
sdio_wifi_pwr 490 0 - Live 0x7f0ce000
lowmem 936 0 - Live 0x7f000000 (P)

@krutonium @OS1337 owo!

Now one needs to figure out the boot process and how to make it go brrr...

@kkarhan @OS1337 I did some quick searching, dhd is an open source wifi driver, sdio_wifi_pwr is, lets be honest, probably exactly what it says on the tin, and lowmem... Not sure but I doubt it's strictly required.

So given the relative lack of extra modules, I'd gamble that a modern kernel might just... work.

@krutonium @OS1337 so the only trick is to give it a different kernel & initramfs at boot...

  • Nifty...

I assume they never updated the Kernel since release cuz they never had any reason to.

  • This ain't a Desktop or something where they process credit card details or other private info on.
@kkarhan @OS1337 ...Technically you're right, but it does have a store through which you can purchase books from them.

@krutonium @OS1337 yes, but you don't setup like payment on the device itself.

  • It does link to your account but besides like a device-token to authenticate it for an account nothing's stored on them. No payment details nor anything...

@krutonium Still thanks for your writeup.

The trick getting @OS1337 to be useable on it would likely be just a #uBoot config & drivers to spit out the terminal on the #eInk screen.

  • Problem may just be to get a keyboard connected if it doesn't support #USB - #OTG and an accompaining USB-Hub.

Reminds me of @landley 's words re: #Android development that some impoverished person should be able to develop their apps with anything they can get get Android to boot spit out a screen and accept inputs from a keyboard and maybe mouse.

#OS1337

Krutonium:// (@krutonium@treehouse.systems)

@kkarhan@infosec.space @OS1337@infosec.space @fuchsiii@oxytodon.com https://github.com/Krutonium/StaticBinariesForKobo

Treehouse Mastodon

@krutonium @landley I mean, Ideally @OS1337 would be come a simpler and better alternative to #LinuxFromScratch or #YoctoLinux / #YoctoProject when it comes to getting started on a device.

Cuz #RaspberryPi de-facto monopolized non-#amd64 / non-#ix86 - #SBCs because they actually give a shit and publish #documentation!

  • So whilst they certainly don't support other OSes than #RaspberryPiOS, they don't just tell folks like @geerlingguy to not pester them with questions in their Forums.
@krutonium @OS1337 So yeah, I'd propably put that #eBookReader on the Architecture Wishlist since it should have enough juice to be at least useable as an #SSH #Terminal...
OS1337/docu/ideas/architectures.tsv at main · OS-1337/OS1337

OS/1337 Project . Contribute to OS-1337/OS1337 development by creating an account on GitHub.

GitHub

@kkarhan @krutonium @OS1337 @geerlingguy Arnd Bergman is lobbying to remove all 32 bit support. (He works for arm and 32-bit arm is going out of patent.)

If he succeeds, or they make it so you can't build a usable Linux kernel without rust, I will be doing another "stay on the last GPLv2 release" thing and either retire or start caring about BSD or something.

(Seriously, the Aldi's down the street is hiring. My commute would be like 2000 steps and I'd get cardio and maybe even dental.)

@landley @kkarhan @OS1337 @geerlingguy Is there no way to compile Rust targeting 32 bit?

@krutonium @landley @geerlingguy IDK but I also didn't knew that #32bit #ARM (i.e. #AMRv5r11 as used by the #RaspberryPi #Pi0 / #Pi0W) is out of patent protection...

Killing non-#64bit support in Linux would be a death sentence for many #EmbeddedSystems.

Rob Landley (@landley@mstdn.jp)

@kkarhan@infosec.space @krutonium@treehouse.systems @OS1337@infosec.space @geerlingguy@mastodon.social Arnd Bergman is lobbying to remove all 32 bit support. (He works for arm and 32-bit arm is going out of patent.) If he succeeds, or they make it so you can't build a usable Linux kernel without rust, I will be doing another "stay on the last GPLv2 release" thing and either retire or start caring about BSD or something. (Seriously, the Aldi's down the street is hiring. My commute would be like 2000 steps and I'd get cardio and maybe even dental.)

mstdn.jp

@kkarhan @krutonium @geerlingguy @OS1337 Patent expiration is progressive: armv3 expired decades ago:
https://www.cnn.com/2001/TECH/ptech/07/03/open.source.processor.idg/index.html

In textbooks by 2016:
https://github.com/nxbyte/ARM-LEGv8

Last 32 bit arm architecture (armv7) was 2005, patents last 20 years:

https://community.arm.com/arm-community-blogs/b/embedded-and-microcontrollers-blog/posts/armv7-a---power-to-the-people

(There is a 32 bit variant of armv8, like https://en.wikipedia.org/wiki/X32_ABI but I can never remember what the arm version is called. The point is the last 32 bit architecture's patents are expiring so it can now have generic clones.)

CNN.com - Chinese student designs open-source ARM processor - July 3, 2001

First came open-source software, like FreeBSD, Apache and Linux. Now, a Chinese graduate student is hoping to generate support for the development of open-source hardware with the release of an open-source microprocessor core design.

@landley @krutonium which,I think is good longterm because it allows for cheaper low-end devices that sip less power for @OS1337 compared to #i486 (like #Vortex86 as used for the #tiny486 board among many more, like @rasteri 's #WeeCee)...

@landley Right now I'm glad @krutonium made sufficient efforts to enable said #eBookReader to be feasibly target-able for @OS1337.

Yes, I'm still mad about #PixelQi getting acquired.by #3M and ceasing to offer their cool screens and yes I still want that PixelQi-swapped #IdeaPad-#Netbook

  • Why can't we have nice things?
E-Ink for Productivity: An Introduction

YouTube

@krutonium @kkarhan @OS1337 @geerlingguy Language domain crossings in ring zero is a terrible idea (they're not even at modules!), I've never met a rust evangelist who wasn't an asshole, and have yet to hear an argument for rust other than "I don't like C++ and don't know the difference between that and C".

I'll happily learn go, swift, zig, oberon etc for userspace. But rewriting only _part_ of the kernel in a second language is insane. (Do a rust kernel. You're not _owed_ existing projects.)

@krutonium @kkarhan @OS1337 @geerlingguy Current 32 bit kernels are rusting badly, those were two separate objections.
@landley @krutonium @OS1337 @geerlingguy I think that's more of a "skill issue" by Rust developers.

@landley @krutonium @OS1337 @geerlingguy sadly your experience re: #Rust isn't unique and I think a lot of said evangelists really sour the languague for so many…

I do think that #Linux's main design philosophy (clean, readable #C code) should've been kept stronger as it enables easier #maintenance.

  • Noone prevents i.e. a "#Freax"-Kernel that reimplements Linux's #ABI|s and #API|s from being made.

@kkarhan @krutonium @OS1337 @geerlingguy @AsahiLinux There are 4 base packages in a self-hosting development environment: kernel, compiler, libc, cmdline.

If the rust guys do their own, in pure rust with no other language in any of those 4, I may start to care.

I have explained why MANY TIMES, most explicitly http://lists.landley.net/pipermail/toybox-landley.net/2020-July/011898.html

They are instead moving us farther AWAY. Now to fully understand/audit linux you need to examine how two toolchains interact, plus added glue layers.

[Toybox] Countering trusting trust.

@landley @OS1337 yeah, I see the problem...
@landley @krutonium @geerlingguy IDK about #ALDI your area but here they pay >€2/hr above minimum wage and have 6 weeks PTO annually + paid overtime balancing.

@kkarhan @krutonium @geerlingguy Oh they pay well over twice minimum wage here, but minimum wage in the USA is essentially meaningless. It was last adjusted 18 years ago, and accounting for inflation is half what it was back in 1968. (The Boomers are not dying fast enough.)

https://en.wikipedia.org/wiki/Minimum_wage_in_the_United_States

It's not really about the money. I want to do something other people find useful, preferably without going into debt doing it.

https://en.wikipedia.org/wiki/Bullshit_Jobs

Minimum wage in the United States - Wikipedia

@landley @krutonium @geerlingguy welcome to the club...

  • I just want to make the world a better place!

Money is rather a tool to make things work and ends meet.

@kkarhan @krutonium @geerlingguy This is one of those well known things capitalism finds inconvenient and tries hard to bury:

https://www.youtube.com/watch?v=u6XAPnuFjJc

(Back when I maintained https://kernel.org/doc that was in the "videos worth watching" section, but alas they removed it since I lost access, presumably because the Linux Foundation seems horrified by the very concept of hobbyists. Still in my old https://landley.net/kdocs mirror though.)

RSA ANIMATE: Drive: The surprising truth about what motivates us

YouTube

@landley @krutonium Yeah, @linuxfoundation also dis some #shitshow re: #privacy by copying #GAFAM - #Propraganda saying '#privacy is bad' and shilling "#AI" which is a #scam ...

  • Really makes me annoying...
The Linux Foundation (@linuxfoundation@social.lfx.dev)

Attached: 1 image Data privacy rules like GDPR are fueling a climate of risk aversion, slowing open data progress. See how to break barriers in the Pathways to Open Data report: https://www.linuxfoundation.org/research/pathways-to-open-data #OpenData #DataPrivacy #LinuxFoundationResearch

social.lfx.dev
Add Took Touch 905C by Krutonium · Pull Request #23 · OS-1337/OS1337

This device shouldn't actually be too hard to get working; The firmware files are available from Nook themselves, and the whole system can be updated using an unsigned archive.

GitHub