Chatted with lukasz on IRC who refreshed me on a few things. Since this thread is a tad old, I thought I'd share my experimentation findings and solutions.
Lakka 2.1 (as of 2018-01-08) does NOT yet support Pinebook.
http://www.lakka.tv/articles/2017/11/26/...e-release/
My test case:
- Pinebook 14"
- 128GB microSD (not relevant?)
- OS Image:
https://github.com/ayufan-pine64/linux-b...118.img.xz
Steps I Followed:
- Installed the image using Pine64 Installer which did not see the image online as the latest, so I had to download the image myself, and point the installer at it.
- Login and enable Networking using the USB Ethernet dongle from Pine64.
Login with: pine64/pine64ifconfig -a --> note the enx[MAC] interface namesudo ifconfig enx[MAC] upsudo dhclienttest:ping -c 4 google.com
- Apply this fix from Post #21 to prevent the os from dying once Retroarch gets installed and the screen blanks. Additional xorg docs.
cd /etc/X11/xorg.conf.dsudo touch 60-pine64-retroarch-noblank.confsudo chmod +rw 60-pine64-retroarch-noblank.confsudo cat < 60-pine64-retroarch-noblank.conf <<EOFSection "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Evdev Mouse" "CorePointer" Option "BlankTime" "0" Option "StandbyTime" "0" Option "SuspendTime" "0" Option "OffTime" "0"EndSectionEOF
- Fetch the Install Script, enable execution, and run the script. These are the instructions listed at the top of this thread.
ssh pine64@192.168.x.xsudo nano install_retroarch.sh(paste)ctrl+shift+xy (save and exit)enter (use filename)sudo chmod +x install_retroarch.sh
- Add these four lines into the script after line 43 (sleep 2) then execute the script. Sleep for a total of 30 seconds, re-scan for USB devices turn on the USB Ethernet adapter and start DHCP to fetch an IP address.
Code:
sleep 28
udevadm trigger
ifconfig $(ifconfig -a | grep -o "enx\w*" up
dhclient
sudo ./install_retroarch.sh
USB Ethernet Note:
About 50% of the time the system boots (off the base image, prior to running the install script) the USB Ethernet adapter (sold by pine64) is not detected by the system.
lsusb is not installed so I can't run that and
udevadm trigger doesn't seem to catch it all the time either. I haven't been able to figure out why this is happening, or how to fix it for certain. Sometimes,
udevadm trigger works, sometimes just waiting longer after the boot sequence to login works. So I've added some extra delay to the boot script and a trigger command, hoping that one of these will do the trick.
Test cases:
- <30s wait at login screen
- >30m wait at login screen
- reboot host from SSH client
- reboot host, from local machine, while SSH client connected
Sources:
The ethernet device needs to be brought up and dhcp client started upon every boot, so I wrote a quick alias that can be added to your ~/.bashrc file
Code:
alias ipconfig='sudo ifconfig $(ifconfig -a | grep -o "en\w*") up && sudo dhclient'
SSH Side Note:
I used "
Secure Shell", a Chrome plugin, as my SSH client, so its easy to just open a new tab and type
Code:
ssh pine64@192.168.x.x
I ran into issues while testing this, where the SSH client performed strict Fingerprint checking and would not allow me to connect to the same IP after reinstalling the OS. To
get past that, open the SSH client, open the Java Console and enter:
Code:
term_.command.removeKnownHostByIndex(index)
--or--
term_.command.removeAllKnownHosts()
More to come after further testing, this was just the system install.
Update 1:
I totally broke it. The system boots and fails to launch retroarch showing xorg errors along with errors from ifconfig and dhclient showing that the enx* interface was not detected. I suspect it is related to the xorg.conf.d file I put together which clearly I don't understand. Also, I can no longer edit the files in xorg.conf.d so I'll have to rebuild the image to try again. Next test, add only the four Option lines to sunxi.conf created by the install script after install before reboot.