[Freedombox-discuss] Feedback and patches for freedom-maker.

Thiago Jung Bauermann thiago.bauermann at gmail.com
Wed Nov 2 04:17:27 UTC 2011


Hello,

First and foremost I want to thank you all for working on this project.
I'm very excited about it and following it closely. Here are some
feedback and suggestions on the freedom-maker tool.

I recently acquired a Dreamplug. After quite some work I was able to
install Debian on it (mainly because I've never installed Debian on an
embedded device before). On IRC Rob Savoye pointed me to freedom-maker.
I wish I knew about it earlier! :-)

To help future users and prospective developers, I mentioned the tool on
http://wiki.debian.org/FreedomBox/GettingStarted .

Anyway, I decided to make some fixes and improvements based on my
experience with my tinkering of my DreamPlug. I created a clone of the
repository on github and pusehd the bauermann-improvs branch with my
suggested patches:

https://github.com/bauermann/freedom-maker

The biggest change is related to the kernel. The kernel that is included
in Bdale's repo has a very customized configuration, with many features
missing when compared to Debian's wheezy linux-image for kirkwood
machines.

I created a config file which is very close to the one found in the
package linux-image-3.0.0-1-kirkwood version 3.0.0-3 (which is the one
in wheezy at the time of this writing). It can be found in
kernel/config-3.0.0-1bauer4-kirkwood. I also put there the .deb files
that I generated and added instructions on how to create the .debs in
kernel/README.

The main features of my kernel image compared to the original one are:

      * Proper use of the --append-to-version flag of make-kpkg, which
        creates a package with a correct name (i.e.
        linux-image-3.0.0-foo-kirkwood), which allows it to be installed
        together with other linux-image packages, and avoids the need of
        renaming vmlinuz and initrd files in the freedom-maker scripts,
        and of creating a link in /lib/modules.
      * Inclusion of the kernel features needed for using Linux
        Containers (mostly cgroup and namespaces support).
      * Inclusion of CONFIG_WEXT_PRIV, which is necessary to compile
        Marvell's sd-wlan wireless driver (which apparently is the only
        which works in client mode) [1].
      * Inclusion of CONFIG_LIBERTAS_SDIO which is another wireless
        driver which can be used on the DreamPlug.

The link in /lib/modules was particularly problematic since it's not
transported to the generated initrd image, which makes booting with the
initrd fails since it can't find the kernel modules on boot. I needed a
functional initrd so I could have the root filesystem on LVM. I now have
a functional initrd and I am successfuly using LVM for my root
filesystem.

I still had no luck getting the plug to connect to an existing wireless
network though. :-/

One thing I didn't understand is the remark on the botton of the README
saying that it's necessary to generate new ssh host keys. Fresh keys are
created in the process of configuring packages inside the chroot after
multistrap finishes, no?

Last but not least, my next steps are:

     1. Get client mode wireless to work (though I may skip this since
        maybe I'll use the dreamplug as a router).
     2. Set up some containers to run each service in isolation. I'm
        planning to closely follow the architecture laid out here:

http://freedomboxblog.nl/a-software-architecture-for-the-freedombox/

That's all for now. As time goes by, I intend to report more on my
progress setting up my Dreamplug and the servicces I wish to run.

Cheers!

-- 
[]'s
Thiago Jung Bauermann

[1] - http://www.plugcomputer.org/plugforum/index.php?topic=5847.msg18970#msg18970




More information about the Freedombox-discuss mailing list