diff options
-rwxr-xr-x | functions/defaults.sh | 4 | ||||
-rwxr-xr-x | scripts/build/lb_binary_debian-installer | 2 | ||||
-rwxr-xr-x | scripts/build/lb_binary_hdd | 37 | ||||
-rwxr-xr-x | scripts/build/lb_config | 2 | ||||
-rwxr-xr-x | scripts/build/lb_source_debian | 19 | ||||
-rwxr-xr-x | scripts/build/lb_source_hdd | 9 |
6 files changed, 67 insertions, 6 deletions
diff --git a/functions/defaults.sh b/functions/defaults.sh index eaaf822de..5e06c485f 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -1281,10 +1281,10 @@ Check_defaults () then # syslinux + fat case "${LB_BINARY_FILESYSTEM}" in - fat*) + fat*|ntfs) ;; *) - Echo_warning "You have selected values of LB_BOOTLOADER and LB_BINARY_FILESYSTEM which are incompatible - syslinux only supports FAT filesystems." + Echo_warning "You have selected values of LB_BOOTLOADER and LB_BINARY_FILESYSTEM which are incompatible - syslinux only supports FAT and NTFS filesystems." ;; esac fi 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}" |