74 lines
1.8 KiB
Markdown
74 lines
1.8 KiB
Markdown
# Squeak-Phone: Running Squeak Smalltalk as the UI for a PostmarketOS-based Cellphone
|
||
|
||
License: MIT.
|
||
|
||
Copyright ©2020–2022 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
|