2016-07-20 0:53 GMT+03:00 Tomas Hlavaty <t...@logand.com>: > Lluís Batlle i Rossell <vi...@viric.name> writes: >> The device tree blob should be built by the kernel, like with pi and pi2, >> isn't it? > > This is the kernel which works for me and is taken from > raspberry-firmware/boot: > > Linux version 4.4.13-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 > (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #894 SMP Mon Jun 13 > 13:13:27 BST 2016 > > and the corresponding device tree is bcm2710-rpi-3-b.dtb. > > This looks like the same kernel version in > pkgs/os-specific/linux/kernel/linux-rpi.nix (modDirVersion = "4.4.13"; > tag = "1.20160620-1") > > Are you saying that this is not good enough? > > What works: If I copy files from raspberry-firmware/boot to /boot, rpi3 > starts fine. These are the files I have in /boot: > > $ ls -al /boot > -rwxr-xr-x 1 root root 13221 Jun 18 22:31 bcm2708-rpi-b.dtb > -rwxr-xr-x 1 root root 13484 Jun 18 22:31 bcm2708-rpi-b-plus.dtb > -rwxr-xr-x 1 root root 13257 Jun 18 22:31 bcm2708-rpi-cm.dtb > -rwxr-xr-x 1 root root 14567 Jun 18 22:31 bcm2709-rpi-2-b.dtb > -rwxr-xr-x 1 root root 15237 Jun 18 22:31 bcm2710-rpi-3-b.dtb > -rwxr-xr-x 1 root root 17932 Jun 18 22:31 bootcode.bin > -rwxr-xr-x 1 root root 165 Jul 19 22:46 cmdline.txt > -rwxr-xr-x 1 root root 1369 Jan 11 2016 config.txt > -rwxr-xr-x 1 root root 2504 Jun 23 20:42 fixup_cd.dat > -rwxr-xr-x 1 root root 6482 Jun 23 20:42 fixup.dat > -rwxr-xr-x 1 root root 9717 Jun 23 20:42 fixup_db.dat > -rwxr-xr-x 1 root root 9717 Jun 23 20:42 fixup_x.dat > -rwxr-xr-x 1 root root 4224232 Jun 18 22:31 kernel7.img > drwxr-xr-x 2 root root 8192 Jun 18 22:31 overlays > -rwxr-xr-x 1 root root 617432 Jun 23 20:42 start_cd.elf > -rwxr-xr-x 1 root root 4926264 Jun 23 20:42 start_db.elf > -rwxr-xr-x 1 root root 2746552 Jun 23 20:42 start.elf > -rwxr-xr-x 1 root root 3877720 Jun 23 20:42 start_x.elf > > I don't see, why raspberrypi/builder.sh creates defaultgeneration, > initrd and nixos-init files in /boot. It actually seems to me, that > initrd should not be there at all for the boot to work. > > raspberrypi/builder.sh doesn't create fixup_x.dat, which is in the list > above; but I haven't tried booting without it. > > Although pkgs/os-specific/linux/kernel/linux-rpi.nix copies DTB files, > it renames them to something that looks wrong and also it does not copy > them to /boot at all: > > # I am not sure if all of these are correct... > copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb > copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb > copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb > copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus.dtb > copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb > copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb > copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb > copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb > copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb >
The files are getting copied with the names used by the mainline kernel (which is currently the authority for naming/schema of device tree files) since U-Boot is looking for those names. > I looks like the files in raspberry-firmware/boot should work on any rpi > version so we should probably immitate that somehow in nixos and at > least get it to work out of the box even if we just take the precompiled > files from raspberrypi-firmware/boot and improve that later. I personally wouldn't use device trees not built from the kernel tree that is being used, unless I wanted to have weird and interesting problems. _______________________________________________ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev