SkillAgentSearch skills...

Bubbagen

Bootable live-USB of Bubba OS for the Excito B3 miniserver, based on Gentoo Linux

Install / Use

/learn @gordonb3/Bubbagen
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

bubbagen

Bootable live-USB of Bubba OS for the Excito B3 miniserver, build on Gentoo (kernel 6.12.38 - Gentoo stable)

Description

<img src="https://raw.githubusercontent.com/gordonb3/cache/master/Bubba/Excito-B3.jpg" alt="Excito B3" width="250px" align="right"/> This project is a spin-off from [Sakaki&quot;s gentoo-on-b3 project](https://github.com/sakaki-/gentoo-on-b3) and contains what was previously published as the `Special Edition` while the Bubba overlay was still in beta.<br><br>

As with the original, this project contains a bootable, live-USB image for the Excito B3 miniserver. You can use it as a rescue disk, to play with Gentoo Linux, or as the starting point to install Gentoo Linux on your B3's main hard drive. You can even use it on a diskless B3. No soldering, compilation, or U-Boot flashing is required! You can run it without harming your B3's existing software; however, any changes you make while running the system will be saved to the USB (i.e., there is persistence).

The kernel used in the image is 6.12.38 from gentoo-sources, with the necessary code to temporarily switch off the L2 cache in early boot (per this link) prepended, and the kirkwood-b3 device tree blob appended.

The image may be downloaded from the link below and should work, without modification, whether your B3 has an internal hard drive fitted or not.

Variant | Init type | Version | Image :--- | ---: | ---: | ---: B3 with or without Internal Drive | openRC | 1.19.0 | bubbagenb3img-1.19.0.xz

Please read the instructions below before proceeding. Also please note that all images are provided 'as is' and without warranty.

Prerequisites

To try this out, you will need:

  • A USB key of at least 8GB capacity (the uncompressed image is 14,813,184 (512 byte) sectors = 7,584,350,208 bytes). Unfortunately, not all USB keys work with the various versions of U-Boot that were factory installed on the B3. Most SanDisk and Lexar USB keys appear to work reliably, but others (e.g., Verbatim keys) will not boot properly. (You may find the list of known-good USB keys in this post useful.)
  • An Excito B3 (obviously!).
  • A PC to decompress the image and write it to the USB key (of course, you can also use your B3 for this, assuming it is currently running the standard Excito / Debian Squeeze system). This is most easily done on a Linux machine of some sort, but tools are also available for Windows (see here and here, for example). In the instructions below I'm going to assume you're using Linux.

Downloading and Writing the Image

On your Linux box, issue:

# wget -c https://github.com/gordonb3/bubbagen/releases/download/v1.19/bubbagenb3img-1.19.0.xz

to fetch the compressed disk image file

Next, insert (into your Linux box) the USB key on which you want to install the image, and determine its device path (this will be something like /dev/sdb, /dev/sdc etc.; the actual path will depend on your system, you can use the lsblk tool to help you). Unmount any existing partitions of the USB key that may have automounted (using umount). Then issue:

Warning - this will destroy all existing data on the target drive, so please double-check that you have the path correct!

# xzcat bubbagenb3img-1.19.0.xz > /dev/sdX && sync

Substitute the actual USB key device path, for example /dev/sdc, for /dev/sdX in the above command. Make sure to reference the device, not a partition within it (so e.g., /dev/sdc and not /dev/sdc1; /dev/sdd and not /dev/sdd1 etc.)

The above xzcat to the USB key will take some time, due to the decompression (it takes between 8 and 20 minutes on my machine, depending on the USB key used). It should exit cleanly when done - if you get a message saying 'No space left on device', then your USB key is too small for the image, and you should try again with a larger capacity one.

Booting!

Begin with your B3 powered off and the power cable removed. Insert the USB key into either of the USB slots on the back of the B3, and make sure the other USB slot is unoccupied. Connect your B3 into your local network (or directly to your ADSL router, cable modem etc., if you wish) using the wan Ethernet port. Then, while holding down the button on the back of the B3, apply power (insert the power cable). After two seconds or so, release the button. If all is well, the B3 should boot the kernel off of the USB key (rather than the internal drive), and then proceed to mount the root partition (also from the USB key) and start Gentoo. This will all take about 40 seconds or so. The LED on the front of the B3 should:

  1. first, turn green, for about 30 seconds, as the bootloader is starting; then,
  2. turn off for about 5 seconds as the real kernel is loading, then
  3. turn purple for about one and a half minute while the system is initializing; and finally,
  4. turn green again when the system is fully functional.

The purple state will use 15 seconds less if you attach the WAN port to a valid existing network

The image uses a solid green LED as its 'normal' state to show that your B3 is running from USB key. This should make it easy to identify whether your system booted from USB or hard drive

After the LED turns green in step 3, above, you should be able to log in, via ssh, per the following instructions.

Connecting to the B3

First, connect your client PC (or Mac etc.) to the lan Ethernet port of your B3 (you can use a regular Ethernet cable for this, the B3's ports are autosensing). WiFi is disabled. Once booted, you can use your browser to connect to the B3 through http://b3, where you should see the familiar Excito B3 admin. The default username and password for the administrator account is:     Username: admin     Password: admin

As a security measure, it is strongly recommended to change the admin password. Please reference the Excito manual (online version on your booted B3)

Alternatively you may log into the B3 using an ssh client:

$ ssh root@b3
The authenticity of host 'b3 (192.168.10.1)' can't be established.
ED25519 key fingerprint is 0c:b5:1c:66:19:8a:dc:81:0e:dc:1c:f5:25:57:7e:66.
Are you sure you want to continue connecting (yes/no)? <type `yes` and press Enter>
Warning: Permanently added 'b3,192.168.10.1' (ED25519) to the list of known hosts.
Password: <type `gentoob3` and press Enter>
b3 ~ # 

and you're in! You may receive a different fingerprint type, depending on what your ssh client supports. Also, please note that the ssh host keys are generated on first boot (for security), and so the fingerprint you get will be different from that shown above.

If you have trouble with ssh root@b3, you can also try using ssh root@192.168.10.1 instead.

If you have previously connected to a different machine with the same IP address as your B3 via ssh from the client PC, you may need to delete its host fingerprint (from ~/.ssh/known_hosts on the PC) before ssh will allow you to connect.

Incidentally, you should also be able to browse the web etc. from your client (assuming that you connected the B3's wan port prior to boot), because the image has a forwarding firewall setup.

Using Gentoo

For the main text on this, please refer to the older README by Sakaki.

The following major changes to the original 1.8.0 release from Sakaki apply:

  1. The image supplied kernel is version 6.12.38 and supports both openrc and systemd init systems.

  2. The live USB image has been brought up to date against the Gentoo tree as of 6 Jan 2026. The full set of packages in the image may be viewed here.

  3. The bubbagen image has sysvinit patched to follow the hardware specific routine for shutting down. As such you can now simply use halt or poweroff commands (Sakaki's poweroff-b3 script is not available in this image) to shut down the B3.

Please note that the B3 does not actually power down but enters a special pre boot environment where it waits for the button on the rear to be pressed. As multiple users discovered, this happens to be pretty CPU intensive and the B3 may run quite hot and even use more power than when running an OS.

Have fun! ^-^

Changes since version 1.18

  • rebranded packages:
    • catched up with forked-daapd having been rebranded OwnTone a long time ago
    • Logitech Media Server has become Lyrion Music Server
  • fixed incorrect user ID in net-p2p/filetransferdaemon, due to which the upload file procedure was disfunctional
  • developer language updates: gcc 15.2, perl 5.42, python 3.13, php 8.3
  • java developer kit removed, its only purpose was to be able to build forked-daapd
  • moved app-portage/genup to the bubba repository as it required updating due to Gentoo's perl packages maintainer causing it to horribly fail. The revised version prioritizes installing app-admin/bubbagen, allowing vital changes to be made to portage environment prior to running possible system breaking world updates
  • reorganized the package sets to create a smaller install base for people that only want basic functionality - i.e. Windows file sharing and the web based administration tool.

Changes since version 1.17

  • switched to Gentoo profile 23

Changes since version 1.16

  • dropped systemd as a binary release - see wiki if you like to switch to systemd
  • switched to merged-u
View on GitHub
GitHub Stars8
CategoryDevelopment
Updated2mo ago
Forks3

Languages

Shell

Security Score

90/100

Audited on Jan 6, 2026

No findings