From ad6a9f656ea13912bdc8d371fc902841a74e5f01 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 15 Jul 2019 20:24:57 +0200 Subject: [PATCH 1/4] dosfstools: install fsck.fat and fatlabel to toolchain Signed-off-by: Matthias Reichl --- packages/sysutils/dosfstools/package.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/sysutils/dosfstools/package.mk b/packages/sysutils/dosfstools/package.mk index 65bc096aaa..f6c78c5034 100644 --- a/packages/sysutils/dosfstools/package.mk +++ b/packages/sysutils/dosfstools/package.mk @@ -41,4 +41,7 @@ makeinstall_host() { mkdir -p $TOOLCHAIN/sbin cp mkfs.fat $TOOLCHAIN/sbin ln -sf mkfs.fat $TOOLCHAIN/sbin/mkfs.vfat + cp fsck.fat $TOOLCHAIN/sbin + ln -sf fsck.fat $TOOLCHAIN/sbin/fsck.vfat + cp fatlabel $TOOLCHAIN/sbin } From ec6cd1c7487e6e46dce6115a66e4b161a17d70c7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 15 Jul 2019 20:26:38 +0200 Subject: [PATCH 2/4] scripts/mkimage: use fsck.fat to check FAT partition fsck.fat is available in toolchain, so use that instead of fsck from build host (which may not support checking FAT filesystems). Signed-off-by: Matthias Reichl --- scripts/mkimage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mkimage b/scripts/mkimage index 953026afb1..9a9f291a71 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -286,7 +286,7 @@ SYSTEM_PART_COUNT=$(( ${SYSTEM_PART_END} - ${SYSTEM_PART_START} + 1 )) sync dd if="${DISK}" of="${LE_TMP}/part1.fat" bs=512 skip="${SYSTEM_PART_START}" count="${SYSTEM_PART_COUNT}" conv=fsync >"${SAVE_ERROR}" 2>&1 || show_error echo "image: checking filesystem on part1..." -fsck -n "${LE_TMP}/part1.fat" >"${SAVE_ERROR}" 2>&1 || show_error +fsck.fat -n "${LE_TMP}/part1.fat" >"${SAVE_ERROR}" 2>&1 || show_error # create virtual image if [ "${PROJECT}" = "Generic" ]; then From 6fce87427b3c25c21d652f03d3bd6ad41a2c6506 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 16 Jul 2019 19:56:16 +0200 Subject: [PATCH 3/4] e2fsprogs: build binaries needed for image creation build e2fsck, mke2fs and tune2fs and install them to toolchain Signed-off-by: Matthias Reichl --- packages/sysutils/e2fsprogs/package.mk | 28 ++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/sysutils/e2fsprogs/package.mk b/packages/sysutils/e2fsprogs/package.mk index ee226c7d8c..c0b54b6645 100644 --- a/packages/sysutils/e2fsprogs/package.mk +++ b/packages/sysutils/e2fsprogs/package.mk @@ -20,7 +20,24 @@ fi PKG_CONFIGURE_OPTS_HOST="--prefix=$TOOLCHAIN/ \ --bindir=$TOOLCHAIN/bin \ - --sbindir=$TOOLCHAIN/sbin" + --sbindir=$TOOLCHAIN/sbin \ + --enable-verbose-makecmds \ + --disable-symlink-install \ + --disable-symlink-build \ + --disable-subset \ + --disable-debugfs \ + --disable-imager \ + --disable-resizer \ + --disable-defrag \ + --disable-fsck \ + --disable-e2initrd-helper \ + --enable-tls \ + --disable-uuid \ + --disable-uuidd \ + --disable-nls \ + --disable-rpath \ + --disable-fuse2fs \ + --with-gnu-ld" pre_configure() { PKG_CONFIGURE_OPTS_INIT="BUILD_CC=$HOST_CC \ @@ -83,12 +100,11 @@ makeinstall_init() { fi } -make_host() { - make -C lib/et - make -C lib/ext2fs -} - makeinstall_host() { make -C lib/et LIBMODE=644 install make -C lib/ext2fs LIBMODE=644 install + mkdir -p $TOOLCHAIN/sbin + cp e2fsck/e2fsck $TOOLCHAIN/sbin + cp misc/mke2fs $TOOLCHAIN/sbin + cp misc/tune2fs $TOOLCHAIN/sbin } From a62c0088b7d46aba7a8901d138f1f6ccc79fb6d2 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 16 Jul 2019 19:58:10 +0200 Subject: [PATCH 4/4] scripts/image: drop /sbin from PATH All programs needed for image creation are available in toolchain. Signed-off-by: Matthias Reichl --- scripts/image | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/image b/scripts/image index 3067a0b68a..783d874db0 100755 --- a/scripts/image +++ b/scripts/image @@ -23,7 +23,6 @@ setup_toolchain target function do_mkimage() { # Variables used in mkimage script must be passed env \ - PATH="${PATH}:/sbin" \ ROOT="${ROOT}" \ SCRIPTS="${SCRIPTS}" \ TOOLCHAIN="${TOOLCHAIN}" \