tools: add kernel2minor utility for Mikrotik devices
authorSergey Sergeev <adron@yapic.net>
Tue, 28 Jun 2016 11:55:12 +0000 (14:55 +0300)
committerJohn Crispin <john@phrozen.org>
Tue, 5 Jul 2016 20:59:14 +0000 (22:59 +0200)
This patch adds support of Mikrotik yaffs2 filesystem image for kernel file
and tools/kernel2minor package.
We neede this to boot kernel through RouterBoot on new Mikrotik NOR flash devices.

Signed-off-by: Sergey Sergeev <adron@yapic.net>
scripts/target-metadata.pl
target/Config.in
target/linux/ar71xx/mikrotik/target.mk
tools/Makefile
tools/kernel2minor/Makefile [new file with mode: 0644]

index ea6462c94fea62d1b64e8ebe0f4954c163260234..ca9940e9d910c8508dd068ccab59ff40997eff42 100755 (executable)
@@ -27,6 +27,7 @@ sub target_config_features(@) {
                /ext4/ and $ret .= "\tselect USES_EXT4\n";
                /targz/ and $ret .= "\tselect USES_TARGZ\n";
                /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
+               /minor/ and $ret .= "\tselect USES_MINOR\n";
                /ubifs/ and $ret .= "\tselect USES_UBIFS\n";
                /fpu/ and $ret .= "\tselect HAS_FPU\n";
                /spe_fpu/ and $ret .= "\tselect HAS_SPE_FPU\n";
index 843fbeeb8897cb90d36cce8a5f09b256a20d5b2e..6a29d5332463ed191adbc5cf5e968ee088dc27e0 100644 (file)
@@ -63,6 +63,9 @@ config USES_TARGZ
 config USES_CPIOGZ
        bool
 
+config USES_MINOR
+       bool
+
 config USES_UBIFS
        bool
        select NAND_SUPPORT
index b2fb0df05f4b9e7722c0727db6cfb5bebc3b2287..cb2447aee84cf06fb956cebf409125b9e393d683 100644 (file)
@@ -1,5 +1,5 @@
-BOARDNAME:=Mikrotik devices with NAND flash
-FEATURES += targz ramdisk
+BOARDNAME:=Mikrotik devices with NAND/NOR flash
+FEATURES += targz ramdisk minor
 
 define Target/Description
        Build firmware images for Atheros AR71xx/AR913x based Mikrotik boards.
index c3476cf03a4789d284c9a30ad9d73a578ef8ce25..179306dfc09c10875b6c578476c92cee105a9cd7 100644 (file)
@@ -38,6 +38,7 @@ tools-$(CONFIG_TARGET_x86) += qemu
 tools-$(CONFIG_TARGET_mxs) += elftosb sdimage
 tools-$(CONFIG_TARGET_brcm2708)$(CONFIG_TARGET_sunxi)$(CONFIG_TARGET_mxs)$(CONFIG_TARGET_omap) += mtools dosfstools
 tools-$(CONFIG_TARGET_ar71xx) += lzma-old squashfs
+tools-$(CONFIG_USES_MINOR) += kernel2minor
 tools-y += lzma squashfs4
 tools-$(BUILD_B43_TOOLS) += b43-tools
 tools-$(BUILD_PPL_CLOOG) += ppl cloog
diff --git a/tools/kernel2minor/Makefile b/tools/kernel2minor/Makefile
new file mode 100644 (file)
index 0000000..0db9959
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2016 adron@yapic.net
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=kernel2minor
+PKG_VERSION:=0.22
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://github.com/adron-s/kernel2minor.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=0587740de3e398dbe89d965334c492609cb9739d
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/host-build.mk
+
+define Host/Install
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/kernel2minor $(STAGING_DIR_HOST)/bin/
+endef
+
+define Host/Clean
+       rm -f $(STAGING_DIR_HOST)/bin/kernel2minor
+endef
+
+$(eval $(call HostBuild))