Tips and tricks
When postmarketOS is reinstalled, a new ssh host key will be generated. Your SSH client will detect this, and refuse to connect, requiring you to run
ssh-keygen -R 172.16.42.1 each time a new host key is generated.
To disable this check, and to allow you to connect by running
ssh postmarketos, add the following to your
Host postmarketos HostName 172.16.42.1 StrictHostKeyChecking no UserKnownHostsFile=/dev/null
SSH with Suckless Terminal
When you ssh into postmarktetos using the suckless terminal (st) on your host, you will get errors with vim:
E558: Terminal entry not found in terminfo 'st' not known. Available builtin terminals are: builtin_amiga
Furthermore, gpg will refuse to decrypt files and return the following error:
gpg: public key decryption failed: Required environment variable not set gpg: decryption failed: No secret key
To fix, simply add
export TERM=xterm to your
~/.profile file on your postmarketos phone.
Some interesting ideas
Here are some interesting ideas that you can do with your device with postmarketOS
- Use it as a mini retro handheld gaming device. As there are many good retro emulator that ccan make your device one great gaming device.
- Use it as a mini penetration testing device. As postmarketOS is a pure linux os, you can run Wireshark and other penetration testing software with it.
- You can run full Desktop Environment, with Inkscape, GIMP and full desktop browser(not mobile version) with extension in your device, .
Using x11vnc, which is in the Alpine repos. You need a running X server (e.g. running XFCE), then you just run x11vnc on the device in a terminal/tty and connect to it. From there, you can manipulate the previously running X server. You might need to specify the X server if x11vnc does not detect it (e.g. by passing -display :0 to it or doing a export DISPLAY=:0 before running it, assuming the display is at :0)
Update the architecture of your device
Some devices have the armhf-architecture but the device supports armv7. Some Interfaces can not be built for armhf, so it could be useful to update the architecture:
- Update the architecture in the following files:
device/testing/device-samsung-foo/APKBUILD device/testing/device-samsung-foo/deviceinfo device/testing/linux-samsung-foo/APKBUILD
- Update the name of the config-wiki-example.armhf in device/linux-wiki-example
- Create new Checksums (for example:
pmbootstrap checksum device-samsung-foo), zap, and reinstall.
- The splash screen is highly configurable (scroll down for an example)!
- Browse the Linux source with links to all references here
- Qualcomm and maybe some other Androids can simply reboot from postmarketOS (or any Linux distro) into your bootloader or recovery with
reboot -f bootloaderand
reboot -f recovery
- Battery capacity can be monitored to trigger low battery actions. See Battery capacity monitoring for more information.
Copy a port
If you know a port of another device is working on your device too, you can copy the port.
Arguments for copying a port:
- You cannot make your device booting yourself or want to safe the time to do it.
- There are no kernel sources available for your device
- The devices are very similar (e.g. same SoC), but you need little adjustments
Keep in mind that if you copy a port you always copy all problems and bugs too. For example it can be better to create a new up-to-date port then copying a port which only compiles under gcc6 and still uses armhf.
If you want to copy the port of a device, copy all the files of the device in your device-folder and rename them to the new ones. Now simply follow the porting guide. If the config-file of your new device is available try to use it instead of the old one.