Is there a way for MaaS to Commission a Raspberry Pi 3B?

5,203

Solution 1

While you may not be able to PXE boot via MAAS on the RPi3, juju supports manual provisioning including the bootstrap node -

https://juju.is/docs/olm/manual-setup#heading--add-machines-to-a-manual-cloud

juju add-machine ssh:[email protected]

With this you can allow juju to provision them into the environment via SSH.

Solution 2

EDIT: I was able to get to the rpi_3_config part, but the next command gave an error.

EDIT #2: I am now able to compile u-boot successfully from the official u-boot git repo

EDIT #3: So far it looks successful with it's booting. Can't test it right now, but I will try with MaaS later!

While you might not be able to PXE boot a Raspberry Pi 3 without an SD Card just yet, you can get part of the way there with u-boot loaded on the sdcard, set to PXE boot from the network.

Unfortunately, I have been in exactly your situation, trying to PXE boot raspberry pies for MaaS, however I got a little stuck when the pi came to actually boot. I was able to get as far as it getting an address via DHCP, however when it came to parsing the pxelinux file it hit some sort of error.

Just in case you can have more luck with your raspberry pies, and keeping in mind that I was doing this ages ago before the Pi 3 was released, I shall briefly outline the steps which I took to get to that stage, although I can't help you further.

  1. git clone git://git.denx.de/u-boot.git && cd u-boot
  2. git checkout rpi_dev
  3. At this point, I made a simple edit to the config file for the raspberry pi board to automatically initialize usb devices on boot, however it looks like the appropriate #DEFINE statement has already been added since.
  4. You need to now get hold of a cross compiler for the raspberry pi. The simplest way to do this is to go here on the raspberry pi website and follow the steps under INSTALL TOOLCHAIN, for your version of pi. Remember to add the path entries, which are only needed for the next step, so an export will suffice.
  5. Go into the root of the u-boot git repo, and run the following, with make installed: make CROSS_COMPILER=arm-linux-gnueabi- rpi_3_config and then to actually build: make CROSS_COMPILER=arm-linux-gnueabi-
  6. You should now have an u-boot.bin file in your current directory.
  7. wget https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.4.y/scripts/mkknlimg
  8. ./mkknlimg --dtok u-boot.bin kernel7.img
  9. Copy kernel7.img to your sdcard

Best of luck, and if you do succeed, make sure to post your own answer stating exactly what you did, and accept it.

Share:
5,203

Related videos on Youtube

spyderdyne
Author by

spyderdyne

Updated on September 18, 2022

Comments

  • spyderdyne
    spyderdyne over 1 year

    I have a small lab (literally) of 3 RBP-3B units with SATA and SD drives attached running Ubuntu 16.04 LTS. I have installed software on them to create a Ceph cluster but its tricky and pretty fragile.

    RP3B Ceph Cluster

    Ultimately I would like to administer this "Worlds Smallest Cloud Storage Cluster" concept with Juju and make it the storage backend for an Intel NUC vBlock I won from the OSIC contest at the Openstack summit. Unfortunately I cant find a way to PXE boot the Raspberry Pi 3B, and chip support for this feature is on the horizon but currently not present.

    I want to use MaaS to bootstrap the OS and feed these little guys into Juju deployments since its so easy from there to manage everything, but I am having trouble finding a working solution. I know that Juju can add machines after the OS is installed but its not apparent how to do that either, and if I set Juju up to use existing machines I don't know if I can still point it to MaaS controlled systems as well to create a heterogenous mix of gear without breaking functionality.

    Any thoughts?

    • Michael Lindman
      Michael Lindman almost 8 years
      This isn't exactly using MAAS but it may be of interest: blog.dasroot.net/…
    • spyderdyne
      spyderdyne almost 8 years
      Just imagine what you could do in home and facilities automation if this worked. The next step would be a POE option for the Pi and soon they would be literally everywhere...
    • Fuzzywaffler
      Fuzzywaffler over 6 years
      The day has come raspberrypi.org/blog/… And it says I need more characters so here they are.
    • linux64kb
      linux64kb almost 6 years
      This should work with Pi3 versions, the documentation is on the official blog. raspberrypi.org/blog/…
  • spyderdyne
    spyderdyne almost 8 years
    Berryboot doesn't solve the PXE problem. I need something that MaaS can install and manage.
  • Amias
    Amias almost 8 years
    That's all you get until the pi makers release the PXE firmware mods