From 021fd36e08840ebf9981d483cc8cac3cbb6217de Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 18 May 2014 13:42:02 +0200 Subject: convert mips to use new targethelp make target, useful to just show the help text after building --- Makefile | 3 + mk/build.mk | 3 + scripts/install-rb532.sh | 28 ++----- target/Makefile | 3 + target/config/Config.in | 4 +- target/mips/Makefile | 194 +++++++++++++++++++++++++---------------------- 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 ' + @echo 'PMON> load tftp:///${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 ' - @echo 'PMON> load tftp:///${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 + -- cgit v1.2.3