mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-25 11:46:43 +00:00
Allow for a custom system partition start sector + custom system size
This commit is contained in:
parent
7e0b1b6b8b
commit
b42b63983b
@ -3,7 +3,7 @@
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_System",
|
||||
"filesystem_type": "FAT",
|
||||
"partition_size_nominal": 512,
|
||||
"partition_size_nominal": @SYSTEM_SIZE@,
|
||||
"want_maximised": false,
|
||||
"uncompressed_tarball_size": 120,
|
||||
"mkfs_options": ""
|
||||
|
@ -204,3 +204,8 @@
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
||||
# Default size of system partition, in MB, eg. 512
|
||||
SYSTEM_SIZE=512
|
||||
# Default system partition offset, in sectors, eg. 2048
|
||||
SYSTEM_PART_START=2048
|
||||
|
@ -19,8 +19,11 @@
|
||||
DISKLABEL_SYSTEM="System"
|
||||
DISKLABEL_STORAGE="Storage"
|
||||
|
||||
# Defaultsize of system partition (Cylinder: 16=132MB, 31=255MB, 66=517MiB)
|
||||
PARTSIZE_SYSTEM="66"
|
||||
# Default size of system partition, in MB, eg. 512
|
||||
PARTSIZE_SYSTEM="@SYSTEM_SIZE@"
|
||||
|
||||
# Default starting offset for system partition, in sectors (1 sector = 512B), eg. 2048
|
||||
PARTSIZE_SYSTEM_OFFSET="@SYSTEM_PART_START@"
|
||||
|
||||
# additional parameters to extlinux
|
||||
EXTLINUX_PARAMETERS=""
|
||||
|
@ -50,6 +50,9 @@ post_install() {
|
||||
else
|
||||
cp $PKG_DIR/config/installer.conf $INSTALL/etc
|
||||
fi
|
||||
sed -e "s/@SYSTEM_SIZE@/$SYSTEM_SIZE/g" \
|
||||
-e "s/@SYSTEM_PART_START@/$SYSTEM_PART_START/g" \
|
||||
-i $INSTALL/etc/installer.conf
|
||||
|
||||
enable_service installer.service
|
||||
}
|
||||
|
@ -253,15 +253,20 @@ do_install_quick() {
|
||||
cat /usr/share/syslinux/mbr.bin > $INSTALL_DEVICE
|
||||
fi
|
||||
|
||||
partsize_system_start=$PARTSIZE_SYSTEM_OFFSET
|
||||
partsize_system_end=$(((PARTSIZE_SYSTEM * 1024 * 1024 / 512) + partsize_system_start))
|
||||
partsize_storage_start=$((partsize_system_end + 2048))
|
||||
partsize_storage_end=-1024
|
||||
|
||||
msg_progress_install "10" "creating partition on $INSTALL_DEVICE"
|
||||
if [ "$UEFI" = "1" ]; then
|
||||
parted -s $INSTALL_DEVICE unit cyl mkpart primary fat32 -- 0 $PARTSIZE_SYSTEM >> $LOGFILE 2>&1
|
||||
parted -s $INSTALL_DEVICE unit s mkpart primary fat32 -- $partsize_system_start $partsize_system_end >> $LOGFILE 2>&1
|
||||
else
|
||||
parted -s $INSTALL_DEVICE unit cyl mkpart primary ext2 -- 0 $PARTSIZE_SYSTEM >> $LOGFILE 2>&1
|
||||
parted -s $INSTALL_DEVICE unit s mkpart primary ext2 -- $partsize_system_start $partsize_system_end >> $LOGFILE 2>&1
|
||||
fi
|
||||
|
||||
msg_progress_install "13" "creating partition on $INSTALL_DEVICE"
|
||||
parted -s $INSTALL_DEVICE unit cyl mkpart primary ext2 -- $PARTSIZE_SYSTEM -2 >> $LOGFILE 2>&1
|
||||
parted -s $INSTALL_DEVICE unit s mkpart primary ext2 -- $partsize_storage_start $partsize_storage_end >> $LOGFILE 2>&1
|
||||
|
||||
msg_progress_install "16" "setup bootflag on partition 1 of $INSTALL_DEVICE"
|
||||
parted -s $INSTALL_DEVICE set 1 boot on >> $LOGFILE 2>&1
|
||||
@ -629,7 +634,7 @@ do_poweroff() {
|
||||
}
|
||||
|
||||
# setup needed variables
|
||||
INSTALLER_VERSION="0.2.7"
|
||||
INSTALLER_VERSION="0.2.8"
|
||||
OS_VERSION=$(lsb_release)
|
||||
BACKTITLE="LibreELEC Installer $INSTALLER_VERSION - $OS_VERSION"
|
||||
|
||||
|
@ -357,6 +357,8 @@ fi
|
||||
UUID_STORAGE="$(uuidgen)" \
|
||||
UBOOT_SYSTEM="$UBOOT_SYSTEM" \
|
||||
EXTRA_CMDLINE="$EXTRA_CMDLINE" \
|
||||
SYSTEM_SIZE="$SYSTEM_SIZE" \
|
||||
SYSTEM_PART_START="$SYSTEM_PART_START" \
|
||||
$SCRIPTS/mkimage
|
||||
fi
|
||||
|
||||
@ -453,6 +455,7 @@ fi
|
||||
|
||||
sed -e "s%@DISTRONAME@%$DISTRONAME%g" \
|
||||
-e "s%@PROJECT@%$PROJECT%g" \
|
||||
-e "s%@SYSTEM_SIZE@%$SYSTEM_SIZE%g" \
|
||||
-i $RELEASE_DIR/${DISTRONAME}_${PROJECT}/partitions.json
|
||||
|
||||
# create System dir
|
||||
|
@ -27,7 +27,11 @@
|
||||
OE_TMP=$(mktemp -d)
|
||||
SAVE_ERROR="$OE_TMP/save_error"
|
||||
|
||||
SYSTEM_SIZE=512
|
||||
if [ -z "$SYSTEM_SIZE" -o -z "$SYSTEM_PART_START" ]; then
|
||||
echo "mkimage: SYSTEM_SIZE and SYSTEM_PART_START must be configured!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STORAGE_SIZE=32 # STORAGE_SIZE must be >= 32 !
|
||||
|
||||
DISK_SIZE=$(( $SYSTEM_SIZE + $STORAGE_SIZE + 4 ))
|
||||
@ -74,8 +78,8 @@ trap cleanup SIGINT
|
||||
|
||||
# create part1
|
||||
echo "image: creating part1..."
|
||||
SYSTEM_PART_END=$(( $SYSTEM_SIZE * 1024 * 1024 / 512 + 2048 ))
|
||||
parted -s "$DISK" -a min unit s mkpart primary fat32 2048 $SYSTEM_PART_END
|
||||
SYSTEM_PART_END=$(( ($SYSTEM_SIZE * 1024 * 1024 / 512) + $SYSTEM_PART_START ))
|
||||
parted -s "$DISK" -a min unit s mkpart primary fat32 $SYSTEM_PART_START $SYSTEM_PART_END
|
||||
if [ "$BOOTLOADER" = "syslinux" ]; then
|
||||
parted -s "$DISK" set 1 legacy_boot on
|
||||
else
|
||||
@ -100,7 +104,7 @@ fi
|
||||
|
||||
# create filesystem on part1
|
||||
echo "image: creating filesystem on part1..."
|
||||
OFFSET=$(( 2048 * 512 ))
|
||||
OFFSET=$(( $SYSTEM_PART_START * 512 ))
|
||||
HEADS=4
|
||||
TRACKS=32
|
||||
SECTORS=$(( $SYSTEM_SIZE * 1024 * 1024 / 512 / $HEADS / $TRACKS ))
|
||||
|
Loading…
x
Reference in New Issue
Block a user