[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, 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.
>> 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
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
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
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
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