[Toybox] CI for toybox

roger at bufferoverflow.ch roger at bufferoverflow.ch
Wed Feb 15 12:54:43 PST 2012


Quoting Rob Landley <rob at landley.net>:

> On 02/10/2012 04:52 AM, Roger Meier wrote:
>> Hello
>>
>> I've added toybox to my build environment:
>> http://www.bufferoverflow.ch/jenkins/job/toybox/
>>
>> Might be of interest for you.
>
> Um, yay?  What does your build environment do?
At the moment I do
- sloccount
- cppcheck, probably splint as a future option
- build with gcc, clang and arm-none-linux-gnueabi-gcc
- run testsuite for gcc and clang built binaries

>
> I'm feeding toybox into my aboriginal linux build, which creates the
> smallest/simplest native development environment capable of rebuilding
> itself under itself:
>
>   http://landley.net/aboriginal/FAQ.html
>
> It actually builds the same system for a dozen different targets (arm,
> mips, powerpc, sparc, sh4, etc) and then boots most of them under qemu
> so you have a native build environment without having to buy special
> hardware.
I will definatly have a look on that!

>
> The current version uses busybox to provide all the command line tools
> (the whole thing is 7 packages: linux, gcc, binutils, make, bash,
> busybox, and uClibc).  What I'm doing is installing toybox right after I
> install busybox, overwriting the busybox tools with defconfig toybox and
> seeing if the result can A) rebuild itself, B) build Linux From Scratch 6.8.
>
> This is how I became busybox maintainer in the first place, way back
> when: by extending busybox to replace everything but libc and the
> toolchain from the Linux From Scratch build, I was more active than any
> other developer, including Erik, so he handed it over when he got busy
> with other things. (His 1.0 release still didn't remotely do what I
> needed it to for my use case.)
>
> It took a _lot_ of work to make that happen, but I eventually did.  Now
> I'm doing the same thing with toybox, adding one command at a time until
> aboriginal no longer needs busybox installed to build itself or LFS.
> (And if you can build LFS, you can build anything natively by
> building/installing your prerequisite packages first.)
>
> I documented this in the roadmap wiki page:
>
> http://elinux.org/Busybox_replacement#Use_case:_provide_a_self-hosting_development_environment
>
> The delay in the recent 0.2.0 release was me making sure that at least
> the i686 target built the basic aboriginal linux system image using
> toybox defconfig in place of the appropriate busybox commands.
> Aboriginal also builds arm, mips, powerpc, sparc, sh4, and so on, so I
> have to test endianness and alignment issues, but my netbook is kinda
> slow and I think my upstairs server has something wrong with it. (I run
> a test three times and get two different answers.  I'd say "bad memory"
> but it's been like that ever since I installed Gentoo on it...)
>
> Rob
>
> P.S.  I still vaguely want to get the package list down to four
> packages: "compiler, libc, kernel, toybox". I had a tinycc fork for the
> first (http://landley.net/code/tinycc and
> http://landley.net/code/tinycc/qcc), and yes this means I'd need to add
> "make" to toybox, but it _is_ in the SUSv4 utility list.  No point until
> I get a non-gcc/binutils compiler, though...)

That's the same I look for, at the moment I have the following  
components in mind:

compiler    http://llvm.org/
kernel      http://www.kernel.org/
libc        http://www.sourceware.org/newlib/
libc++      http://libcxx.llvm.org/
coreutils++ http://landley.net/code/toybox/

I would like to have a *liberal OS* where the user or distributor can  
define most parts of what free is;-)

-roger


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


 1329339283.0


More information about the Toybox mailing list