Browse Source

convert mips to use new targethelp make target, useful to just show the help text after building

Waldemar Brodkorb 10 years ago
parent
commit
021fd36e08
6 changed files with 122 additions and 113 deletions
  1. 3 0
      Makefile
  2. 3 0
      mk/build.mk
  3. 8 20
      scripts/install-rb532.sh
  4. 3 0
      target/Makefile
  5. 3 1
      target/config/Config.in
  6. 102 92
      target/mips/Makefile

+ 3 - 0
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
 

+ 3 - 0
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}";\

+ 8 - 20
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

+ 3 - 0
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

+ 3 - 1
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.

+ 102 - 92
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
+