[Aboriginal] system-images 1.4.2: od is broken; bzip2 is missing

Rob Landley rob at landley.net
Mon Oct 5 08:08:10 PDT 2015


On 10/05/2015 06:28 AM, Denys Vlasenko wrote:
> Hi Rob, folks,
> 
> I was playing with building busybox using Aboriginal Linux.
> (See busybox/qemu_multiarch_testing/README is you want
> to know the details).
> 
> Used system-image-* from September 12 2015 from
> http://landley.net/aboriginal/downloads/binaries/
> 
> Looks like od is buggy on arm* and mips*:
> the first number on each line (the address) is bogus:
> 
> On arm*:
> # echo Hello-hello-hello-hello | od -b
> 0000000 110 145 154 154 157 055 150 145 154 154 157 055 150 145 154 154
> 0000000 157 055 150 145 154 154 157 012
> 0000000

Blah. I'll fix it, thanks for the heads up.

> On mips[el]:
> # echo Hello-hello-hello-hello | od -b
> 0000000 110 145 154 154 157 055 150 145 154 154 157 055 150 145 154 154
> 17767153361 157 055 150 145 154 154 157 012
> 0000000
> 
> Broken on powerpc too.
> Works on x86.
> 
> I noticed that system images no longer have bzip2.
> I think it was removed in an effort to reduce the number of tools
> necessary to the bare minimum?

Yup. Aboriginal itself switched to gzip compression, and the Linux From
Scratch build doesn't use it either. (Dunno about the 7.7 update I'm
doing, not finished yet.)

I plan to include gzip compression support to toybox (it's halfway
written, actually). I've decided not to implement bzip2 compression side
(even though I wrote half of it way back when) because the archive
format is falling out of use. (For example the kernel switched from bz2
to xz archives.)

I might include xz compression side support at some point, but that's
large and fiddly and not a priority for 1.0.

> Maybe it's worth it. But just FYI, this did add another wrinkle to my use case.

Sorry. I'll try to get gzip in soonish.

> Re musl: two cases of breakage:
> 
>   #include <netinet/in.h>
>   #include <linux/if_bridge.h>
> results in:
>   In file included from /usr/include/linux/if_bridge.h:18,
>                    from networking/brctl.c:67:
>   /usr/include/linux/in6.h:32: error: redefinition of 'struct in6_addr'
>   /usr/include/linux/in6.h:49: error: redefinition of 'struct sockaddr_in6'
>   /usr/include/linux/in6.h:59: error: redefinition of 'struct ipv6_mreq'
> 
> and
> 
>   #include <linux/ethtool.h>
>   #include <net/ethernet.h>
> results in:
>   In file included from /usr/include/net/ethernet.h:10,
>                    from networking/ifplugd.c:41:
>   /usr/include/netinet/if_ether.h:96: error: redefinition of 'struct ethhdr'
> 

That I leave to Rich. :)

Rob



More information about the Aboriginal mailing list