Skip to contentSkip to conversation

abootimg: new package

PATCH New julien.boibessot at free.fr 2 participants 3 messages Apr 4, 2018 – May 28, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 abootimg: new package

From: Julien BOIBESSOT <[email protected]>

This tool might be useful on Android devices modded with Buildroot. Indeed it allows to modify Android Boot Image partition directly from running rootfs and so let the user free to keep Android stuff on his device (mainly bootloader) while testing/using Buildroot kernel/rootfs.

For example, one can modify kernel cmdline on Boot Image partition and tell Android bootloader to launch kernel with a given rootfs fitted with BR instead of Android's one.

Build-tested with ./utils/test-pkg -p abootimg -c config.abootimg -a with config.abootimg containing:
BR2_USE_MMU=y
BR2_PACKAGE_ABOOTIMG=y
BR2_PACKAGE_UTIL_LINUX=y BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y

                armv5-ctng-linux-gnueabi [ 1/47]: OK
              armv7-ctng-linux-gnueabihf [ 2/47]: OK
                        br-aarch64-glibc [ 3/47]: OK
                           br-arcle-hs38 [ 4/47]: OK
                            br-arm-basic [ 5/47]: OK
                  br-arm-cortex-a9-glibc [ 6/47]: OK
                   br-arm-cortex-a9-musl [ 7/47]: OK
                   br-arm-cortex-m4-full [ 8/47]: SKIPPED
                             br-arm-full [ 9/47]: OK
                    br-arm-full-nothread [10/47]: OK
                      br-arm-full-static [11/47]: OK
                            br-bfin-full [12/47]: SKIPPED
                   br-i386-pentium4-full [13/47]: OK
                br-i386-pentium-mmx-musl [14/47]: OK
                       br-m68k-5208-full [15/47]: SKIPPED
                      br-m68k-68040-full [16/47]: OK
                    br-microblazeel-full [17/47]: OK
                 br-mips32r6-el-hf-glibc [18/47]: OK
                      br-mips64-n64-full [19/47]: OK
                 br-mips64r6-el-hf-glibc [20/47]: OK
                      br-mipsel-o32-full [21/47]: OK
                          br-nios2-glibc [22/47]: OK
                      br-openrisc-uclibc [23/47]: OK
               br-powerpc-603e-basic-cpp [24/47]: OK
             br-powerpc64le-power8-glibc [25/47]: OK
               br-powerpc64-power7-glibc [26/47]: OK
                  br-powerpc-e500mc-full [27/47]: OK
                             br-sh4-full [28/47]: OK
                        br-sparc64-glibc [29/47]: OK
                         br-sparc-uclibc [30/47]: OK
                    br-x86-64-core2-full [31/47]: OK
                          br-x86-64-musl [32/47]: OK
                          br-xtensa-full [33/47]: OK
                     i686-ctng-linux-gnu [34/47]: OK
                          linaro-aarch64 [35/47]: OK
                              linaro-arm [36/47]: OK
             mips64el-ctng_n32-linux-gnu [37/47]: OK
             mips64el-ctng_n64-linux-gnu [38/47]: OK
        powerpc-ctng_e500v2-linux-gnuspe [39/47]: OK
                     sourcery-arm-armv4t [40/47]: OK
                            sourcery-arm [41/47]: OK
                     sourcery-arm-thumb2 [42/47]: OK
                         sourcery-mips64 [43/47]: OK
                           sourcery-mips [44/47]: OK
                          sourcery-nios2 [45/47]: OK
                         sourcery-x86-64 [46/47]: OK
           x86_64-ctng_locales-linux-gnu [47/47]: OK

47 builds, 3 skipped, 0 build failed, 0 legal-info failed

---
 package/Config.in              |  1 +
 package/abootimg/Config.in     | 10 ++++++++++
 package/abootimg/abootimg.hash |  3 +++
 package/abootimg/abootimg.mk   | 23 +++++++++++++++++++++++
 4 files changed, 37 insertions(+)
 create mode 100644 package/abootimg/Config.in
 create mode 100644 package/abootimg/abootimg.hash
 create mode 100644 package/abootimg/abootimg.mk
package/Config.in +1 -0
index d883909..07b93e7 100644
@@ -166,6 +166,7 @@ menu "Development tools"
 endmenu
 
 menu "Filesystem and flash utilities"
+	source "package/abootimg/Config.in"
 	source "package/aufs/Config.in"
 	source "package/aufs-util/Config.in"
 	source "package/autofs/Config.in"
package/abootimg/Config.in new file +10 -0
new file mode 100644
index 0000000..30e5bd1
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_ABOOTIMG
+	bool "abootimg"
+	depends on BR2_USE_MMU	# libblkid
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+	help
+	  Tool to manipulate Android Boot Images, either on files
+	  or directly on /dev block devices.
+
+	  https://github.com/ggrandou/abootimg
package/abootimg/abootimg.hash new file +3 -0
new file mode 100644
index 0000000..fa5282c
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256	eb8d912bc7b5454c2afd3385fd86f4917d3587c48a6f5ae45df7856d88502cab	abootimg-7e127fee6a3981f6b0a50ce9910267cd501e09d4.tar.gz
+sha256	8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643	LICENSE
package/abootimg/abootimg.mk new file +23 -0
new file mode 100644
index 0000000..9df96b1
@@ -0,0 +1,23 @@
+################################################################################
+#
+# abootimg
+#
+################################################################################
+
+ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4
+ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION))
+ABOOTIMG_LICENSE = GPLv2
+ABOOTIMG_LICENSE_FILES = LICENSE
+
+# depends on libblkid from util-linux
+ABOOTIMG_DEPENDENCIES = util-linux
+
+define ABOOTIMG_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
+endef
+
+define ABOOTIMG_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/abootimg $(TARGET_DIR)/usr/bin/abootimg
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 abootimg: new package

Hello,

package/abootimg/abootimg.mk line 9

Quoted 3 lines · julien.boibessot at free.fr
package/abootimg/abootimg.mk new file +3 -0
+ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4
+ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION))
+ABOOTIMG_LICENSE = GPLv2

The proper encoding for this license is GPL-2.0, and in fact the license is GPLv2 or later, so the correct value here was GPL-2.0+.

Applied with this fixed. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 abootimg: new package

Hello,

Quoted 4 lines · Thomas Petazzoni

Hello,

On Wed, 4 Apr 2018 14:54:09 +0200, julien.boibessot at free.fr wrote:

Quoted 8 lines

package/abootimg/abootimg.mk line 9

Quoted 3 lines
package/abootimg/abootimg.mk new file +3 -0
+ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4
+ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION))
+ABOOTIMG_LICENSE = GPLv2  

The proper encoding for this license is GPL-2.0, and in fact the license is GPLv2 or later, so the correct value here was GPL-2.0+.

Applied with this fixed. Thanks!

I now realize this patch (and commit) lacked the addition to the DEVELOPERS file. Would you mind sending a follow-up patch to add yourself as a developer for this new package ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com