Posts by onceler

    I recently set up one of my raspberry pis to network boot LibreELEC, so I'll add some notes here, in the hope that they help someone else (if you find them useful, please feel free to add them to the wiki).

    The procedure was mostly the same as setting one up to network boot Raspberry Pi OS (which is documented here: https://www.raspberrypi.com/documentation/…ur-raspberry-pi), but as LibreELEC mounts its filesystems differently, there are some changes.

    Where with Raspberry Pi OS, you would put something like "root=/dev/nfs nfsroot=10.42.0.211:/nfs/client1,vers=3 rw ip=dhcp" in cmdline.txt (and put the details for mounting /boot/firmware in /etc/fstab), LibreELEC takes both mount points from cmdline.txt, formatted something like "boot=NFS=10.42.0.211:/tftpboot disk=NFS=10.42.0.211:/nfs/client1 ip=dhcp". Adjust IPs and paths as needed to match your setup.

    If you are moving from an sd card to network boot, copy the first partition on the sd card into the "boot" directory, and the second partition into the "disk" directory. If you are setting a new device up, leave the "disk" directory empty, and copy the boot files out of the image using something like

    Bash
    gunzip LibreELEC-RPi2.arm-12.0.1.img.gz
    losetup -P /dev/loop0 LibreELEC-RPi2.arm-12.0.1.img
    mount /dev/loop0p1 /mnt 
    cp -r /mnt/* /tftpboot/
    umount /mnt
    losetup -d /dev/loop0

    Again, adjust paths to match your setup.

    If you have more than one pi netbooting LibreELEC, each will need its own separate storage, but they can share the same boot files. Sharing boot files means they will load the same cmdline.txt, but you can include "@UID@" in the path for the storage, and it will be replaced by the pi's serial number. The only documentation I found for this was here: https://github.com/LibreELEC/Libr…issue-170601436, but it may be better documented elsewhere.

    It may also be advantageous to add "toram" to cmdline.txt. This causes the root filesystem to be copied into memory on boot (using up some ram, but possibly improving performance).


    I have a tomato X96 (S905X), which has been working wonderfully with these builds, except for one issue: The network adapters (both wired and wireless) are not assigned fixed MAC addresses, but get random ones each reboot. I added udev rules, as described here, which solved the problem just fine when I was using 7.0.2.009 (on sd card, using default device tree), but since switching to 7.0.3.011 (32bit, fresh install on sd card, using the default device tree), this only works for the wired device. The wireless device keeps using a random MAC each reboot.

    Just tried updating to 7.0.3.010, the problem remained. So it was either the 7.0.2.009-7.0.3.010 change, or the 64bit-32bit change, that broke it.

    Next step: trying 7.0.3.010 64bit, which will involve a fresh install (to avoid addon problems). Will report back soon...
    Update: No change. Which is unsurprising, now that I think about it, as the issue is wholely outside of kodi. Looks like I'm back to 009.
    Update x2: On 009, completely fresh install, and I'm still unable to set the wlan mac. I was sure I had it working before, and I've definitely never used anything before 7.0.2.009. Sorry for the confusing reports. As it now seems clear this *isn't* an upgrade issue with .011, I'll stop posting here, try a few more things, and start a new thread if I still have problems.

    I have a tomato X96 (S905X), which has been working wonderfully with these builds, except for one issue: The network adapters (both wired and wireless) are not assigned fixed MAC addresses, but get random ones each reboot. I added udev rules, as described here, which solved the problem just fine when I was using 7.0.2.009 (on sd card, using default device tree), but since switching to 7.0.3.011 (32bit, fresh install on sd card, using the default device tree), this only works for the wired device. The wireless device keeps using a random MAC each reboot.

    When I ssh into the box and try to set the MAC by hand, the command succeeds, but has no effect.

    Code
    tvbox:~ # ip link show wlan0
    3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP8000> mtu 1500 qdisc mq qlen 1000
        link/ether 00:e0:4c:2f:62:34 brd ff:ff:ff:ff:ff:ff
    tvbox:~ # ip link set dev wlan0 address 00:E0:4C:4D:91:93
    tvbox:~ # ip link show wlan0
    3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP8000> mtu 1500 qdisc mq qlen 1000
        link/ether 00:e0:4c:2f:62:34 brd ff:ff:ff:ff:ff:ff
    tvbox:~ #

    Is there a different method I should be using to try to set the MAC? Or some other way to avoid having to re-enter wifi details each time the box reboots?
    (logs attached)