--- In "Anouk Ahamitet" <>
wrote:
>
> We asked Technologic for instructions when we wanted to change the
timer
> resolution from 10ms to 1ms (by changing CONFIG_HZ from 100 to 1000
in
> the kernel build settings). I thought that others in this group
would
> be interested in the steps for rebuilding the kernel that we got
from
> Technologic:
>
> In order to build a TS-7800 Kernel:
>
> 1) Download the Kernel:
>
>
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/
linux-2.6.21-\
> ts-src-latest.tar.gz>
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/
linux-2.6.21-\
> ts-src-latest.tar.gz%20>
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/
linux-2.6.21-\
> ts-src-latest.tar.gz>
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/
linux-2.6.21-\
> ts-sr>
> ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/
linux-2.6.21-t\
> s-src-latest.tar.gz
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/
linux-2.6.21-\
> ts-src-latest.tar.gz>
>
> 2) Download the Crosstool:
>
>
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/
ts78\
> 00-crosstool-linux-gnueabi-2005q3-2.tar.gz>
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/
ts78\
> 00-cr>
> ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/
ts780\
> 0-crosstool-linux-gnueabi-2005q3-2.tar.gz
> <ftp://oz.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/
ts78\
> 00-crosstool-linux-gnueabi-2005q3-2.tar.gz%20%20>
>
> 3) Install/Extract both on a Linux X86 box
>
> 4) Adjust the Makefile of the Kernel to use the right CROSSTOOL
>
> 5) Compile the kernel:
>
> # make ts7800_defconfig
> # make
>
> 6) The new kernel will show up at arch/arm/boot/Image
>
> In order to ensure that I didn't have any extras to mess things up,
I
> installed a fresh, clean Ubuntu 8.10 system where I would perform
the
> steps above. I made sure that it had all of the current updates.
I did
> all of the steps under my non-root account (I asked and was assured
that
> despite the indication that root was running the make commands in
the
> instructions, I didn't need to be root to build their kernel). In
> between steps 4 and 5, I edited arch/arm/config/ts7800_defconfig and
> arch/arm/config/ts7800full_defconfig to change CONFIG_HZ=100 to
> CONFIG_HZ=1000 in both (since I wasn't positive which would be
used).
>
> The first make ran fine, with just a few warnings. But the second
make
> fails with this output:
>
> scripts/kconfig/conf -s arch/arm/Kconfig
> drivers/crypto/cesa/Kconfig:16:warning: type of 'MV_CESA_TEST'
redefined
> from 'tristate' to 'boolean'
> CHK include/linux/version.h
> SYMLINK include/asm-arm/arch -> include/asm-arm/arch-mv88fxx81
> make[1]: `include/asm-arm/mach-types.h' is up to date.
> CHK include/linux/utsrelease.h
> HOSTCC scripts/mod/sumversion.o
> scripts/mod/sumversion.c: In function `get_src_version':
> scripts/mod/sumversion.c:384: error: `PATH_MAX' undeclared
> (first use in this function)
> scripts/mod/sumversion.c:384: error: (Each undeclared identifier is
> reported only once
> scripts/mod/sumversion.c:384: error: for each function it appears
in.)
> scripts/mod/sumversion.c:384: warning: unused variable
> `filelist'
> make[2]: *** [scripts/mod/sumversion.o] Error 1
> make[1]: *** [scripts/mod] Error 2
> make: *** [scripts] Error 2
>
>
> I found a simple patch at
> m(".../msg02788.html","//www.mail-archive.com/linux-arch");">http:
> <m(".../msg02788.html","//www.mail-archive.com/linux-arch");">http:>
> (a required header was not included) and now the kernel builds.
>
> HOWEVER...
>
> The fact that the source Technologic told me to download from their
site
> did not build makes me wonder if the source contains all of the
other
> adjustments they've make (which include several things for the
7800),
> since they obviously have never actually used the source that they
make
> available for download. If they had, they'd know that it doesn't
> compile as-is.
>
> When I reporting the bug, the fix and asked my contact at
Technologic
> about this, he told me that I probably needed to run make
menuconfig to
> change a setting (but he didn't say which one that might be) so
that the
> broken file is not included. If that is true, then it concerns me
even
> more than the bug, because I wanted to start with exactly the same
> settings as Technologic so that the kernel we built as just like
theirs
> except for the things we specifically wanted to change.
>
> Perhaps these things don't bother the linux gurus among
Technologic's
> customers, but they concern me.
>
> Hopefully, this will at least provide a starting point to anyone
else
> who needs (or wants) to rebuild the kernel for their Technologic
board.
>
You should be able to create a byte for byte identical kernel if they
supply the exact same source tree as they use (as is required by GPL)
and the same compiler tool chain.
If they say that you just need to turn some feature on/off the simple
answer would be to ask them for the .config they use to build the
kernel.
That would not seem to be unreasonable to ask or too difficult to
agree to. I'm rather surprised that they don't seem to provide the
config on their site along with the various source trees.
Providing the .config would probably take no longer than replying to
your message. I suggest you request it.
;)
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|