summaryrefslogtreecommitdiff
path: root/scripts/build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2012-07-18 22:27:30 +0200
committerDaniel Baumann <daniel@debian.org>2012-07-18 22:30:15 +0200
commit2d94f79d0acc5405bf5e8ce9c580dda1c6e91287 (patch)
tree8fa1352be23ba1e0c0ff736a460c3bc8ae0bf8b2 /scripts/build
parent44fd76f5a0f08493c43fa82316e1591709dc76f5 (diff)
downloadvyos-live-build-2d94f79d0acc5405bf5e8ce9c580dda1c6e91287.tar.gz
vyos-live-build-2d94f79d0acc5405bf5e8ce9c580dda1c6e91287.zip
Adding support for ntfs as binary filesystem when using syslinux.
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build/lb_binary_debian-installer2
-rwxr-xr-xscripts/build/lb_binary_hdd37
-rwxr-xr-xscripts/build/lb_config2
-rwxr-xr-xscripts/build/lb_source_debian19
-rwxr-xr-xscripts/build/lb_source_hdd9
5 files changed, 65 insertions, 4 deletions
diff --git a/scripts/build/lb_binary_debian-installer b/scripts/build/lb_binary_debian-installer
index 59d62e6bd..bdf7308ea 100755
--- a/scripts/build/lb_binary_debian-installer
+++ b/scripts/build/lb_binary_debian-installer
@@ -767,7 +767,7 @@ EOF
case "${LB_BINARY_IMAGES}" in
hdd)
case "${LB_BINARY_FILESYSTEM}" in
- fat*)
+ fat*|ntfs)
# Creating dist directories
for DISTRIBUTION in ${DISTRIBUTIONS}
do
diff --git a/scripts/build/lb_binary_hdd b/scripts/build/lb_binary_hdd
index 687bca862..c1cd0427e 100755
--- a/scripts/build/lb_binary_hdd
+++ b/scripts/build/lb_binary_hdd
@@ -44,7 +44,24 @@ Check_lockfile .lock
Create_lockfile .lock
# Checking depends
-Check_package chroot/sbin/mkdosfs dosfstools
+case "${LB_BINARY_FILESYSTEM}" in
+ fat*)
+ Check_package chroot/sbin/mkdosfs dosfstools
+ ;;
+
+ ntfs)
+ case "${LB_DISTRIBUTION}" in
+ squeeze)
+ Check_package chroot/sbin/mkfs.ntfs ntfsprogs
+ ;;
+
+ *)
+ Check_package chroot/sbin/mkfs.nfts ntfs-3g
+ ;;
+ esac
+ ;;
+esac
+
Check_package chroot/usr/share/doc/mtools mtools
Check_package chroot/sbin/parted parted
@@ -102,6 +119,15 @@ then
export LB_BINARY_FILESYSTEM
fi
+# Enforce ntfs if we find individual files bigger than 4GB
+if [ "${LB_BINARY_FILESYSTEM}" = "fat32" ] && [ -n "$(find binary -size +3999M)" ]
+then
+ Echo_warning "FAT32 doesn't support files larger than 4GB, automatically enforcing NTFS."
+
+ LB_BINARY_FILESYSTEM="ntfs"
+ export LB_BINARY_FILESYSTEM
+fi
+
# Everything which comes here needs to be cleaned up,
DU_DIM="$(du -ms binary | cut -f1)"
REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_BINARY_FILESYSTEM})"
@@ -136,6 +162,10 @@ case "${LB_BINARY_FILESYSTEM}" in
PARTITION_TYPE="${LB_BINARY_FILESYSTEM}"
;;
+ ntfs)
+ PARTITION_TYPE="NTFS"
+ ;;
+
*)
Echo_error "Unsupported binary filesystem %s" "${LB_BINARY_FILESYSTEM}"
exit 1
@@ -184,6 +214,11 @@ case "${LB_BINARY_FILESYSTEM}" in
MKFS="vfat"
MKFS_OPTIONS="-F 32 -n ${LB_HDD_LABEL}"
;;
+
+ ntfs)
+ MKFS="ntfs"
+ MKFS_OPTIONS="-L ${LB_HDD_LABEL}"
+ ;;
esac
case "${LB_BUILD_WITH_CHROOT}" in
diff --git a/scripts/build/lb_config b/scripts/build/lb_config
index f9bd370c2..e8f1ef156 100755
--- a/scripts/build/lb_config
+++ b/scripts/build/lb_config
@@ -41,7 +41,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
\t [--apt-source-archives true|false]\n\
\t [-a|--architectures ARCHITECTURE]\n\
\t [-b|--binary-images iso|iso-hybrid|netboot|tar|hdd]\n\
-\t [--binary-filesystem fat16|fat32|ext2|ext3|ext4]\n\
+\t [--binary-filesystem fat16|fat32|ext2|ext3|ext4|ntfs]\n\
\t [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\
\t [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\
\t [--bootappend-failsafe PARAMETER|\"PARAMETERS\"]\n\
diff --git a/scripts/build/lb_source_debian b/scripts/build/lb_source_debian
index eb4b11ed8..dcde7a477 100755
--- a/scripts/build/lb_source_debian
+++ b/scripts/build/lb_source_debian
@@ -55,13 +55,30 @@ Chroot chroot "dpkg --get-selections" | awk '{ print $1 }' > source-selection.tx
cat >> source-selection.txt << EOF
${LB_BOOTLOADER}
live-build
-dosfstools
genisoimage
parted
squashfs-tools
mtd-tools
EOF
+case "${LB_BINARY_FILESYSTEM}" in
+ fat*)
+ echo "dosfstools" >> source-selection.txt
+ ;;
+
+ ntfs)
+ case "${LB_DISTRIBUTION}" in
+ squeeze)
+ echo "ntfsprogs" >> source-selection.txt
+ ;;
+
+ *)
+ echo "ntfs-3g" >> source-selection.txt
+ ;;
+ esac
+ ;;
+esac
+
case "${LB_ARCHITECTURES}" in
amd64|i386)
diff --git a/scripts/build/lb_source_hdd b/scripts/build/lb_source_hdd
index 4b133ff9b..990f81c58 100755
--- a/scripts/build/lb_source_hdd
+++ b/scripts/build/lb_source_hdd
@@ -83,6 +83,10 @@ case "${LB_BINARY_FILESYSTEM}" in
PARTITION_TYPE="${LB_BINARY_FILESYSTEM}"
;;
+ ntfs)
+ PARTITION_TYPE="NTFS"
+ ;;
+
*)
Echo_error "Unsupported binary filesystem %s" "${LB_BINARY_FILESYSTEM}"
exit 1
@@ -112,6 +116,11 @@ case "${LB_BINARY_FILESYSTEM}" in
MKFS="vfat"
MKFS_OPTIONS="-F 32 -n ${LB_HDD_LABEL}"
;;
+
+ ntfs)
+ MKFS="ntfs"
+ MKFS_OPTIONS="-L ${LB_HDD_LABEL}"
+ ;;
esac
Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}"