Hi Simon,
Simon Josefsson wrote:
Hi! Quite some time ago, I posted the following:
http://mailman.uclinux.org/pipermail/uclinux-dev/2005-August/034484.html
For some reason, this was never integrated into uClinux CVS. A customer
recently requested updated information about the status of this work.
So I updated the patch for the latest versions of these tools. Is there
interest in committing this to CVS at this time?
The problem that I have currently is related to crypto code in
the dist, and that fact that I/we are effectively exporting it.
I know the restrictions on such things have been eased in recent
years, but it still makes lawyers at my end nervous.
That is why the dist doesn't contain the openssl library code
for example. Even though it is very simple to add it yourself
(and the master tree has it in it - just not publicly visible).
Regards
Greg
See complete instructions for building libgpg-error, libgcrypt, gnutls
and gsasl under uClinux below.
/Simon
Installation of libgpg-error, libgcrypt, gnutls and gsasl under uClinux
=======================================================================
Written by Simon Josefsson on 2007-06-07. Last updated 2007-06-07.
See link:http://josefsson.org/uclinux/[] and
link:http://josefsson.org/uclinux/[] for more information.
Download the uClinux distribution
---------------------------------
Get it from http://uclinux.org/pub/uClinux/dist/
This was written for the 20070130 version,
MD5 72926ff263c0499abd9004f631a2bb82.
Unpack it as follows:
...........
$ tar xfj uClinux-dist-20070130.tar.bz2
...........
Download the m68k/Coldfire cross compiler
-----------------------------------------
Get it from http://www.uclinux.org/pub/uClinux/m68k-elf-tools/
This was written for the 20061214 version,
MD5 24776e2bc5fe27b35fac0c989029ee68.
Install it as follows
...........
# sh ./m68k-uclinux-tools-20061214.sh
...........
Download libgpg-error, libgcrypt, gnutls, gsasl.
------------------------------------------------
...........
$ cd uClinux-dist/lib
...........
...........
$ wget -q ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.5.tar.bz2
$ sha1sum libgpg-error-1.5.tar.bz2
1f83d9af8e8ed3bcbf3a5e9018db257dc6336655 libgpg-error-1.5.tar.bz2
$ tar xfj libgpg-error-1.5.tar.bz2
$ mv libgpg-error-1.5 libgpg-error
...........
...........
$ wget -q ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.4.tar.gz
$ sha1sum libgcrypt-1.2.4.tar.gz
d279e7a4464cccf0cc4e29c374a1e8325fc65b9a libgcrypt-1.2.4.tar.gz
$ tar xfz libgcrypt-1.2.4.tar.gz
$ mv libgcrypt-1.2.4 libgcrypt
...........
...........
$ wget -q http://josefsson.org/gnutls/releases/gnutls-1.6.3.tar.bz2
$ sha1sum gnutls-1.6.3.tar.bz2
7553b9f7ddd4982c0759b814bc6d9bf892cf7347 gnutls-1.6.3.tar.bz2
$ tar xfj gnutls-1.6.3.tar.bz2
$ mv gnutls-1.6.3 gnutls
...........
...........
$ wget -q http://josefsson.org/gsasl/releases/gsasl-0.2.18.tar.gz
$ sha1sum gsasl-0.2.18.tar.gz
4447b365d34b2e4c605c16c8bd6819be3c404679 gsasl-0.2.18.tar.gz
$ tar xfz gsasl-0.2.18.tar.gz
$ mv gsasl-0.2.18 gsasl
...........
Download patch
--------------
Get it from http://josefsson.org/uclinux/
This was written for the 20070607 version,
SHA-1 01022c6fba6f9c480cb29ba35ba73bfbf2db3cdb.
Apply it as follows:
...........
$ patch -p 0 < 20070607.diff
patching file uClinux-dist/config/Configure.help
patching file uClinux-dist/config/config.in
patching file uClinux-dist/lib/Makefile
patching file uClinux-dist/lib/libgpg-error/makefile
patching file uClinux-dist/lib/libgcrypt/makefile
patching file uClinux-dist/lib/gnutls/makefile
patching file uClinux-dist/lib/gsasl/makefile
$
...........
Build uClinux
-------------
...........
$ cd uClinux-dist
$ make menuconfig
...........
I changed the kernel to 'linux-2.4' and CPU to Freescale/M5407C3.
Be sure to toggle 'Customize Vendor/User Settings' under
'Kernel/Library/Defaults Selection' in the first dialog.
Be sure to toggle libgpg-error, libgcrypt, gnutls and/or gsasl under
'Library Configuration' in the second dialog.
...........
$ make dep
$ make
...........
If you get build failures during ./configure of gnutls or gsasl
related to missing 'libgcrypt-config' you need to do:
...........
$ cd uClinux-dist/lib/libgcrypt/inst/bin
$ ln -s m68k-elf-linux-libgcrypt-config libgcrypt-config
...........
Finished
--------
The packages, including in particular the libraries, should now be
available from:
...........
uClinux-dist/lib/libgpg-error/inst/
uClinux-dist/lib/libgcrypt/inst/
uClinux-dist/lib/gnutls/inst/
uClinux-dist/lib/gsasl/inst/
...........
------------------------------------------------------------------------
--- uClinux-dist.orig/config/Configure.help 2006-11-15 03:03:58.000000000
+0100
+++ uClinux-dist/config/Configure.help 2007-06-04 14:46:48.000000000 +0200
@@ -762,6 +762,24 @@
set up by init during system boot. This means that changes to the
time zone take effect immediately instead of requiring a reboot.
+CONFIG_LIB_LIBGPGERROR_FORCE
+ The libgpg-error library, error handling for the GnuPG components.
+ Needed by GnuTLS.
+
+CONFIG_LIB_LIBGCRYPT_FORCE
+ Low-level cryptographic library. This library requires (and
+ enables) libgpg-error. Needed by GnuTLS and GNU SASL.
+
+CONFIG_LIB_GNUTLS_FORCE
+ Library for the Transport Layer Security (TLS) network security
+ protocol. This library requires (and enables) libgpg-error and
+ libgcrypt.
+
+CONFIG_LIB_GSASL_FORCE
+ Library for the Simple Authentication and Security Layer (SASL)
+ network security protocol. This library requires (and enables)
+ libgpg-error and libgcrypt.
+
CONFIG_USER_BOA_EMERG
If enabled, boa will syslog all messages at the emergency level
--- uClinux-dist.orig/config/config.in 2007-01-30 03:10:39.000000000 +0100
+++ uClinux-dist/config/config.in 2007-06-04 14:47:35.000000000 +0200
@@ -135,6 +135,21 @@
define_bool CONFIG_LIB_LIBSSL y
fi
bool 'Build libcrypt_old' CONFIG_LIB_LIBCRYPT_OLD_FORCE
+bool 'Build libgpg-error' CONFIG_LIB_LIBGPGERROR_FORCE
+bool 'Build libgcrypt' CONFIG_LIB_LIBGCRYPT_FORCE
+if [ "$CONFIG_LIB_LIBGCRYPT_FORCE" = "y" ]; then
+ define_bool CONFIG_LIB_LIBGPGERROR y
+fi
+bool 'Build gnutls' CONFIG_LIB_GNUTLS_FORCE
+if [ "$CONFIG_LIB_GNUTLS_FORCE" = "y" ]; then
+ define_bool CONFIG_LIB_LIBGPGERROR y
+ define_bool CONFIG_LIB_LIBGCRYPT y
+fi
+bool 'Build gsasl' CONFIG_LIB_GSASL_FORCE
+if [ "$CONFIG_LIB_GSASL_FORCE" = "y" ]; then
+ define_bool CONFIG_LIB_LIBGPGERROR y
+ define_bool CONFIG_LIB_LIBGCRYPT y
+fi
comment 'Library Configuration'
bool 'Support time zones' CONFIG_LIB_UC_LIBC_TIMEZONE
--- uClinux-dist.orig/lib/Makefile 2006-10-31 06:21:43.000000000 +0100
+++ uClinux-dist/lib/Makefile 2007-06-04 15:04:08.000000000 +0200
@@ -100,12 +100,20 @@
dir_4_$(CONFIG_LIB_NETFILTER_CONNTRACK) += libnetfilter_conntrack
dir_4_$(CONFIG_LIB_LIBPNG) += libpng
dir_4_$(CONFIG_LIB_LIBPNG_FORCE) += libpng
+dir_3_$(CONFIG_LIB_LIBGPGERROR) += libgpg-error
+dir_3_$(CONFIG_LIB_LIBGPGERROR_FORCE) += libgpg-error
+dir_4_$(CONFIG_LIB_LIBGCRYPT) += libgcrypt
+dir_4_$(CONFIG_LIB_LIBGCRYPT_FORCE) += libgcrypt
+dir_5_$(CONFIG_LIB_GNUTLS) += gnutls
+dir_5_$(CONFIG_LIB_GNUTLS_FORCE) += gnutls
+dir_6_$(CONFIG_LIB_GSASL) += gsasl
+dir_6_$(CONFIG_LIB_GSASL_FORCE) += gsasl
# And build libraries in the prop directory last
-dir_5_y = $(ROOTDIR)/prop
+dir_7_y = $(ROOTDIR)/prop
-DIRS_y = $(foreach n,1 2 3 4 5,$(sort $(dir_$(n)_y)))
-DIRS_all = $(foreach n,1 2 3 4 5,$(sort $(dir_$(n)_y) $(dir_$(n)_n)
$(dir_$(n)_)))
+DIRS_y = $(foreach n,1 2 3 4 5 6 7,$(sort $(dir_$(n)_y)))
+DIRS_all = $(foreach n,1 2 3 4 5 6 7,$(sort $(dir_$(n)_y) $(dir_$(n)_n)
$(dir_$(n)_)))
##############################################################################
@@ -131,6 +139,14 @@
$(MAKE) -j$(HOST_NCPU) $(sort $(dir_5_y)) || exit $$?
$(MAKE) -j1 -C ../include
$(MAKE) make_links || exit $$?
+ [ -z "$(dir_6_y)" ] ||\
+ $(MAKE) -j$(HOST_NCPU) $(sort $(dir_6_y)) || exit $$?
+ $(MAKE) -j1 -C ../include
+ $(MAKE) make_links || exit $$?
+ [ -z "$(dir_7_y)" ] ||\
+ $(MAKE) -j$(HOST_NCPU) $(sort $(dir_7_y)) || exit $$?
+ $(MAKE) -j1 -C ../include
+ $(MAKE) make_links || exit $$?
# the actual dir target
.PHONY: $(DIRS_y)
--- uClinux-dist.orig/lib/libgpg-error/makefile 1970-01-01 01:00:00.000000000
+0100
+++ uClinux-dist/lib/libgpg-error/makefile 2007-06-07 14:14:34.000000000
+0200
@@ -0,0 +1,28 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform. If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/libgpg-error/inst \
+ --disable-shared
+
+all: build/build
+ $(MAKE) -C build install
+
+build/build: makefile
+ chmod u+x configure
+ rm -rf build
+ mkdir build
+ cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+ touch build/build
+
+clean:
+ rm -rf build
+
+romfs:
--- uClinux-dist.orig/lib/libgcrypt/makefile 1970-01-01 01:00:00.000000000
+0100
+++ uClinux-dist/lib/libgcrypt/makefile 2007-06-07 14:14:30.000000000 +0200
@@ -0,0 +1,30 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform. If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/libgcrypt/inst \
+ --disable-shared \
+ --with-gpg-error-prefix=$(ROOTDIR)/lib/libgpg-error/inst \
+ --disable-asm
+
+all: build/build
+ $(MAKE) -C build install
+
+build/build: makefile
+ chmod u+x configure
+ rm -rf build
+ mkdir build
+ cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+ touch build/build
+
+clean:
+ rm -rf build
+
+romfs:
--- uClinux-dist.orig/lib/gnutls/makefile 1970-01-01 01:00:00.000000000
+0100
+++ uClinux-dist/lib/gnutls/makefile 2007-06-07 14:14:17.000000000 +0200
@@ -0,0 +1,32 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform. If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/gnutls/inst \
+ --disable-shared \
+ --with-libgcrypt-prefix=$(ROOTDIR)/lib/libgcrypt/inst \
+ --with-included-opencdk \
+ --with-included-libtasn1 \
+ --disable-cxx
+
+all: build/build
+ $(MAKE) -C build install
+
+build/build: makefile
+ chmod u+x configure
+ rm -rf build
+ mkdir build
+ cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+ touch build/build
+
+clean:
+ rm -rf build
+
+romfs:
--- uClinux-dist.orig/lib/gsasl/makefile 1970-01-01 01:00:00.000000000
+0100
+++ uClinux-dist/lib/gsasl/makefile 2007-06-07 14:30:11.000000000 +0200
@@ -0,0 +1,32 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform. If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/gsasl/inst \
+ --disable-shared \
+ --with-libgcrypt \
+ --with-libgcrypt-prefix=$(ROOTDIR)/lib/libgcrypt/inst \
+ --disable-gssapi \
+ --disable-obsolete
+
+all: build/build
+ $(MAKE) -C build install
+
+build/build: makefile
+ chmod u+x configure
+ rm -rf build
+ mkdir build
+ cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+ touch build/build
+
+clean:
+ rm -rf build
+
+romfs:
------------------------------------------------------------------------
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [EMAIL PROTECTED]
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev