support build of different arm kernels and add verstile cfg.

This commit is contained in:
Arne Fitzenreiter
2011-10-12 16:56:38 +00:00
parent 3731f8f418
commit bc8fe5ffbb
12 changed files with 3551 additions and 1933 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
boot/uInit-ipfire-kirkwood
boot/uImage-ipfire-kirkwood
boot/System.map-KVER-ipfire-kirkwood
boot/config-KVER-ipfire-kirkwood
lib/modules/KVER-ipfire-kirkwood

View File

@@ -0,0 +1,5 @@
boot/System.map-KVER-ipfire-versatile
boot/config-KVER-ipfire-versatile
boot/vmlinuz-KVER-ipfire-versatile
boot/ipfirerd-KVER-versatile.img
lib/modules/KVER-ipfire-versatile

View File

@@ -1,4 +1,4 @@
boot/ipfirerd-KVER.img #boot/ipfirerd-KVER.img
etc/dracut.conf etc/dracut.conf
etc/dracut.conf.d etc/dracut.conf.d
#etc/dracut.conf.d/dracut.conf #etc/dracut.conf.d/dracut.conf

View File

@@ -1,3 +1,4 @@
boot/ipfirerd-KVER.img
boot/System.map-KVER-ipfire boot/System.map-KVER-ipfire
boot/System.map-ipfire boot/System.map-ipfire
boot/config-KVER-ipfire boot/config-KVER-ipfire

View File

@@ -88,9 +88,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Make the ISO # Make the ISO
mkdir -p /install/cdrom/boot/isolinux mkdir -p /install/cdrom/boot/isolinux
dd if=/dev/zero bs=1k count=2 > /install/cdrom/boot/isolinux/boot.catalog dd if=/dev/zero bs=1k count=2 > /install/cdrom/boot/isolinux/boot.catalog
cp /install/images/initrd /install/cdrom/boot/isolinux/instroot
cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz
ifneq "$(MACHINE_TYPE)" "arm" ifneq "$(MACHINE_TYPE)" "arm"
cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz
cp /install/images/initrd /install/cdrom/boot/isolinux/instroot
cp $(DIR_SRC)/config/syslinux/syslinux.cfg /install/cdrom/boot/isolinux/isolinux.cfg cp $(DIR_SRC)/config/syslinux/syslinux.cfg /install/cdrom/boot/isolinux/isolinux.cfg
cp $(DIR_SRC)/config/syslinux/boot.msg /install/cdrom/boot/isolinux/boot.msg cp $(DIR_SRC)/config/syslinux/boot.msg /install/cdrom/boot/isolinux/boot.msg
cp $(DIR_SRC)/config/syslinux/splash.lss /install/cdrom/boot/isolinux/splash.lss cp $(DIR_SRC)/config/syslinux/splash.lss /install/cdrom/boot/isolinux/splash.lss
@@ -101,6 +101,7 @@ endif
xargs md5sum > md5sum.txt xargs md5sum > md5sum.txt
ifeq "$(MACHINE_TYPE)" "arm" ifeq "$(MACHINE_TYPE)" "arm"
mkdir -p /install/images
cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \ cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
. > /install/images/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso . > /install/images/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso
else else

View File

@@ -90,11 +90,15 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Build initramdisk # Build initramdisk
# Strip all binaries in that initrd, because no debugging code is # Strip all binaries in that initrd, because no debugging code is
# needed. # needed.
/sbin/dracut --force --verbose --strip /boot/ipfirerd-$(KVER).img $(KVER)-ipfire
ifeq "$(MACHINE_TYPE)" "arm" ifeq "$(MACHINE_TYPE)" "arm"
#Convert initrd to uboot-image # versatile kernel
cd /boot && mkimage -A arm -T ramdisk -C lzma -d ipfirerd-$(KVER).img uInit /sbin/dracut --force --verbose --strip /boot/ipfirerd-$(KVER)-versatile.img $(KVER)-ipfire-versatile
# kirkwood kernel
/sbin/dracut --force --verbose --strip /boot/ipfirerd-$(KVER)-kirkwood.img $(KVER)-ipfire-kirkwood
cd /boot && mkimage -A arm -T ramdisk -C lzma -d ipfirerd-$(KVER)-kirkwood.img uInit-ipfire-kirkwood
else
/sbin/dracut --force --verbose --strip /boot/ipfirerd-$(KVER).img $(KVER)-ipfire
endif endif
@rm -rf $(DIR_APP) @rm -rf $(DIR_APP)
@$(POSTBUILD) @$(POSTBUILD)

