title: Raspberry Pi "tools" (raspistill, vcgencmd, ...) not included with buildroot
body: <p>I've created a basic image with buildroot (<code>buildroot-2021.02.1</code>), containing some software and also selected the RPI firmware in order to use the camera and some Raspberry Pi tools: <code>Target packages --&gt; Hardware handling --&gt; Firmware --&gt; ([x] rpi-firmware) --&gt; Firmware to boot</code> as mentioned <a href="https://stackoverflow.com/a/59670628/2429611">here</a>.</p>
  <p><strong>But the tools <code>raspistill</code>, <code>vcgencmd</code>, ... are not included. The question is how to include them and why are they not included?</strong></p>
  <p>At some point in time it must have been working, see: <a href="https://stackoverflow.com/questions/31724396/raspberrypi-camera-with-buildroot">RaspberryPi camera with buildroot</a></p>
  <p><em>More details:</em></p>
  <p>In the logs of buildroot the following lines show up:</p>
  <pre><code>&gt;&gt;&gt; rpi-firmware d016a6eb01c8c7326a89cb42809fed2a21525de5 Installing to target
  comm: /home/ich/br/buildroot/output/build/rpi-firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5/.files-list.before: No such file or directory
  comm: /home/ich/br/buildroot/output/build/rpi-firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5/.files-list-staging.before: No such file or directory
  comm: /home/ich/br/buildroot/output/build/rpi-firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5/.files-list-host.before: No such file or directory
  </code></pre>
  <p>and inside this package the binaries are existing. They are downloaded from <a href="http://sources.buildroot.net/rpi-firmware/" rel="nofollow noreferrer">http://sources.buildroot.net/rpi-firmware/</a> where the tars contain the actual tools. But they are not copied into the final image by buildroot but only downloaded. Maybe because some <code>files-list.txt</code> file(s) are missing, as pointed out by the error message. Maybe those files are whitelisting the files to copy. But I could not find documentation about this.</p>
  <p>For 64-bit builds the binaries in the (then manually downloaded) tar file could not be executed, because they are 32-bit executables: <code>firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5/opt/vc/bin/vcgencmd: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.1.9, not stripped</code>; on a 32-bit build with buildroot it also does not work, because the shared libraries are missing, even though the full structure from the archive has been placed under <code>/opt/vc/{bin|lib|...}</code> like on a standard RPI image.</p>
  <p>I'm unsure how to proceed with the problem, diagnose it and fix it.</p>
  <p><strong>EDIT:</strong> maybe this are two different problems; I read the linked SO question once again and compared the files <code>fixup.dat</code> and <code>start.elf</code> (which contain the RPI hardware stuff to make the tools work) in the <code>boot.vfat</code> of the built image with the images in <code>buildroot/output/build/rpi-firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5/boot</code> and the files <code>fixup_x.dat</code> and <code>start_x.elf</code> are taken from there. So is in accordance to the mentioned SO question. And at no place it is indicated that the tools for the Raspberry Pi are compiled. They are <em>only</em> inside this tar archive. Maybe one needs to compile them extra and this package is not designed to integrate those tools.</p>