Debian stretch (9) image 1.1 released for B3

Discuss development on Bubba
MouettE
Site admin
Posts: 267
Joined: 06 Oct 2011, 19:45

Debian stretch (9) image 1.1 released for B3

Post by MouettE » 04 Jul 2017, 11:39

Hello everyone,

I've just release the debian stretch image for the B3. As stated previously debian dropped support for the powerpc architecture so it's not avaible for the Bubba|2 :( . As for the jessie image, this image is constructed from 3 different projects : the stretch OS image itself, a updated install/rescue system and a updated installer script. More details on these further in this post.

Current users of the jessie image can also directly upgrade their system using standard system tools. More details below.

First the link and quick howtos for install and upgrade:
Quick install howto

This works the same way as the jessie image:
  • 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 B3 and apply power while pushing the rear button.
  • The rescue/install system will start, format the drive, extract the stretch 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 (the updated installer will now copy the network settings from install.ini to the stretch system by default. This can be changed in the install.ini file).
  • 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
    
Quick upgrade howto

I recommend you go through the stretch release notes which include upgrade instructions. The only b3 specific task you need to do is to update the /etc/apt/sources.list.d/excito.list and change jessie to stretch inside when preparing apt sources (step 4.3 of the upgrade guide)

That being said if you want to go fast and don't mind fixing broken stuff after the upgrade here is a very quick-and-dirty how-to :
  • update packages to the latest version with apt-get update and apt-get upgrade
  • replace jessie with stretch in /etc/apt/sources.list and /etc/apt/sources.list.d/excito.list
  • run

    Code: Select all

    apt-get update
    and

    Code: Select all

    apt-get dist-upgrade
  • reboot the b3, check the running kernel with uname -a (should be a 4.9.x kernel) and check services with systemctl status
  • Fix whatever needs to be fixed :)
  • run

    Code: Select all

    apt-get autoremove --purge
    to cleanup old packages.
OS image contents

The stretch 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 4.9.x series with Excito patches. This is actually the series used in debian and it's LTS upstream. Sources are available on github
  • Excito-specific packages (kernel, button and 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 stretch 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 default network configuration is DHCP for both interfaces. It may be overridden by the install.ini configuration.
  • 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).
The install/rescue system

For this release I updated install/rescue system with the latest 2017.05 Buildroot tree, kernel 4.9.34 and a set of useful packages. Full sources and rudimentary compilation instructions are available on github.

The installer script

I've also updated the installer script with a couple of fixes and the most-requested option of copying the network settings from the install/rescue system to the installed stretch system. Everything else work the same way and is still configured through the install.ini file on the USB install key. It's heavily commented so all the options can be understood and changed accordingly.

Also in rescue-only or if reboot is disabled, the install script on exit will also still animate the LED to dictate the first IP address of the box. It's bonus 8) and will hopefully make it easier to know the DHCP-attributed address of the server.

Conclusion

As always ask as many questions as you want I will be more than happy to answer them.

Charles

Stryker
Posts: 55
Joined: 17 Oct 2013, 11:03

Re: Debian stretch (9) image 1.0 released for B3

Post by Stryker » 05 Jul 2017, 11:22

Just upgraded my B3 from your previous jessie image.

If you get an error message about gpg-key EF0F382A1A7B6500 missing, install/upgrade the package "debian-archive-keyring".

e: Also, halting the system doesn't hang ssh anymore. Didn't know what caused that, but it was standard behaviour for a long time for me.

fredrikj
Posts: 31
Joined: 27 Jul 2011, 12:31

Re: Debian stretch (9) image 1.0 released for B3

Post by fredrikj » 09 Jul 2017, 08:52

Here's a brief report of a successful Stretch installation using this image. It worked flawlessly. Thanks! :)

I made a fresh install, configured install.ini to wipe the drive and create a root partition of 20 GB. I also configured a static ip on the LAN interface using install.ini. Everything worked as expected.

I like that it installs a bare bones Debian system with no public network services except ssh.

One question, the installation instructions mentions that the usb drive needs to be "fat-formatted usb key with a partition table". I used gnome-disks, which uses parted internally, and that worked just fine. Though gnome-disks doesn't (AFAICT) have a explicit command for creating a partition table, it seems to do that anyway. Is it safe to assume that the common disk tools on linux defaults to creating a partition table when they format and create a new filesystem on a usb drive? If not, how does one confirm that a usb drive has a partition table?

Stryker
Posts: 55
Joined: 17 Oct 2013, 11:03

Re: Debian stretch (9) image 1.0 released for B3

Post by Stryker » 09 Jul 2017, 13:10

If you are talking about gnome-disk-utility (or "Disks" in Ubuntu), it says so in the top right panel.
I think that tool would also inform you, if it did not in fact have one.

MouettE
Site admin
Posts: 267
Joined: 06 Oct 2011, 19:45

Re: Debian stretch (9) image 1.0 released for B3

Post by MouettE » 09 Jul 2017, 14:36

