DebianTP2 - gemian/gemian GitHub Wiki

Useful info for users of Debian Technical Preview 2

This is basically just TP1 + all the updates.

There are still some things you need to do and some you might like to do:

First login

You should select your keyboard layout from the login screen, you only need to do this once after that it is remembered though wont show correctly until you type the first letter of your password.

The default user is gemini, and the password gemini.

You can personalise your device to use your own choice of username by using the 'sudo adduser' command (this will give your new user a uid in the valid range avoiding the clash with lxc android system image values, other ways of adding users will probably give a user account that wont be listed on the login screen).

More disk space

The image has minimal head room so the first thing to do is to on-line resize your root file system to make full use of the space on the partition, (note that the newer boot images do this for you so it may not be needed):

df -h

Gives for example:

Filesystem       Size  Used Avail Use% Mounted on
/dev/mmcblk0p29  4.4G  4.1G   97M  98% /

Do the resize:

$ sudo resize2fs -p /dev/mmcblk0p29

Then check the free space again:

Filesystem       Size  Used Avail Use% Mounted on
/dev/mmcblk0p29   45G  4.1G   39G  10% /

Pick a more local mirror and update all the packages

The image comes set as a generic http.debian.net in /etc/apt/sources.list.d/multistrap-debian.list you might get faster downloads with a more local mirror.

Conflicts trying to upgrade libreoffice-base/common can be resolved using --force-overwrite, as documented here.

Set your timezone

sudo dpkg-reconfigure tzdata

You might want to set local ntp servers: local sources

/etc/ntp.conf

Locales

You probably want to pick a language_location specific UTF8 locale:

sudo dpkg-reconfigure locales

eg for the UK - en_GB.UTF-8.

WiFi eats battery whilst sleeping

You need to install connman-plugin-suspend-wmtwifi to avoid this:

sudo apt install connman-plugin-suspend-wmtwifi

Turns out this plugin just stops the repeated re-connection's to wifi. It still eats lots of battery.

Volume control

The volume buttons change the lxqt volume indicator, if they don't work you might need to set the mixer you need to attach a mouse and right click on the volume control and select 'Configure "Volume Control"'. You need to keep the device as PulseAudio, but set it to 'Droid sink primary' for the output. Then set the External mixer to 'alsamixer'.

Sleep on close

We have auto-configured xss-lock gemian-lock to fire off on device close, however this conflicts with the lxqt power management 'enable lid watcher' and will cause a crash and log your user out. If you find that your back at the sddm login screen after closing the device check to turn off the lid watcher.

Sticky keys

If your not a touch typist you might like sticky keys so that you don't have to twist your fingers in funny positions to select modified functions.

sudo apt-get install xkbset

Test to see if it works better for you a short term test:

xkbset sticky -twokey -latchlock

Make it permanent, by adding the following to ~/.xsessionrc (then logout/in):

# setting the expiry of the settings
xkbset exp -sticky -twokey -latchlock

# stickykey settings
xkbset sticky -twokey -latchlock

Update your kernel

We've started work on adding kernel updates via apt. So you can now install either the built in modules version:

sudo apt install gemini-kernel-image-3.18

Or the loadable modules version:

sudo apt install gemian-modular-kernel

People who have recently flashed with the updated bootloader will be suggested a single line to update the booted kernel, for others there is no way of knowing which kernel was used to boot so you have to manually install the kernel to the relevant partition (boot/boot2/boot3). Once we have enough positive feedback from our kernels we'll make the new bootloader case do the kernel update for you.

sudo dd if=/usr/share/kernel/linux-boot.img of=/dev/disk/by-partlabel/boot*

Backports

The packages in stretch are sometimes a bit old, so it can be handy to add backports repositories, see Debian Backports for full instructions.

For example to install telegram-desktop:

sudo sh -c 'echo "deb http://ftp.debian.org/debian stretch-backports main" >>/etc/apt/sources.list.d/multistrap-debian.list'
sudo apt update
sudo apt install telegram-desktop

Mobile

Experimental cellular support: DebuggingMobile

Controlling Screen Locking

If you desire you can disable the idle timeout display off by doing the following:

sudo nano /etc/X11/xorg.conf

At the top of the file there is a ServerFlags section. Add/replace the following in the ServerFlags section:

    Option "OffTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "BlankTime" "0"

When finished your ServerFlags section should look like this:

Section "ServerFlags"
    Option "OffTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "BlankTime" "0"
EndSection

Save the file (ctrl+x) and reboot your Gemini. Following the reboot your screen will now only power off on lid close and turn on again when opened.

Connman

Since Android is generating a new mac address for your wifi interface at every reboot and Connman is storing the mac address in its services you would need to enter your wifi passwords every time you reboot.

Fortunately there is a way to lock the mac address.

  1. install hexedit: sudo apt install hexedit
  2. sudo hexedit /nvdata/APCFG/APRDEB/WIFI and set a mac address in bytes 04-09 (mind that the base is 0, so it starts at the 5th byte) of the first row (0)
  3. set the i attr on the file: sudo chattr +i /nvdata/APCFG/APRDEB/WIFI

This will lock down the mac address.

see: Firmware causes wifi mac address change on reboot