At long last I finally finished working on the minimal jessie image for both Excito Bubba|2 and B3. These images are constructed from 3 different projects : the jessie OS image itself, a new install/rescue system and a new installer script. More details on these further in this post. First the links and a quick howto:
- b3-jessie-install-1.0.zip (sha1: 14a246b41868ab48b41ea41075d34ca6b2b2f53a)
- bubbatwo-jessie-install-1.0.zip (sha1: bbb454a88af06c10e2ec10c03def40c00f734456)
The image works in a very similar way from the classic excito images. Please note that there is no need to update U-Boot on the B3 and that created partitions will be well-aligned for SSD users. I've tried to test it the best that I could but everything is brand new so do not expect it to work flawlessly. BACKUP BACKUP BACKUP if you have data that you intend to keep on the server.
- Unzip the downloaded file on a fat-formatted usb key with a partition table
- By default the installer will wipe the entire disk. If you wish to keep the existing data of your device, edit the install.ini file inside the install directory and set wipe to false at the bottom of the file. The installer will then only format the first partition of the drive.
- plug the usb key on the Bubba|2 or B3 and apply power while pushing the rear button.
- The rescue/install system will start, format the drive, extract the jessie image and reboot the server.
- By default the network is configured for dhcp on both network interface. It can be changed in the install.ini file (note that these settings only apply to the rescue/install system ; installed system will always use dhcp on both interfaces, see below).
- If the LED turns red, something went wrong. Turn off the server and post the install.log file which is created in the install directory of the key so I can help you out.
- When the LED is solid blue you can ssh into the box with user 'excito' (no quotes) and password 'excito' (no quotes). Then you can 'su' ; the root password is 'excito' (no quotes).
- Once you're logged in I strongly recommend to set the locale and timezone of your server (its defaults are POSIX and UTC). Run the following commands :
Code: Select all
dpkg-reconfigure locales dpkg-reconfigure tzdata
The jessie OS is a very minimal debian install with only the core packages needed to start and ssh into the server. The image was bootstraped directly from standard debian utils (not built from upgrade of a previous version). There is a github repository which describes all the steps taken to build it.
- The kernel used is Linux LTS 3.18.x series with Excito patches. I've choosen this version because it's LTS and close from the one debian uses in jessie (3.16). Sources are available on github
- Excito-specific packages (kernel, led management) are available in a repository I maintain on the Excito servers. The image is pre-configured to use it so further upgrades can be installed with apt tools. Everything is on github too.
- U-Boot tools are installed and configured so you can play with u-boot if you dare. WARNING this is risky business, use it at your own risk.
- The root password is 'excito' (without quotes) and I've also created an excito user with the same password. Note that by default in jessie you can not ssh directly as root with a password.
- SSH host keys are generated on the first boot and it takes a few seconds.
- The network configuration is DHCP for both interfaces.
- Should you be allergic to systemd, the excito packages _SHOULD_ work with systemV but I haven't tested them. The feedback is welcome (or not so I can remove all these complicated init scripts).
For this release I decided to build a new install/rescue system with a recent kernel and set of packages. It's based on the latest 2015.11 Buildroot and uses a 3.18.21 linux kernel. I've tried to include the tools I considered useful for both install and troubleshooting (partitioning/formatting, lvm/raid, ecryptfs, btrfs, debootstrap, etc.) while keeping it small (b3's install/rescue system is 15mb compressed). Full sources and rudimentary compilation instructions are available on github.
The new installer script
At this point there was no good reason not to write a new install script. Initially I tried to write a full-fledged installation system, with raid and lvm support, u-boot manipulation but it was too complicated and far too risky so I changed my mind and lowered the specifications. It works in two modes :
- wipe mode: in this mode the script will wipe the disk and create two partitions : one for the system and one for the swap. The sizes are 10G/1G by defaults and can be customized.
- non-wipe : in this mode the script will not change the partition table. It will try to use the first partition as system (if it's large enough) and an exisiting swap partition. The system and the swap partitions will be formatted leaving the rest untouched.
The network configuration can also be changed in the same file.
On the B3, in rescue-only or if reboot is disabled, the install script on exit will also animate the LED to dictate the first IP address of the box. It's bonus and will hopefully make it easier to know the DHCP-attributed address of the server.
I would especially like to thank sakaki for her support and all her work on arch and gentoo images which was extremly useful and specifically allowed this image to be available on the Bubba|2.
I have tried to test the most of it and I think it's fairly good for public release. However this is still a 1.0 version so there will probably will be a few bugs and useful evolutions for the next versions. Every bug report or suggestion is welcomed either here or as issues in the github repositories.
And ask as many questions as you want I will be more than happy to answer them.