View File

@@ -30,6 +30,8 @@ THISAPP = initrd
DIR_APP = $(DIR_SRC)/$(THISAPP) DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = i586
############################################################################### ###############################################################################
# Top-level Rules # Top-level Rules
############################################################################### ###############################################################################

View File

@@ -60,6 +60,13 @@ else
HEADERS_ARCH=x86 HEADERS_ARCH=x86
endif endif
ifeq "$(KCFG)" ""
LASTKERNEL=1
endif
ifeq "$(KCFG)" "-kirkwood"
LASTKERNEL=1
endif
############################################################################### ###############################################################################
# Top-level Rules # Top-level Rules
############################################################################### ###############################################################################
@@ -156,8 +163,8 @@ endif
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.27_ipg-fix-driver-name.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.27_ipg-fix-driver-name.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.27_mcs7830-fix-driver-name.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.27_mcs7830-fix-driver-name.patch
ifeq "$(MACHINE_TYPE)" "arm" ifeq "$(KCFG)" "-kirkwood"
# Add dreamplug support on ARM # Add dreamplug support on ARM-kirkwood
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.45-arm_kirkwood_dreamplug.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.45-arm_kirkwood_dreamplug.patch
endif endif
@@ -184,14 +191,19 @@ ifeq "$(KCFG)" "-xen"
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" vmlinuz cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" vmlinuz
cd $(DIR_APP) && cp -v arch/i386/boot/vmlinuz /boot/vmlinuz-$(VER)-$(VERSUFIX) cd $(DIR_APP) && cp -v arch/i386/boot/vmlinuz /boot/vmlinuz-$(VER)-$(VERSUFIX)
else else
ifeq "$(MACHINE_TYPE)" "arm" ifeq "$(KCFG)" "-kirkwood"
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" uImage cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" uImage
cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/vmlinuz-$(VER)-$(VERSUFIX) cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/uImage cd $(DIR_APP) && cp -v arch/arm/boot/uImage /boot/uImage-$(VERSUFIX)
else
ifeq "$(KCFG)" "-versatile"
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" zImage
cd $(DIR_APP) && cp -v arch/arm/boot/zImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
else else
cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" bzImage cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" bzImage
cd $(DIR_APP) && cp -v arch/i386/boot/bzImage /boot/vmlinuz-$(VER)-$(VERSUFIX) cd $(DIR_APP) && cp -v arch/i386/boot/bzImage /boot/vmlinuz-$(VER)-$(VERSUFIX)
endif endif
endif
endif endif
cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-$(VERSUFIX) cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-$(VERSUFIX)
cd $(DIR_APP) && cp -v .config /boot/config-$(VER)-$(VERSUFIX) cd $(DIR_APP) && cp -v .config /boot/config-$(VER)-$(VERSUFIX)
@@ -201,8 +213,8 @@ endif
cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install
cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) firmware_install cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) firmware_install
ifeq "$(KCFG)" "" ifeq "$(LASTKERNEL)" "1"
# Only do this once on the standard kernel pass # Only do this once
cd $(DIR_APP) && install -m 755 usr/gen_init_cpio /sbin/ cd $(DIR_APP) && install -m 755 usr/gen_init_cpio /sbin/
# Blacklist matroxfb_base # Blacklist matroxfb_base
@@ -225,7 +237,6 @@ ifeq "$(KCFG)" ""
# Disable ipv6 at runtime # Disable ipv6 at runtime
echo "options ipv6 disable_ipv6=1" > /etc/modprobe.d/ipv6 echo "options ipv6 disable_ipv6=1" > /etc/modprobe.d/ipv6
endif endif
# Remove mISDN modules # Remove mISDN modules

