CoreELEC on the HD+ IPTV Stick (SEI900HDPLUS)
The HD+ IPTV Stick is manufactered by SEI Robotics and sold by German TV provider HD PLUS GmbH. It features an Amlogic S905Y5 processor, comes with 2GB RAM and 32 GB eMMC.
The installation procedure for CoreELEC depends on your currently installed bootloader version, so we need to check it first.
1) Check bootloader version
Connect the stick to the HDMI port of your monitor/TV. Press and hold the physical button of the stick and then power it on by connecting it to your computer via USB. Do not use the USB-C cable shipped with the stick, it’s a pure charging cable and has no data function. Use the port next to the ethernet port (labeled “DC 5V”). Keep holding the button for about 10 seconds. On your monitor/TV, you will see that the stick enters fastboot mode at first and then, a few seconds later, switches to “USB burning mode”.
Now clone superna9999’s pyamlboot repository and download my (heavily vibe-coded) script env_flash.py.
git clone https://github.com/superna9999/pyamlboot
curl -o env_flash.py https://discourse.coreelec.org/uploads/short-url/5sCkovlpVLrp86RGeQeDPl14ldz.py
Create a new virtual environment and install Python dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r pyamlboot/requirements.txt
Now execute the script. At first, we only want to query the bootloader version (without flashing anything):
python3 env_flash.py --dry-run
If you have bootloader version 01.01.251120.134846 installed, the U-Boot environment needs to be modified in order to install CoreELEC. Go on with step 2.
For devices using older bootloader versions (e. g. 01.01.240902.195526 or 01.01.250702.103250) this is not necessary. Power off the stick, skip the next step and continue with step 3.
2) Flash modified U-Boot environment if needed
Keep in mind that flashing partitions to your TV stick always involves risks. If something goes wrong, you could end up with a (soft-)bricked device in the worst case. Proceed at your own risk. I am not responsible for any damage.
The problem with bootloader version 01.01.251120.134846 is that the update env variable in U-Boot doesn’t include the recovery_from_udisk command anymore. That’s why the CoreELEC recovery image and aml_autoscript never run – and we cannot boot into CoreELEC. Changing single env variables from fastboot/adnl is apparently not allowed by default, but flashing the env partition as a whole is possible. So that’s the workaround: I dumped a “fresh” env partition from the device, adjusted only the update variable and generated a new env image with mkenvimage. The result is env_modified.img.
Download env_modified.img from the attachments and store it into the same folder as env_flash.py. Then, while still being in USB burning mode, execute the Python script again – and flash the modified env partition:
curl -o env_modified.img https://discourse.coreelec.org/uploads/short-url/7wTAieRJ9zIvXtzgeu9rqHuR5Jz.img
python3 env_flash.py
Power off the stick afterwards and continue with step 3.
3) Install CoreELEC
From here, the installation process is similar to most CoreELEC-compatible devices.
Download the latest generic nightly build from here (CoreELEC nightly builds) and burn it onto a USB stick using your favorite software (dd, cat, balenaEtcher or anything else …).
Afterwards, mount the USB stick to your computer, open the COREELEC partition, copy s7_s905y5_sei_900_hdplus.dtb from device_trees to the root folder and rename it to dtb.img.
Eject the USB stick from your computer and put it into the “DC5V” port of your TV stick.
Put the USB-C cable (which was at “DC5V” before) into the “USB” port of the TV stick, press and hold the button again and then power the stick on (plug the USB cable into your computer or use the power supply of the stick).
Again, wait about 10 seconds before releasing the button – and let the magic happen
The stick will now load the CoreELEC recovery.img, run aml_autoscript, set up the needed environment variables and reboot into CoreELEC.
env_flash.py (8.1 KB)
env_modified.img (8 MB)