BigFix agent/relay on Raspberry Pi

Hello, has anyone every installed a bigfix agent on a Raspberry Pi device that is ARM based? If so what version of the agent did you use?

I’ve posted about wanting to do this in the past myself. Others have replied in support, but so far, no Joy from IBM. Not that I actually expected any, but … we can always hope!

And an RFE wouldn’t hurt so I created one … HERE. Go vote for the RFE if you think it might be a worthy request.

I’d LOVE to be able to deploy a Raspberry Pi as a Relay. Low Cost, Low Power, Small Footprint, Minimal Thermal load, perfect to put in a Wiring Closet or Data Center with a USB HD attached for storage!

4 Likes

Just to be clear, you CANNOT run BigFix on the Raspberry Pi at all. BigFix does not support ARM based devices. I’d love to see BigFix on the RasPi.

This is the post / thread mentioned:

1 Like

awesome guys, thanks for the feedback. @TimRice, that would be awesome to see, cost efficiency at it’s finest. @jgstew, appreciate the info!

Well I have an interesting development.

You can run BigFix on a Raspberry Pi using the QEMU emulator. It will never be a good option for a relay, but it may have other potential uses. The QEMU emulator allows running an x86 linux distro ontop of the ARM one running on the RaspberryPi. It only virtualizes a single CPU and is slow. It is very possible that it could be made faster through optimizations.

My first attempt was using a faster paid x86 emulation product, but I couldn’t get it to work:https://eltechs.com/product/exagear-desktop

**This is actually a RaspberryPi running BigFix:**https://alpha.bigfix.com/common/ui/devices/6516746

Notice the CPU is listed as a 0 MHz Celeron


Poorly documented steps:

  • I first put berryboot on a raspberrypi 3
  • I then installed Ubuntu MATE
  • I then installed QEMU and some other stuff
  • I downloaded a Debian x86 Standard Live CD (command line only)
  • I booted the live CD using qemu-system-i386
  • I ran my install_bigfix.sh script which installed the debian x86 bigfix agent
  • I then waited. It took a while to finish provisioning and sending in a full report because of the slow CPU emulation

You do need to tell QEMU to only emulate a single CPU, otherwise it doesn’t work.

###Next Steps:

See if I can get CentOS x86 or x64 running on a RaspberryPi so that it could be a Relay. I don’t actually intend for it to be used as a proper relay, but installing a relay on it is the best way to get it to respond to UDP quickly. I find the possibility of being able to use BFQuery in the WebUI on a RaspberryPi intriguing.

Also, some better documentation and hopefully automation around actually doing this.

Partial script and references: https://github.com/jgstew/tools/blob/master/bash/setup_qemu_ubuntu.sh


Ideally IBM would provide an actual ARM build of the BigFix agent for Debian/Ubuntu/Others, in which case BigFix could run natively on the RaspberryPi, but in the meantime, QEMU is a less than awesome option.

2 Likes

Clearly, the free cycles I had this weekend are now occupied!

2 Likes

This isn’t a complete set of commands, but definitely reference this as well as some of the links within: https://github.com/jgstew/tools/blob/master/bash/setup_qemu_ubuntu.sh

Someday it would be nice to automate the entire process.


Update:

So after getting this to work on Ubuntu on Raspberry Pi I thought I would give Raspbian a try. It is the custom Debian build for Raspberry Pi that is optimized. It definitely runs better as a host OS, particularly one with a GUI, but so far I haven’t had luck getting an Intel32/AMD64 linux to run under QEMU ontop of Raspbian and I’m not certain why this would be.

I think I’m going to switch back to Ubuntu and see if I can get x64 linux to work, with Ubuntu Core being an interesting option for a way to do this better.

I’ve voted for the RFE, as this will become more relevant for our organization as well. Bumping this thread for visibility.

Cheers for submitting the RFE, @TimRice!

1 Like

What is your use case for having BigFix run on a RasPi?

This goes for everyone, I’m curious.

I don’t really have a good use case for it for myself.

For our use case it’s not specific to Rasberry Pi so much as it is any device that runs on ARM. IoT devices with ARM architecture are beginning to appear, and so we look to the future of managing those.

1 Like

Is there a link to the RFE for an ARM/Linux based BES Agent? If so, I will vote

1 Like

The RFE is here: http://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=75873

My solution to getting BigFix to run on a Raspberry Pi could be applied to any device that runs ARM, but it is definitely NOT a solution to managing the ARM device with BigFix.

The reason for this is that it creates an isolated x86 version of Linux running ontop of the Linux on ARM that BigFix runs within. This means it is not able to actually manage the IoT device itself.

I would like to see BigFix on ARM, even if it is just a very basic agent for very limited inventory use and WakeOnLan. It would be interesting to have a Relay running on a fast enough ARM device as well.

Right now, I think the best option for managing IoT devices with BigFix is through something known as Proxy Agents.

It is much easier to create a Proxy Agent for BigFix for inventory only purposes for just about anything, but even that can be complicated. The next level is to enable the Proxy Agent to actually make changes on the target device. One thing that is nice about a Linux ARM device is that it should be possible to have a Proxy Agent issue shell commands in a similar way as you would with existing ActionScript.

CC: @AlanM

Agree that there needs to be a generic BES client for ARM linux platforms.

1 Like

Now with the release of a Tiny Core Linux Relay option, I wonder if it is possible to get this to run on a RaspberryPi in emulation. There is a build of Tiny Core Linux available for the RaspberryPi, but it would require QEMU to do the emulation of x86 on ARM to run the Tiny Core Linux builds of the BigFix client/relay.

I also wonder if the Tiny Core Linux builds of the Client would be easier to run on a RaspberryPi in something like Raspbian directly with the QEMU emulation.

Related:

It is possible to deploy the latest Debian/Ubuntu BESClient to an Intel Edison, but this does require re-imaging to Ubilinux. We actually deployed the 9.5.2 BESClient to two Edisons for an internal Tech Expo with positive results.

The larger problem with utilizing non-standard Linux distros is the lack of OS patch content. Unless BigFix were to natively support Ubilinux or some other x86 or ARM Linux distro for IoT, we’re not able to widely adopt.

1 Like

I agree, lack of patch content is a problem, but I believe that is part of the point of the new Tiny Core Linux option. It is supposed to be stripped so bare as to be an embedded platform with the only things running on it being BigFix itself, so there is really isn’t anything to patch.

Something similar can be said for using Docker for BigFix relays. You can have the storage layer be separate from the container running the relay software, and just spin up a new one and reattach it to the storage if you need to maintain it for caching. If you don’t need it for caching, then just throw it away and make a new one.

While preparing to submit an RFE (or vote for an existing one), my heart was warmed to find the following …

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=75873

Status: Planned for Future Release

2 Likes

In case someone finds this thread lookign for information - official Raspian support:

https://www.ibm.com/support/knowledgecenter/SSQL82_9.5.0/com.ibm.bigfix.doc/Platform/Installation/c_raspbian__64_bit__install.html#c_raspbian__64_bit__install

3 Likes