69
make.sh
View File

@@ -398,29 +398,56 @@ buildipfire() {
ipfiremake e1000 KCFG="-pae" ipfiremake e1000 KCFG="-pae"
ipfiremake e1000e KCFG="-pae" ipfiremake e1000e KCFG="-pae"
ipfiremake igb KCFG="-pae" ipfiremake igb KCFG="-pae"
fi ipfiremake linux KCFG=""
ipfiremake v4l-dvb KCFG=""
# Default kernel build ipfiremake kqemu KCFG=""
ipfiremake linux KCFG="" ipfiremake kvm-kmod KCFG=""
ipfiremake v4l-dvb KCFG="" ipfiremake madwifi KCFG=""
ipfiremake kqemu KCFG=""
ipfiremake kvm-kmod KCFG=""
ipfiremake madwifi KCFG=""
if [ "${MACHINE_TYPE}" != "arm" ]; then
#todo enable alsa driver in kernel config
ipfiremake alsa KCFG="" KMOD=1 ipfiremake alsa KCFG="" KMOD=1
ipfiremake mISDN KCFG=""
ipfiremake dahdi KCFG="" KMOD=1
ipfiremake cryptodev KCFG=""
ipfiremake compat-wireless KCFG=""
# ipfiremake r8169 KCFG=""
# ipfiremake r8168 KCFG=""
# ipfiremake r8101 KCFG=""
ipfiremake e1000 KCFG=""
ipfiremake e1000e KCFG=""
ipfiremake igb KCFG=""
else
# arm-versatile kernel build
ipfiremake linux KCFG="-versatile"
ipfiremake v4l-dvb KCFG="-versatile"
ipfiremake kqemu KCFG="-versatile"
ipfiremake kvm-kmod KCFG="-versatile"
ipfiremake madwifi KCFG="-versatile"
ipfiremake mISDN KCFG="-versatile"
ipfiremake dahdi KCFG="-versatile" KMOD=1
ipfiremake cryptodev KCFG="-versatile"
ipfiremake compat-wireless KCFG="-versatile"
# ipfiremake r8169 KCFG="-versatile"
# ipfiremake r8168 KCFG="-versatile"
# ipfiremake r8101 KCFG="-versatile"
ipfiremake e1000 KCFG="-versatile"
ipfiremake e1000e KCFG="-versatile"
ipfiremake igb KCFG="-versatile"
# arm-kirkwood kernel build
ipfiremake linux KCFG="-kirkwood"
ipfiremake v4l-dvb KCFG="-kirkwood"
ipfiremake kqemu KCFG="-kirkwood"
ipfiremake kvm-kmod KCFG="-kirkwood"
ipfiremake madwifi KCFG="-kirkwood"
ipfiremake mISDN KCFG="-kirkwood"
ipfiremake dahdi KCFG="-kirkwood" KMOD=1
ipfiremake cryptodev KCFG="-kirkwood"
ipfiremake compat-wireless KCFG="-kirkwood"
# ipfiremake r8169 KCFG="-kirkwood"
# ipfiremake r8168 KCFG="-kirkwood"
# ipfiremake r8101 KCFG="-kirkwood"
ipfiremake e1000 KCFG="-kirkwood"
ipfiremake e1000e KCFG="-kirkwood"
ipfiremake igb KCFG="-kirkwood"
fi fi
#undefined declaration in echo canceler try to fix later
ipfiremake mISDN KCFG=""
ipfiremake dahdi KCFG="" KMOD=1
ipfiremake cryptodev KCFG=""
ipfiremake compat-wireless KCFG=""
# ipfiremake r8169 KCFG=""
# ipfiremake r8168 KCFG=""
# ipfiremake r8101 KCFG=""
ipfiremake e1000 KCFG=""
ipfiremake e1000e KCFG=""
ipfiremake igb KCFG=""
ipfiremake pkg-config ipfiremake pkg-config
ipfiremake linux-atm ipfiremake linux-atm
ipfiremake cpio ipfiremake cpio