NiXium-org / NiXium

Open-Source Infrastructure as Code Management Solution for Multiple Systems designed to be reliable in mission-critical tasks on paranoid and high-security environment.
European Union Public License 1.2
17 stars 3 forks source link

Add WildBeast (Nokia N900 + Mods) #119

Open Kreyren opened 1 month ago

Kreyren commented 1 month ago

Tracking to figure out how to make a NiXium derivation and it's deployment method on The Nokia's Wildest Linux Smartphone, Nokia N900.2

GIF made out of YouTube video N900 Transformers by @DaVinci57

Phase 1: Get at least barely functional nix derivation for the device Phase 2: Perfect it Phase 3: Hardening

TODO


NiXium Role: Personal Device of @Kreyren

Bootloader Management

TBD

Seems that the support was dropped

https://github.com/ARM-software/u-boot/tree/master/board/nokia/rx51

It seems that for u-boot it's using config omap3-n900.dts.3

File System Management

Standard Nixpkgs file hierarchy for armv7-linux?

Kernel

PostMarketOS claims that the device runs on Mainline1, but they lack the PowerVR GPU Support patches used in Maemo-Leste (devuan distribution)5.1.

The kernel repository is for legacy reasons called droid4-linux, but contains patches for RX-51 as well.5.2

Source code: https://github.com/maemo-leste/droid4-linux where the branch maemo-6.1.y is the current stable branch5.3 where maemo-6.6.y should be ready to go and used.

Firmware

Packaged into blobs for GPU otherwise provided in mainline linux

Deployment on the device

0xFFFF is used to perform the flashing and interact with the builtin protocols

Misc

Display uses resolution 800x480.4, wallpapers for maemo are 800x(4*480) -> 800x1920

PostMarketOS recommends 1024 MB SWAP.4

DTB is called omap3-n900.4

Keymaps will likely have to be declared separately.4 4.1

Pali, the creator of 0xFFFF and maintainer of u-boot images for the Nokia N900 rage-quitted from Open-Source development a while ago.5.4

Strategy

  1. Package Relevant U-Boot package in Nixpkgs
  2. Figure out how to install Minimal NixOS on the device
  3. Manage the kernel either through configuration or package it
  4. tbd

  1. PostMarketOS Wiki - Nokia N900
  2. YouTube Video - Taming the Nokia's Wildest Linux Smartphone
  3. Config file for Omap3-N900 at Upstream U-Boot
  4. Source code implementing the device support in PostMarketOS 4.1. Keymap mapping for the keyboard in PostMarketOS
  5. Chat in IRC Libera.chat with maemo-leste community 5.1. Info about needed kernel patch for PowerVR GPU 5.2. Kernel repository is called droid4-linux, but contains patches for n900 as well 5.3. maemo-6.1.y claimed to be the current stable branch 5.4. pali rage-quitted from Open-Source development
Kreyren commented 1 month ago

Relevant: https://github.com/NixOS/nixpkgs/pull/326677 and https://github.com/NixOS/nixpkgs/issues/326214#issuecomment-2226551947 for playing old cellphone games on the device.

Kreyren commented 1 month ago

Relevant: Packaging of Maemo Leste on NixOS https://github.com/NixOS/nixpkgs/issues/328952