[Aboriginal] Using filesystem images on real hardware

Matthew J Fletcher amimjf at sky.com
Tue Jul 12 14:04:40 PDT 2011

On 12/07/11 00:27, Rob Landley wrote:
> On 07/11/2011 02:46 PM, Matthew J Fletcher wrote:
>>> Having done a bunch of boards, there's some commmon infrastructure like
>>> ext3 that they're all going to need, that's pretty much baseconfig.  I
>>> got that by looking at the dozen or so miniconfigs I had at the time and
>>> factoring out the common symbols.  It's really "what a kernel needs to
>>> run an aboriginal linux system image under qemu".  A real hardware board
>>> running jffs2 or something would need totally different symbols.
>>> Rob
>> Rob, thanks for the help.
>> Ok so i start with the freescale 2.6.31 patched up sources with a
>> imx25_3stack_defconfig for the board.
> Ok.
>> So reading the FAQ i run 'make allnoconfig KCONFIG_ALLCONFIG=filename',
> That turns a miniconfig into a full .config.  The "filename" in that is
> the miniconfig file.
>> so i am guessing if filename is an input or an output ? well it does not
>> produce a file called 'filename', and the '.config' created is for a
>> x86_64 build which is my host.
> You always have to specify ARCH= if you're cross compiling.  (That's
> just how building the kernel works.)
>> So i presume 'filename' is an input, so i pass it the filename of my
>> defconfig. Humm, that created a '.config' file for x86_64 as well.
> No, of your miniconfig.  This is what _consumes_ a miniconfig to create
> a full config.  The "miniconfig.sh" script goes the other way, it's what
> consumes a full config to create a miniconfig.
>> Ok, i will replace '.config' with my defconfig and try again. 'cp
>> imx25_3stack_defconfig .config', then do 'make allnoconfig
>> KCONFIG_ALLCONFIG=filename', humm its re-written my Arm defconfig to be
>> x86_64 again.
>> Not making much progress here. Whatever i do the 'make allnoconfig'
>> seems to make a x86_64 '.config' file.
> cd ~yourlinux
> ARCH=arm ~/aboriginal/sources/toys/miniconfig.sh ~/yourdefconfig
> ~/aboriginal/sources/toys/filter.py ~/aboriginal/baseconfig-linux \
>    mini.config>  newsymbols.txt
> Rob

Getting there, "> ARCH=arm ~/aboriginal/sources/toys/miniconfig.sh 
~/yourdefconfig" worked, produced a nice cut down mini.config file

'filter.py' was not in the 1.0.2 tarball but i grabbed it from online 
source repository.

filter.py made no changes to the mini.conf, but it was pretty small anyway.

my settings file for my new target is a combination of armv6l with the 
config settings from the mini.conf

Rob, thanks for all the help, whilst waiting for the build i was reading 
your blog about how the English (me apparently !) make Tea, well i make 
lots of tea, but i don't like drinking it myself so have pretty much no 
idea what it tastes like !

Humm a couple of compile errors right after creating the squashfs 

/home/scx/aboriginal-1.0.2/sources/targets/3stack/settings: line 90: rw: 
command not found
=== linux (3stack linux-kernel)

there is a pretty odd looking config line,

CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw 
rootfstype=jffs2 ip=off"

is some tool not parsing that 'rw' is an option and not a command ?

with that config option chopped out it builds further,. with a slightly 
ominous warning,.

arch/arm/kernel/unwind.c:35:2: warning: #warning Your compiler is too 
buggy; it is known to not compile ARM unwind support.
arch/arm/kernel/unwind.c:36:2: warning: #warning Change compiler or 
disable ARM_UNWIND option.

I realise the GPL3, newer GCC's/binutils etc is a slightly delicate subject.


Matthew J Fletcher


More information about the Aboriginal mailing list