Some notes on getting Debian 10 (stable) installed and running on the Beelink U57 Mini PC with Intel Core i5-5257u Processor.
Create a bootable USB Flash drive of the Debian 10 netinst ISO using Etcher.
- Download ISO from Debian: https://www.debian.org/distrib/netinst
- Flash to SD Card using Balena Etcher https://www.balena.io/etcher/
- Connect ethernet cable to Beelink
Note: The firmware needed to use the Beelink's onboard Intel Wifi is proprietary, and is not included with the default install of Debian. If you don't have the option of a wired LAN connection you can use an "unofficial" Debian CD image, that includes the proprietary (non-free) firmware. (https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/) See the below section on installing the firmware later on.
- Immediately after startup press the
Del
key to enter the BIOS. - Select the flash drive as the boot disk.
- Install Debian
After booting into the fresh install, I was getting errors output to screen relating to MMC/SDHC. This is due to an issue with the kernel drivers and the SD Card reader built into the Beelink.
[ 196.315177] mmc0: Timeout waiting for hardware cmd interrupt.
[ 196.319708] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 196.324254] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x0000a402
[ 196.328819] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[ 196.333387] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[ 196.337946] mmc0: sdhci: Present: 0x01ff0001 | Host ctl: 0x00000001
[ 196.342488] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000000
[ 196.347106] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x0000a707
[ 196.351659] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00018000
[ 196.356198] mmc0: sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00ff0003
[ 196.360735] mmc0: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000001
[ 196.365272] mmc0: sdhci: Caps: 0x67ea64b2 | Caps_1: 0x00000000
[ 196.369809] mmc0: sdhci: Cmd: 0x00000502 | Max curr: 0x00000001
[ 196.374378] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000
[ 196.378934] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 196.383456] mmc0: sdhci: Host ctl2: 0x00000000
[ 196.387955] mmc0: sdhci: ============================================
I got around this by blacklisting the related kernel modules. Create the following files and add blacklist MODULE_NAME
to each.
~$ cat /etc/modprobe.d/mmc_core.conf
blacklist mmc_core
~$ cat /etc/modprobe.d/rtsx_usb_sdmmc.conf
blacklist rtsx_usb_sdmmc
~$ cat /etc/modprobe.d/sdhci_acpi.conf
blacklist sdhci_acpi
~$ cat /etc/modprobe.d/sdhci.conf
blacklist sdhci
These files are stored in memory. So you have update the ramfs with the following:
sudo update-initramfs -u
Then reboot
and the mmc0
error messages should subside.
The Beelink appears to have Intel based wireless chipset. The firmware for it is in the non-free
apt repository. You can do this by adding contrib
and non-free
to the end of each line that ends in main
in /etc/apt/sources.list
.
sudo nano /etc/apt/sources.list
...
deb http://deb.debian.org/debian/ buster main contrib non-free
deb http://deb.debian.org/debian/ buster main contrib non-free
...
Run an sudo apt update
after saving your changes.
Then you can install the firmware:
sudo apt install firmware-iwlwifi
This is perfect! Thanks for making this gist. Saved me a LOT of time tracking down a solution.