Skip to content

Commit

Permalink
Update for 1.3.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
sakaki- committed Jul 29, 2015
1 parent e3f305f commit 0303311
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# gentoo-on-b2

Bootable live-USB of Gentoo Linux for the Excito B2 miniserver, with Linux 4.0.4
Bootable live-USB of Gentoo Linux for the Excito B2 miniserver, with Linux 4.1.3

## Description

<img src="https://raw.githubusercontent.com/sakaki-/resources/master/excito/b2/Excito_b2.jpg" alt="Excito B2, aka Bubba|TWO" width="250px" align="right"/>
This project contains a bootable, live-USB image for the Excito B2 (aka Bubba|TWO) 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 B2's main hard drive. You can even use it on a diskless B2. No soldering, compilation, or [U-Boot](http://www.denx.de/wiki/U-Boot/WebHome) flashing is required! You can run it without harming your B2's existing software; however, any changes you make while running the system *will* be saved to the USB (i.e., there is persistence). Also, as with its [sister B3 project](https://github.com/sakaki-/gentoo-on-b3), a number of useful software packages (web server, mail server etc.) are included precompiled with the image (in their 'freshly emerged' configuration state), for convenience.

The kernel used in the image is **4.0.4** from gentoo-b2-sources (i.e., the [kernel.org](https://www.kernel.org) sources, with Gentoo and [B2-specific](https://github.com/sakaki-/gentoo-b2-kernel-patches/) patches applied). The `.config` used for the kernel may be found [here](https://github.com/sakaki-/gentoo-on-b2/blob/master/configs/b2_live_usb_config) in the git archive.
The kernel used in the image is **4.1.3** from gentoo-b2-sources (i.e., the [kernel.org](https://www.kernel.org) sources, with Gentoo and [B2-specific](https://github.com/sakaki-/gentoo-b2-kernel-patches/) patches applied). The `.config` used for the kernel may be found [here](https://github.com/sakaki-/gentoo-on-b2/blob/master/configs/b2_live_usb_config) in the git archive.

The images may be downloaded from the links below (or via `wget`, per the following instructions). (Incidentally, the image is now 'universal', and should work, without modification, whether your B2 has an internal hard drive fitted or not.) I have also provided a small `blinktest` image that you can use to very quickly establish if your USB key will work correctly with U-Boot; see [these notes](https://github.com/sakaki-/gentoo-on-b2/wiki/Quickly-Testing-your-USB-Key-for-Compatibility).

Variant | Version | Image | Digital Signature
:--- | ---: | ---: | ---:
B2 with or without Internal Drive | 1.2.0 | [genb2img.xz](https://github.com/sakaki-/gentoo-on-b2/releases/download/1.2.0/genb2img.xz) | [genb2img.xz.asc](https://github.com/sakaki-/gentoo-on-b2/releases/download/1.2.0/genb2img.xz.asc)
B2 with or without Internal Drive | 1.3.0 | [genb2img.xz](https://github.com/sakaki-/gentoo-on-b2/releases/download/1.3.0/genb2img.xz) | [genb2img.xz.asc](https://github.com/sakaki-/gentoo-on-b2/releases/download/1.3.0/genb2img.xz.asc)
USB Key Compatibility Tester | 1.2.0 | [blinktestimg.xz](https://github.com/sakaki-/gentoo-on-b2/releases/download/1.2.0/blinktestimg.xz) | [blinktestimg.xz.asc](https://github.com/sakaki-/gentoo-on-b2/releases/download/1.2.0/blinktestimg.xz.asc)

The older images are still available (together with a short changelog) [here](https://github.com/sakaki-/gentoo-on-b2/releases).
Expand All @@ -23,7 +23,7 @@ The older images are still available (together with a short changelog) [here](ht
## Prerequisites

To try this out, you will need:
* A USB key of at least 8GB capacity (the *compressed* (.xz) image is 340MiB, the *uncompressed* image is 14,813,184 (512 byte) sectors = 7,584,350,208 bytes). I have tested it successfully with a [SanDisk Cruzer Blade 8GB USB 2.0 key](http://www.amazon.co.uk/gp/product/B002U28LZC), a [Lexar 16 GB USB 3.0 key](http://www.amazon.co.uk/gp/product/B008XIYKE8), and with a [Memwah single-slot micro-SD to USB adaptor](http://www.amazon.co.uk/gp/product/B004WFT762) (plus [Samsung 32GB micro-SD card](http://www.amazon.co.uk/gp/product/B00J29BR3Y)); unfortunately, a number of other brands do not work with U-Boot's drivers. You may find this [related list of known-good USB keys](http://forum.doozan.com/read.php?2,1915,page=1) useful. If in doubt, try using my `blinktest` image first to quickly check your USB key for U-Boot compatibility; see [these notes](https://github.com/sakaki-/gentoo-on-b2/wiki/Quickly-Testing-your-USB-Key-for-Compatibility).
* A USB key of at least 8GB capacity (the *compressed* (.xz) image is 341MiB, the *uncompressed* image is 14,813,184 (512 byte) sectors = 7,584,350,208 bytes). I have tested it successfully with a [SanDisk Cruzer Blade 8GB USB 2.0 key](http://www.amazon.co.uk/gp/product/B002U28LZC), a [Lexar 16 GB USB 3.0 key](http://www.amazon.co.uk/gp/product/B008XIYKE8), and with a [Memwah single-slot micro-SD to USB adaptor](http://www.amazon.co.uk/gp/product/B004WFT762) (plus [Samsung 32GB micro-SD card](http://www.amazon.co.uk/gp/product/B00J29BR3Y)); unfortunately, a number of other brands do not work with U-Boot's drivers. You may find this [related list of known-good USB keys](http://forum.doozan.com/read.php?2,1915,page=1) useful. If in doubt, try using my `blinktest` image first to quickly check your USB key for U-Boot compatibility; see [these notes](https://github.com/sakaki-/gentoo-on-b2/wiki/Quickly-Testing-your-USB-Key-for-Compatibility).
* An Excito B2 (obviously!). As of version 1.1.0, the *same* image will work both for the case where you have an internal hard drive in your B2 (the normal situation), *and* for the case where you are running a diskless B2 chassis.
* A PC to decompress the appropriate image and write it to the USB key (of course, you can also use your B2 for this, assuming it is currently running the standard Excito / Debian system). This is most easily done on a Linux machine of some sort, but tools are also available for Windows (see [here](http://tukaani.org/xz/) and [here](http://sourceforge.net/projects/win32diskimager/), for example). In the instructions below I'm going to assume you're using Linux.

Expand All @@ -33,10 +33,10 @@ To try this out, you will need:

On your Linux box, issue:
```
# wget -c https://github.com/sakaki-/gentoo-on-b2/releases/download/1.2.0/genb2img.xz
# wget -c https://github.com/sakaki-/gentoo-on-b2/releases/download/1.2.0/genb2img.xz.asc
# wget -c https://github.com/sakaki-/gentoo-on-b2/releases/download/1.3.0/genb2img.xz
# wget -c https://github.com/sakaki-/gentoo-on-b2/releases/download/1.3.0/genb2img.xz.asc
```
to fetch the compressed disk image file (340MiB) and its signature.
to fetch the compressed disk image file (341MiB) and its signature.

Next, if you like, verify the image using `gpg` (this step is optional):
```
Expand Down Expand Up @@ -160,8 +160,8 @@ Have fun! ^-^
## Miscellaneous Points

* The B2's hardware (busses, interrupts etc.) is described by the file `8313E21.dtb` which lives in the 'stock' B2's `/boot` directory (and which is included - in decompiled form - in the [git archive](https://github.com/sakaki-/gentoo-on-b2/blob/master/reference/8313E21.dts) too, for reference).
* The live USB works because the B2's firmware boot loader will automatically try to run a file called `/install/8313E21.itb` (or `install/install.itb`, in the case of rev 1 B2s) from the first partition of the USB drive when the system is powered up with the rear button depressed. In the provided image, a flattened image tree (FIT, see [here](http://elinux.org/images/f/f4/Elc2013_Fernandes.pdf) and [here](http://www.denx.de/wiki/pub/U-Boot/Documentation/multi_image_booting_scenarios.pdf)) has been placed in that location; this encapsulates both the `8313E21.dtb` file just mentioned, _and_ a bootable kernel, with an internal command line set to `root=PARTUUID=BBF82D16-03 rootfstype=ext4 rootdelay=5 console=ttyS0,115200n8` (the alternative `install.itb` file has a `bubba.dtb` device tree blob instead of `8313E21.dtb`). To avoid having to flash new environment variables for the B2's U-Boot to accomodate the larger 4.0.4 kernel (via [`fw_setenv`](http://forum.mybubba.org/viewtopic.php?f=7&t=2715&p=17607&hilit=printenv#p17607)), I have provided an assembly-language relocation shim which is prepended to the kernel; see [the manpage to `buildkernel-b2`](https://github.com/sakaki-/gentoo-on-b2/raw/master/reference/buildkernel-b2.pdf) for further details.
* Unlike its [sister B3 project](https://github.com/sakaki-/gentoo-on-b3), the B2 does require a patched kernel to boot (because of custom settings for its USB driver, primarily). The patches used for the kernel in the image are available [here](https://github.com/sakaki-/gentoo-b2-kernel-patches/), and the patched 4.0.4 kernel is best installed via its ebuild [here](https://github.com/sakaki-/gentoo-b2-overlay/tree/master/sys-kernel/buildkernel-b2) (part of my custom `gentoo-b2` [overlay](https://github.com/sakaki-/gentoo-b2-overlay), to which the image is subscribed). The image is additionally subscribed to my `sakaki-tools-lite` [overlay](https://github.com/sakaki-/sakaki-tools-lite).
* The live USB works because the B2's firmware boot loader will automatically try to run a file called `/install/8313E21.itb` (or `install/install.itb`, in the case of rev 1 B2s) from the first partition of the USB drive when the system is powered up with the rear button depressed. In the provided image, a flattened image tree (FIT, see [here](http://elinux.org/images/f/f4/Elc2013_Fernandes.pdf) and [here](http://www.denx.de/wiki/pub/U-Boot/Documentation/multi_image_booting_scenarios.pdf)) has been placed in that location; this encapsulates both the `8313E21.dtb` file just mentioned, _and_ a bootable kernel, with an internal command line set to `root=PARTUUID=BBF82D16-03 rootfstype=ext4 rootdelay=5 console=ttyS0,115200n8` (the alternative `install.itb` file has a `bubba.dtb` device tree blob instead of `8313E21.dtb`). To avoid having to flash new environment variables for the B2's U-Boot to accomodate the larger 4.1.3 kernel (via [`fw_setenv`](http://forum.mybubba.org/viewtopic.php?f=7&t=2715&p=17607&hilit=printenv#p17607)), I have provided an assembly-language relocation shim which is prepended to the kernel; see [the manpage to `buildkernel-b2`](https://github.com/sakaki-/gentoo-on-b2/raw/master/reference/buildkernel-b2.pdf) for further details.
* Unlike its [sister B3 project](https://github.com/sakaki-/gentoo-on-b3), the B2 does require a patched kernel to boot (because of custom settings for its USB driver, primarily). The patches used for the kernel in the image are available [here](https://github.com/sakaki-/gentoo-b2-kernel-patches/), and the patched 4.1.3 kernel is best installed via its ebuild [here](https://github.com/sakaki-/gentoo-b2-overlay/tree/master/sys-kernel/buildkernel-b2) (part of my custom `gentoo-b2` [overlay](https://github.com/sakaki-/gentoo-b2-overlay), to which the image is subscribed). The image is additionally subscribed to my `sakaki-tools-lite` [overlay](https://github.com/sakaki-/sakaki-tools-lite).
* Because the B2 has a small amount of RAM (256MB), the USB image includes a 1GiB swap partition; this is needed if you want to build large packages (such as `gcc`) locally.
* If you have a USB key larger than the minimum 8GB, after writing the image you can easily extend the size of the second partition (using `fdisk` and `resize2fs`), so you have more space to work in. See [these instructions](http://geekpeek.net/resize-filesystem-fdisk-resize2fs/), for example.

Expand Down Expand Up @@ -217,9 +217,9 @@ Once logged in, feel free to configure your system as you like! Of course, if yo

If you'd like to compile a kernel on your new system, you can do so easily (even if still running from the USB - it has sufficient free space).

Suppose you wish to build 4.0.4 (the same version as supplied in the image), using our [specially patched](https://github.com/sakaki-/gentoo-b2-kernel-patches/) version of the kernel sources. Then you would issue:
Suppose you wish to build 4.1.3 (the same version as supplied in the image), using our [specially patched](https://github.com/sakaki-/gentoo-b2-kernel-patches/) version of the kernel sources. Then you would issue:
```
b2 ~ # emerge =gentoo-b2-sources-4.0.4
b2 ~ # emerge =gentoo-b2-sources-4.1.3
(this will take some time to complete, depending on your network connection)
b2 ~ # eselect kernel list
(this will show a numbered list of kernels)
Expand Down

0 comments on commit 0303311

Please sign in to comment.