change URL from *//www.* to *//en.* in the links in this post to switch from CN to EN (?)
my respect to [How To get your brand new RK3399 to actually boot linux](https://bbs.t-firefly.com/forum.php?mod=viewthread&tid=2294)
[download links](https://www.t-firefly.com/doc/download/page/id/3.html)
[manual](https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/03-upgrade_firmware.html)
## bootloader
1. Windows. install DriverAssitant_v4.5.rar
2. boot Android
3. adb reboot bootloader
4. Windows. run AndroidTool 2.71
5. LOADER found in the tool.
If steps 2 & 3 fail, follow steps in "download from A8 to Linux" section.
## download from A7.1(industry)/A8.1 to A8.1
[download matrix](https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/_images/upgrade-table.jpg)
1. switch to upgrade page
2. choose downloaded Android image
3. click on firmware button…
4. if Loader Ver is different than current firwmare, click on erase flash button
5. click on upgrade button…
6. in case of failure, try step 4
## download from A8 to Linux
Step 4 in previous section is needed. Others same.
If adb cannot be used, follow either following steps to bring device into Android’s recovery mode and needs to press volume down to go into bootloader.
- no power plugged. connect type C. hold recovery button and power plug. release recovery button in 2 sec
- power plugged. connect type C. hold recovery button, short press reset button. release recovery button in 2 sec.
| loader ver | image | note |
|--|--|--|
| 1.12 | Firefly-RK3399_Android8.1.0_HDMI_181023 | |
| " | Firefly-RK3399_Android8.1.0_HDMI_190213 | userdebug. build date 2019年 01月 25日 16:42:18 CST |
| 1.19 | FIREFLY-RK3399-DEBIAN9-DESKTOP-GPT-20200110-1051 | debian 9 was from June 17th, 2017. LXDE. username & password=firefly |
| 1.15 | FIREFLY-RK3399-DEBIAN-GPT-20190122-1541 | probably no xWindows built-in |
## upgrading Linux
tailored Linux will be added with more modules, probably.
upgrade Debian (with LXDE) from stretch to bullseye. “apt update” to current release of stretch, edit /etc/apt/sources.list, etc., “apt update” and “apt full-upgrade”
When upgrading from stretch to bullseye, libgl-dev_1.3.2-1_arm64 may fail, conflicting with /usr/include/KHR/khrplatform.h from libmali-rk-dev:arm64 1.7-1. Then use “dpkg -i –force-overwrite ” plus the deb file name to force writing it. Or, even use “dpkg -P ” plus package name to purge it.
## login changes
- boot into command line. to switch back to xwindow (LXTE), use “graphical.target”
`sudo systemctl set-default multi-user.target`
[boot into command line](https://www.xmodulo.com/boot-into-command-line-ubuntu-debian.html)
- LXDE autologin. worked before debian upgrade but failed afterwards.
change “autologin-user=” in /etc/lightdm/lightdm.conf
[get Lightdm autologin working](https://www.linuxquestions.org/questions/linux-desktop-74/can%27t-get-lightdm-autologin-working-debian-11-mate-4175699410/)