fredrikj wrote:
09 Jul 2017, 08:52
Here's a brief report of a successful Stretch installation using this image. It worked flawlessly. Thanks!
Good !
fredrikj wrote:
09 Jul 2017, 08:52
Is it safe to assume that the common disk tools on linux defaults to creating a partition table when they format and create a new filesystem on a usb drive?
Yes it is safe to think so.

MouettE
Site admin
Posts: 267
Joined: 06 Oct 2011, 19:45

Re: Debian stretch (9) image 1.0 released for B3

Post by MouettE » 15 Jul 2017, 15:04

I've noticed today that if you've upgraded from jessie to stretch with the easyfind-client installed, the easyfind functionnality broke. I've released new version of excito-release and easyfind-client which fixed the issue. Please do a usual apt-get update / apt-get upgrade to upgrade these packages.

Stryker
Posts: 55
Joined: 17 Oct 2013, 11:03

Re: Debian stretch (9) image 1.0 released for B3

Post by Stryker » 15 Jul 2017, 23:22

What even is easyfind?
Never used the original image much, so I have no idea.

ahoff
Posts: 86
Joined: 01 Apr 2008, 20:50
Location: Swe

Re: Debian stretch (9) image 1.0 released for B3

Post by ahoff » 20 Jul 2017, 01:34

What even is easyfind?
It's excitos dyndns service.
Åke Hoff
Örskogen
Sweden

PeterSch
Posts: 2
Joined: 03 Jul 2017, 10:48

Re: Debian stretch (9) image 1.0 released for B3

Post by PeterSch » 23 Jul 2017, 07:10

I tried the image, and it works with the default settings (LED changes from green, purple to blue and i can do ssh. An install.log is written to the USB stick).

However, if i try to set the disk size to full it fails (install.ini: size = full).
Setting the default value of size = 10 also doesn't work. It doesn't change the LED color, it stays green, and neither write a log file.

It looks to me that the installer fails to parse the install.ini file, but I cannot see why.

Peter Scholtens (Nijmegen, The Netherlands)

MouettE
Site admin
Posts: 267
Joined: 06 Oct 2011, 19:45

Re: Debian stretch (9) image 1.0 released for B3

Post by MouettE » 23 Jul 2017, 14:22

Just did a few tests with the image changing the size value and everything seems to work fine. Can you post the content of your install.ini file (remove empty/comment lines) ?

PeterSch
Posts: 2
Joined: 03 Jul 2017, 10:48

Re: Debian stretch (9) image 1.0 released for B3

Post by PeterSch » 24 Jul 2017, 13:17

I unpacked the file b3-stretch-install-1.0.zip and only uncommented line 101 in the install.ini file.
So then the keyword size is located before the general statement. That didn't work, I found out, because the Python parser doesn't know what to do with it. Then I looked in the git repo, and saw that the keyword size was positioned after the general statement. Now I understand it, it looks logical, but it would be convenient if the zipped file had the commented size example after the first uncommented general statement, similar as the git repo.

So the problem is solved. The B3 is up and running for almost 24 hours. Thanks for the useful stretch image!

Puma
Posts: 227
Joined: 29 Sep 2008, 06:30

Re: Debian stretch (9) image 1.0 released for B3

Post by Puma » 07 Aug 2017, 08:28

During installation wlan0 did not work...
After a while I learned that the network interfaces now have been renamed.

old wlan0 is now named wlp1s0

the first two letter describe the type of interface
The following code is often a description of the physical placement of the device in your computer - p2 is likely PCI bus 2, and s0 is likely slot 0.
B3 standard : wlp1s0

So change wlan0 to wlp1s0 inside
/etc/network/interfaces
hostapd.conf

and it's working again.

Puma
Linux is like a wigwam - no windows, no gates, apache inside!

MouettE
Site admin
Posts: 267
Joined: 06 Oct 2011, 19:45

Re: Debian stretch (9) image 1.0 released for B3

Post by MouettE » 07 Aug 2017, 09:15

Thanks for the info Puma, I don't have WiFi B3 at home anymore so I didn't see that. Note that it only applies to the wifi interfaces, wired lan and wan interfaces remains eth0 and eth1.

Gordon
Posts: 1356
Joined: 10 Aug 2011, 03:18

Re: Debian stretch (9) image 1.0 released for B3

Post by Gordon » 08 Aug 2017, 05:43

Ah yes, 'predictable' names if you assume one knows to which physical slot hardware is connected.

You can also add an udev rule to name the wifi device what you expect it to be:

Code: Select all

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="ath9k", NAME="wlan0"
(change driver if you added some other brand/type wifi adapter yourself)

anat
Posts: 10
Joined: 22 Oct 2011, 15:11

Re: Debian stretch (9) image 1.0 released for B3

Post by anat » 17 Aug 2017, 14:39

The installation was very easy and straight forward! Thank you for the good work MouettE

The prolem is, I can't figure out how to get Squeezebox Server running. I installed http://downloads.slimdevices.com/nightl ... 23_arm.deb, but it complains about Perl libraries:
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
Now before digging deeper into this, I'm just trying confirm that is this supposed be this hard or am I missing something?

Post Reply