[oe] [RFC] Rootfs without busybox in it

Marcin Juszkiewicz marcin at juszkiewicz.com.pl
Fri Mar 19 16:52:12 UTC 2010


As part of my work for BugLabs company I am working on creating root 
filesystem which does not rely on BusyBox for 90% of commands but rather use 
normal versions of them.

I have something what boots and more or less works but found few issues for 
which I want to get some discussion.

1. 'ifupdown' package needed changes:

- removal of 'networking' initscript
- removal of 'interfaces' definition
- shipping /etc/network/run/ directory

first two are present in 'netbase' and are usually more optimised for OE 
targets, last one is required for keeping information about state of 

2. lack of '/bin/sh' makes device not bootable

One solution is to use 'update-alternatives' script for handling that. But 
this is 'egg & chicken' problem because 'u-a' is shell script. So far my 
temporary solution is creation of 'bash-sh' package which symlinks '/bin/bash' 
in post install script and in pre remove symlinks it to busybox. It is not 
ideal but I needed something to get it working.

3. lack of '/etc/init.d/hwclock.sh'

We provide it with BusyBox package, Debian has own one in util-linux(-ng) 
package. I am planning to strip Debian one from log functions and test it.

4. lack of 'start-stop-daemon'

So far I am using one from 'dpkg' but not extracted it to separate package.

5. 'adduser' is from 'tinylogin'

We can not use Debian one because it is written in Perl. 'useradd' comes from 
'shadow' package. There are few versions of 'adduser' command in contrib/ 
directory of shadow sources - 'adduser.sh' one looks simplest.

Tinylogin should be dropped in OE anyway in favour of BusyBox (but that's 
other story).

Will write more when will remind them.

JID:      hrw at jabber.org
Website:  http://marcin.juszkiewicz.com.pl/
LinkedIn: http://www.linkedin.com/in/marcinjuszkiewicz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ifupdown-do-not-ship-files-present-in-netbase.patch
Type: text/x-patch
Size: 2098 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100319/11d7e709/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bash.inc.patch
Type: text/x-patch
Size: 564 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100319/11d7e709/attachment-0005.bin>

More information about the Openembedded-devel mailing list