summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-05-18 13:42:02 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-05-18 13:42:23 +0200
commit021fd36e08840ebf9981d483cc8cac3cbb6217de (patch)
treeb81353fbcb13337fe8e22bac3b7a00d05c417037
parentb677bb107f14a301f5fe7cfb750b9e980c3fd9ab (diff)
convert mips to use new targethelp make target, useful to just show the help text after building
-rw-r--r--Makefile3
-rw-r--r--mk/build.mk3
-rwxr-xr-xscripts/install-rb532.sh28
-rw-r--r--target/Makefile3
-rw-r--r--target/config/Config.in4
-rw-r--r--target/mips/Makefile194
6 files changed, 122 insertions, 113 deletions
diff --git a/Makefile b/Makefile
index 396675ac2..deb5adc39 100644
--- a/Makefile
+++ b/Makefile
@@ -109,6 +109,9 @@ distclean cleandist:
image: .prereq_done
@${GMAKE_INV} image
+targethelp: .prereq_done
+ @${GMAKE_INV} targethelp
+
switch: .prereq_done
@${GMAKE_INV} switch
diff --git a/mk/build.mk b/mk/build.mk
index 737e1fab7..b59fa65f1 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -190,6 +190,9 @@ toolchain/%: ${STAGING_TARGET_DIR}
image:
$(MAKE) -C target image
+targethelp:
+ $(MAKE) -C target targethelp
+
switch:
if [ -f .config ];then \
echo "Saving configuration for target system: ${ADK_TARGET_SYSTEM} with arch: ${ADK_TARGET_ARCH}";\
diff --git a/scripts/install-rb532.sh b/scripts/install-rb532.sh
index 2e9e45e1f..152ad8fa1 100755
--- a/scripts/install-rb532.sh
+++ b/scripts/install-rb532.sh
@@ -30,16 +30,6 @@ else
printf "$2 is not a file, Exiting\n"
exit 1
fi
- if [ -z $3 ];then
- printf "Please give the kernel as third parameter\n"
- exit 2
- fi
- if [ -f $3 ];then
- printf "Installing $3 on $1\n"
- else
- printf "$3 is not a file, Exiting\n"
- exit 1
- fi
if [ -b $1 ];then
printf "Using $1 as CF disk for installation\n"
echo "WARNING: This will destroy all data on $1 - type Yes to continue!"
@@ -81,17 +71,8 @@ parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize >/dev/null 2>&1
parted -s $1 set 1 boot on >/dev/null 2>&1
sfdisk --change-id $1 1 27 >/dev/null 2>&1
sfdisk --change-id $1 3 88 >/dev/null 2>&1
-sleep 2
+sleep 1
mkfs.ext4 -q -O ^huge_file ${1}2
-sync
-dd if=$3 of=${1}1 bs=2048 >/dev/null 2>&1
-if [ $? -eq 0 ];then
- printf "Installation of kernel successful.\n"
-else
- printf "Installation of kernel failed.\n"
-fi
-sync
-sleep 2
tune2fs -c 0 -i 0 -m 1 ${rootpart} >/dev/null 2>&1
if [ $? -eq 0 ];then
printf "Successfully disabled filesystem checks on ${rootpart}\n"
@@ -104,6 +85,13 @@ tmp=$(mktemp -d)
mount -t ext4 ${rootpart} $tmp
printf "Extracting install archive\n"
tar -C $tmp -xzpf $2
+dd if=$tmp/boot/kernel of=${1}1 bs=2048 >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ printf "Installation of kernel successful.\n"
+ rm $tmp/boot/kernel
+else
+ printf "Installation of kernel failed.\n"
+fi
printf "Fixing permissions\n"
chmod 1777 $tmp/tmp
chmod 4755 $tmp/bin/busybox
diff --git a/target/Makefile b/target/Makefile
index 22b989581..9f97d242a 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -85,6 +85,7 @@ endif
prepare: $(ADK_TARGET_ARCH)-prepare
compile: $(ADK_TARGET_ARCH)-compile
image: $(ADK_TARGET_ARCH)-imageclean $(ADK_TARGET_ARCH)-imageinstall
+targethelp: $(ADK_TARGET_ARCH)-targethelp
install: $(ADK_TARGET_ARCH)-imageclean $(ADK_TARGET_ARCH)-install $(ADK_TARGET_ARCH)-imageinstall
clean: $(ADK_TARGET_ARCH)-clean $(ADK_TARGET_ARCH)-imageclean
@@ -106,6 +107,8 @@ clean: $(ADK_TARGET_ARCH)-clean $(ADK_TARGET_ARCH)-imageclean
%-install: %-compile
$(TRACE) target/$(patsubst %-install,%,$@)-install
$(MAKE) -C $(patsubst %-install,%,$@) install
+%-targethelp:
+ $(MAKE) -C $(patsubst %-targethelp,%,$@) targethelp
%-imageinstall: %-imageprepare
$(TRACE) target/$(patsubst %-imageinstall,%,$@)-imageinstall
$(MAKE) -C $(patsubst %-imageinstall,%,$@) imageinstall
diff --git a/target/config/Config.in b/target/config/Config.in
index f7afcef49..a1615679e 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -574,6 +574,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS
ADK_LINUX_NATIVE
depends on !ADK_HARDWARE_VBOX
depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI
+ depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
select ADK_KERNEL_BLK_DEV_INITRD
help
create an read-only initramfs system.
@@ -593,7 +594,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
ADK_LINUX_X86 || \
ADK_LINUX_X86_64
depends on !ADK_HARDWARE_VBOX
- select ADK_KERNEL_EXT2_FS
+ depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
help
create an read-only initramfs system.
@@ -674,6 +675,7 @@ config ADK_TARGET_ROOTFS_ISO
config ADK_TARGET_ROOTFS_INITRAMFSARCHIVE
boolean "Archive usable for initramfs creation"
+ depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
help
Use this option if your planning to create a initramfs,
useful for adk-test-framework.
diff --git a/target/mips/Makefile b/target/mips/Makefile
index 9029af155..06a0a84a2 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -8,9 +8,94 @@ include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
-
OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
+# target helper text
+ifeq ($(ADK_TARGET_FS),nfsroot)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo 'The nfs root tarball is: ${FW_DIR}/${ROOTFSUSERTARBALL}'
+ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
+ @echo 'Type the following in Redboot:'
+ @echo 'RedBoot> load $(TARGET_KERNEL)'
+ @echo 'RedBoot> go'
+endif
+ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
+ @echo 'Boot your Lemote Yeelong and type following commands in PMON:'
+ @echo 'PMON> ifaddr rtl0 <ip-address-client>'
+ @echo 'PMON> load tftp://<ip-address-server>/${TARGET_KERNEL}'
+ @echo 'PMON> g'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),yaffs)
+targethelp:
+ @echo 'The root tarball is: ${FW_DIR}/${ROOTFSTARBALL}'
+ @echo 'Format your NAND with Routerboot, boot via NFS and'
+ @echo 'then install kernel and filesystem via:'
+ @echo 'adkinstall ${ROOTFSTARBALL}'
+endif
+ifeq ($(ADK_TARGET_FS),usb)
+targethelp:
+ @echo 'The root tarball is: ${FW_DIR}/${ROOTFSTARBALL}'
+ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
+ @echo "Startup the netbook and type del to enter PMON:"
+ @echo "PMON> load /dev/fs/ext2@usb0/boot/kernel"
+ @echo "PMON> g"
+endif
+endif
+ifeq ($(ADK_TARGET_FS),archive)
+targethelp:
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
+ifeq ($(ADK_HARDWARE_QEMU),y)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "Use following command to create a QEMU Image:"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "Start qemu with following options:"
+ @echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
+endif
+ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
+ @echo "Startup the Lemote Yeelong and type del to enter PMON:"
+ @echo "PMON> load /dev/fs/ext2@wd0a/boot/kernel"
+ @echo "PMON> g root=/dev/sda1"
+endif
+ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
+ @echo "Use following command to install it on CF card:"
+ @echo "sudo ./scripts/install-rb532.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+endif
+endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
+ifeq ($(ADK_TARGET_FS),initramfs)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
+ifeq ($(ADK_HARDWARE_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
+targethelp:
+ @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
+ifeq ($(ADK_HARDWARE_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+endif
+endif
+ifeq ($(ADK_TARGET_FS),squashfs)
+targethelp:
+ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
+ @echo 'You can flash the image via tftp:'
+ @echo 'tftp 192.168.1.1'
+ @echo 'tftp> binary'
+ @echo "tftp> put $(ROOTFSSQUASHFS) upgrade_code.bin"
+endif
+endif
+
+# image creation and kernel install
ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
kernel-install:
${TARGET_CROSS}objcopy ${OSTRIP} -S ${LINUX_DIR}/vmlinuz.elf \
@@ -29,7 +114,6 @@ else
cp $@~ $@
endif
endif
-
ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y)
kernel-install:
${TARGET_CROSS}objcopy -S -O srec $(KERNEL) $(LINUX_DIR)/vmlinux.srec
@@ -38,18 +122,20 @@ kernel-install:
PATH='${TARGET_PATH}' addpattern -p AG3B -b -r 2.0 -i $(LINUX_DIR)/vmlinux.tmp \
-o $(BUILD_DIR)/$(TARGET_KERNEL) 2>/dev/null
endif
-
ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
endif
ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB4XX),y)
kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
endif
ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
${BUILD_DIR}/${ROOTFSSQUASHFS}: ${BUILD_DIR}/root.squashfs
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(LINUX_DIR)/vmlinux $(BUILD_DIR)/vmlinux.strip
@@ -60,120 +146,44 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS),y)
-kernel-install:
- $(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPSEL),y)
+ifeq ($(ADK_HARDWARE_QEMU),y)
kernel-install:
$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
endif
+# filesystem specific targets
ifeq ($(ADK_TARGET_FS),nfsroot)
-imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL)
- @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL}
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo 'The nfs root tarball is: ${FW_DIR}/${ROOTFSUSERTARBALL}'
-ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
- @echo 'Type the following in Redboot:'
- @echo 'RedBoot> load $(TARGET_KERNEL)'
- @echo 'RedBoot> go'
-endif
-ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
- @echo 'Boot your lemote and type following commands in PMON:'
- @echo 'PMON> ifaddr rtl0 <ip-address-client>'
- @echo 'PMON> load tftp://<ip-address-server>/${TARGET_KERNEL}'
- @echo 'PMON> g'
-endif
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),yaffs)
-imageinstall: kernel-install $(FW_DIR)/$(ROOTFSTARBALL)
- @echo 'The root tarball is: ${FW_DIR}/${ROOTFSTARBALL}'
- @echo 'Format your NAND with Routerboot, boot via NFS and'
- @echo 'then install kernel and filesystem via:'
- @echo 'adkinstall ${ROOTFSTARBALL}'
+imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),archive)
-imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
- @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
-ifneq ($(ADK_HARDWARE_QEMU),)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
- @echo "Start qemu with following options:"
- @echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
-endif
-ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
- @echo "Startup the netbook and type del to enter PMON:"
- @echo "PMON> load /dev/fs/ext2@wd0a/boot/kernel"
- @echo "PMON> g root=/dev/sda1"
- @echo "The root parameter have to be changed."
-endif
-ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo "Use following command to install it on CF card:"
- @echo "sudo ./scripts/install-rb532.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL) $(FW_DIR)/$(TARGET_KERNEL)"
-endif
+imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfsarchive)
-imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfs)
-imageinstall: $(FW_DIR)/$(INITRAMFS)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
-ifneq ($(ADK_HARDWARE_QEMU),)
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
-endif
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: createinitramfs
+imageinstall: createinitramfs targethelp
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
-ifneq ($(ADK_HARDWARE_QEMU),)
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL)'
-endif
endif
ifeq ($(ADK_TARGET_FS),usb)
-imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
- @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
-ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
- @echo "Startup the netbook and type del to enter PMON:"
- @echo "PMON> load /dev/fs/ext2@usb0/boot/kernel"
- @echo "PMON> g"
-endif
-endif
-ifeq ($(ADK_TARGET_FS),cf)
-imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL)
- @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
- @echo "Boot the board via network (tftp+nfsroot) and use adkinstall."
- @echo "If you just want to update, use adkupdate."
+imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),squashfs)
-imageinstall: kernel-install ${BUILD_DIR}/${ROOTFSSQUASHFS}
+imageinstall: kernel-install ${BUILD_DIR}/${ROOTFSSQUASHFS} targethelp
@if [ $$($(STATCMD) ${BUILD_DIR}/${ROOTFSSQUASHFS}) -gt 3801088 ];then \
echo 'Image is too big!'; \
else \
${CP} ${BUILD_DIR}/${ROOTFSSQUASHFS} ${FW_DIR}/${ROOTFSSQUASHFS}; \
echo The image file is $(ROOTFSSQUASHFS); \
fi
-ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
- @echo The kernel file is $(TARGET_KERNEL)
-endif
-ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
- @echo 'You can flash the image via tftp:'
- @echo 'tftp 192.168.1.1'
- @echo 'tftp> binary'
- @echo "tftp> put $(ROOTFSSQUASHFS) upgrade_code.bin"
-endif
endif
+