summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/wrt-image.bbclass7
-rw-r--r--conf/machine/wrt54.conf2
-rw-r--r--packages/linux/linux-wrt_2.4.30.bb2
-rw-r--r--packages/wrt/wrt-utils.bb50
4 files changed, 56 insertions, 5 deletions
diff --git a/classes/wrt-image.bbclass b/classes/wrt-image.bbclass
index f8ecce320b..ba1163a719 100644
--- a/classes/wrt-image.bbclass
+++ b/classes/wrt-image.bbclass
@@ -3,15 +3,14 @@ ROOTFS_POSTPROCESS_COMMAND += "rm -f ${IMAGE_ROOTFS}/boot/zImage*"
def wrt_get_kernel_version(d):
import bb
- if not bb.data.inherits_class('native', d):
+ if bb.data.inherits_class('image_ipk', d):
skd = bb.data.getVar('STAGING_KERNEL_DIR', d, 1)
return base_read_file(skd+'/kernel-abiversion')
- return "-no kernel version for native-"
-
-KERNEL_VERSION = "${@wrt_get_kernel_version(d)}"
+ return "-no kernel version for available-"
wrt_create_images() {
I=${DEPLOY_DIR}/images
+ KERNEL_VERSION="${@wrt_get_kernel_version(d)}"
for type in ${IMAGE_FSTYPES}; do
# generic
diff --git a/conf/machine/wrt54.conf b/conf/machine/wrt54.conf
index 6883782799..2f5978002a 100644
--- a/conf/machine/wrt54.conf
+++ b/conf/machine/wrt54.conf
@@ -8,7 +8,7 @@ IPKG_ARCHS = "all mipsel ${MACHINE}"
SERIAL_CONSOLE = "tts/0"
-BOOTSTRAP_EXTRA_DEPENDS += "virtual/kernel"
+BOOTSTRAP_EXTRA_DEPENDS += "virtual/kernel wrt-utils wrt-init loader"
BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-wl kernel-module-et kernel-module-wlcompat"
BOOTSTRAP_EXTRA_RDEPENDS += "wrt-init wrt-utils"
BOOTSTRAP_EXTRA_RRECOMMENDS += ""
diff --git a/packages/linux/linux-wrt_2.4.30.bb b/packages/linux/linux-wrt_2.4.30.bb
index 730c9c3cd7..a207f2d4cd 100644
--- a/packages/linux/linux-wrt_2.4.30.bb
+++ b/packages/linux/linux-wrt_2.4.30.bb
@@ -4,6 +4,8 @@ HOMEPAGE = "http://openwrt.org"
LICENSE = "GPL"
PR = "r1"
+DEPENDS = "lzma-native"
+
SRC_URI = "http://www.fi.kernel.org/pub/linux/kernel/v2.4/linux-2.4.30.tar.bz2 \
cvs://anonymous@openwrt.org/openwrt;module=openwrt/package/linux/kernel-source;tag=TESTED \
http://downloads.openwrt.org/kernel-binary-wl-0.2.tar.gz \
diff --git a/packages/wrt/wrt-utils.bb b/packages/wrt/wrt-utils.bb
index e69de29bb2..d1cd4c9cc5 100644
--- a/packages/wrt/wrt-utils.bb
+++ b/packages/wrt/wrt-utils.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "wrt tools"
+SECTION = "base"
+LICENSE = "broadcom"
+SRC_URI = "cvs://anonymous@openwrt.org/openwrt;module=openwrt/package/openwrt;tag=TESTED \
+ http://openwrt.inf.fh-brs.de/mirror/linksys-wlconf.tar.gz \
+ file://nvram-makefile.diff;patch=1;pnum=0 \
+ file://libshared-makefile.diff;patch=1;pnum=0"
+
+S = "${WORKDIR}/openwrt"
+
+inherit module-base
+
+TARGET_CFLAGS =+ "-I${STAGING_KERNEL_DIR}/include"
+
+do_compile() {
+ make -C libshared TARGET_CC="${CC}"
+ make -C libnvram TARGET_CC="${CC}"
+
+ ${CC} ${CFLAGS} -Iinclude -o wlc wlc.c -L./libshared -lshared
+ ${CC} ${CFLAGS} -o jffs2root jffs2root.c
+ ${CC} ${CFLAGS} -o mtd mtd.c
+
+ make -C ../linksys-wlconf TOP=${S} SRCBASE=${S} LDFLAGS="-L${S}/libnvram -lnvram -L${S}/libshared -lshared"
+
+ ${KERNEL_CC} -D__KERNEL__ -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \
+ -mno-abicalls -fno-pic -finline-limit=100000 -mabi=32 -march=mips32 -Wa,-32 \
+ -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap -DMODULE -mlong-calls -fno-common \
+ -funsigned-char -nostdinc -iwithprefix include -I. -I${STAGING_KERNEL_DIR}/include \
+ -I${STAGING_KERNEL_DIR}/include/asm/gcc -I./include -c -o wlcompat.o wlcompat.c
+}
+
+do_install() {
+ install -d ${D}/usr/sbin/ ${D}/sbin/ ${D}/${libdir} ${D}/lib/modules/${KERNEL_VERSION}
+ install -m 644 libshared/libshared.so ${D}/${libdir}
+ install -m 755 libnvram/nvram ${D}/usr/sbin/
+ install -m 644 libnvram/libnvram.so ${D}/${libdir}
+
+ install -m 755 wlc ${D}/usr/sbin/
+ install -m 755 jffs2root ${D}/sbin/
+ install -m 755 mtd ${D}/sbin/
+
+ install -m 755 ../linksys-wlconf/wlconf ${D}/usr/sbin/
+ install -m 644 wlcompat.o ${D}/lib/modules/${KERNEL_VERSION}/
+}
+
+PACKAGES = "wrt-libs wrt-utils kernel-module-wlcompat"
+FILES_wrt-libs = "/usr/lib"
+FILES_wrt-utils = "/usr/sbin /sbin"
+FILES_kernel-module-wlcompat = "/lib/modules/"
+RDEPENDS_wrt-utils = "wrt-libs"