squeak-phone/README.md

1.8 KiB
Raw Blame History

Squeak-Phone: Running Squeak Smalltalk as the UI for a PostmarketOS-based Cellphone

License: MIT.

Copyright ©20202022 Tony Garnock-Jones.

How to use pmbootstrap

Switching devices:

pmbootstrap config device <new_device>

e.g.

pmbootstrap config device pine64-pinephone
pmbootstrap config device samsung-herolte
pmbootstrap config device qemu-amd64

Building for Samsung Galaxy S7 (samsung-herolte):

pmbootstrap install --android-recovery-zip

Building for Pinephone (pine64-pinephone):

pmbootstrap install --sdcard BLOCKDEV

Building for qemu-amd64:

pmbootstrap install
pmbootstrap qemu

How to install on Samsung Galaxy S7

(See https://wiki.postmarketos.org/wiki/Installation_from_recovery_mode )

Reboot holding power + home + volup to enter the recovery. Choose Advanced, ADB sideload.

Then run

pmbootstrap flasher --method adb sideload

How to use RNDIS to connect via ssh over USB

(See https://wiki.postmarketos.org/wiki/USB_Network )

For pinephone, which does get a MAC address for the RNDIS device:

sudo ip a del 10.42.0.1/32 dev usb0
sudo ip a add 172.16.42.2/32 dev usb0
sudo ip r add 172.16.0.0/16 dev usb0
SSH_AUTH_SOCK= ssh user@172.16.42.1

... or, huh, just use DHCP to get an address from the phone! It turns out to work.

The equivalent for samsung-herolte is similar but requires inventing a MAC address and assigning it at the link layer:

sudo ip link set dev eth0 address 12:12:12:12:12:12
sudo ip a add 172.16.42.2/32 dev eth0
sudo ip r add 172.16.0.0/16 dev eth0
SSH_AUTH_SOCK= ssh user@172.16.42.1

How to set up WiFi on a running instance

(See https://wiki.postmarketos.org/wiki/WiFi)

When you pick "none" UI, you get no nmcli or wpa_supplicant.

Pick "console". Then you get both.

sudo nmcli device wifi connect <SSID> password <PASSWORD> ifname wlan0