mvebu: use ext4/f2fs overlay filesystem for solidrun clearfog

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2016-09-08 14:19:34 +02:00
parent bee30de984
commit 3cbb7820a4
3 changed files with 12 additions and 15 deletions

View file

@ -34,7 +34,6 @@ endef
# MBR: 2048 sectors # MBR: 2048 sectors
# Partition 1: 32768 sectors # Partition 1: 32768 sectors
# Partition 2: 98304 sectors (configurable) # Partition 2: 98304 sectors (configurable)
# Partition 3: 7611392 sectors (configurable, depends on p2 size)
define Build/boot-scr define Build/boot-scr
rm -f $@.bootscript rm -f $@.bootscript
@ -50,16 +49,11 @@ define Build/boot-img
endef endef
define Build/sdcard-img define Build/sdcard-img
rm -rf $@ $@.rootfsdata $@.tmp
mkdir -p $@.tmp
ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \ ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \
DATA_SIZE=$$(( 7709696 - ($(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2) )); \ ./gen_mvebu_sdcard_img.sh $@ \
make_ext4fs -J -l $$DATA_SIZE $@.rootfsdata $@.tmp && \
./gen_mvebu_sdcard_img.sh 7744512 $@ \
"$(BIN_DIR)/uboot-mvebu-clearfog/openwrt-mvebu-clearfog-u-boot-spl.kwb" \ "$(BIN_DIR)/uboot-mvebu-clearfog/openwrt-mvebu-clearfog-u-boot-spl.kwb" \
c 32768 $@.boot \ c 32768 $@.boot \
83 $$ROOTFS_SIZE $(IMAGE_ROOTFS) \ 83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
83 $$DATA_SIZE $@.rootfsdata
endef endef
define Device/Default define Device/Default
@ -182,7 +176,7 @@ define Device/armada-388-clearfog
KERNEL_INSTALL := 1 KERNEL_INSTALL := 1
KERNEL := dtb | kernel-bin KERNEL := dtb | kernel-bin
DEVICE_TITLE := SolidRun ClearFog DEVICE_TITLE := SolidRun ClearFog
DEVICE_PACKAGES := uboot-mvebu-clearfog DEVICE_PACKAGES := uboot-mvebu-clearfog mkf2fs e2fsprogs
IMAGES := bundle.tar.gz sdcard.img.gz IMAGES := bundle.tar.gz sdcard.img.gz
IMAGE/bundle.tar.gz := clearfog-bundle IMAGE/bundle.tar.gz := clearfog-bundle
IMAGE/sdcard.img.gz := boot-scr | boot-img | sdcard-img | gzip IMAGE/sdcard.img.gz := boot-scr | boot-img | sdcard-img | gzip

View file

@ -18,12 +18,12 @@
# #
usage() { usage() {
echo "$0 <sectors> <outfile> <bootloader> [<type_partitionN> <sectors_partitionN> <img_partitionN>]?" echo "$0 <outfile> <bootloader> [<type_partitionN> <sectors_partitionN> <img_partitionN>]?"
} }
# always require first 3 arguments # always require first 3 arguments
# then in pairs up to 8 more for a total of up to 4 partitions # then in pairs up to 8 more for a total of up to 4 partitions
if [ $# -lt 3 ] || [ $# -gt 15 ] || [ $(($#%3)) -ne 0 ]; then if [ $# -lt 2 ] || [ $# -gt 15 ] || [ $((($# - 2) % 3)) -ne 0 ]; then
usage usage
exit 1 exit 1
fi fi
@ -31,7 +31,6 @@ fi
set -e set -e
# parameters # parameters
IMGSIZE=$1; shift
OUTFILE="$1"; shift OUTFILE="$1"; shift
BOOTLOADER="$1"; shift BOOTLOADER="$1"; shift
@ -41,7 +40,7 @@ dd if=/dev/zero of="$OUTFILE" bs=512 count=1 >/dev/null
printf "Done\n" printf "Done\n"
while [ "$#" -ge 3 ]; do while [ "$#" -ge 3 ]; do
ptgen_args="$ptgen_args -p $(($2 / 2)) -S 0x$1" ptgen_args="$ptgen_args -p $(($2 / 2 + 256)) -S 0x$1"
parts="$parts$3 " parts="$parts$3 "
shift; shift; shift shift; shift; shift
done done
@ -65,7 +64,11 @@ while [ "$#" -ge 2 ]; do
parts="${parts#* }" parts="${parts#* }"
printf "Writing %s to partition %i: " "$img" $i printf "Writing %s to partition %i: " "$img" $i
dd if="$img" of="$OUTFILE" bs=512 seek=$(($1 / 512)) conv=notrunc 2>/dev/null (
cat "$img"
# add padding to avoid leaving behind old overlay fs data
dd if=/dev/zero bs=128k count=1 2>/dev/null
) | dd of="$OUTFILE" bs=512 seek=$(($1 / 512)) conv=notrunc 2>/dev/null
printf "Done\n" printf "Done\n"
let i=i+1 let i=i+1

View file

@ -7,7 +7,7 @@
define Profile/Default define Profile/Default
NAME:=Default Profile (all drivers) NAME:=Default Profile (all drivers)
PACKAGES:= kmod-mwlwifi wpad-mini swconfig uboot-mvebu-clearfog PACKAGES:= kmod-mwlwifi wpad-mini swconfig uboot-mvebu-clearfog mkf2fs e2fsprogs
endef endef
define Profile/Default/Description define Profile/Default/Description