EOF
if [ -n "$TARGET_UUID" ] ; then
- local rootfs_mount_options=",errors=remount-ro"
+ local rootfs_mount_options=""
+
+ if [ -z "${FILESYSTEM}" ] ; then
+ FILESYSTEM="$(blkid -o value -s TYPE /dev/disk/by-uuid/"${TARGET_UUID}")"
+ fi
+
case "${FILESYSTEM}" in
- f2fs)
- # errors=remount-ro is unsupported, see https://github.com/grml/grml-debootstrap/issues/163
- rootfs_mount_options=""
+ # errors=remount-ro is supported only by a few file systems
+ ext*|exfat|fat|jfs|nilfs2|vfat)
+ rootfs_mount_options=",errors=remount-ro"
;;
esac
}
# }}}
+# ensure we have according filesystem tools available {{{
+install_fs_tools() {
+ local pkg=""
+
+ # note: this is supposed to be coming either via command lines'
+ # $_opt_filesystem or via createfstab()
+ case "${FILESYSTEM}" in
+ jfs)
+ pkg="jfsutils"
+ ;;
+ xfs)
+ pkg="xfsprogs"
+ ;;
+ esac
+
+ if [ -n "${pkg:-}" ] && ! dpkg --list "${pkg}" 2>/dev/null | grep -q '^ii' ; then
+ echo "Filesystem package ${pkg} not present, installing now"
+ DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL "${pkg}"
+ fi
+}
+# }}}
+
# set up hostname {{{
hostname() {
if [ -n "$HOSTNAME" ] ; then
for i in chrootmirror grmlrepos backportrepos kernelimg_conf \
kernel packages extrapackages reconfigure hosts \
- default_locales timezone fstab hostname initrd grub_install passwords \
+ default_locales timezone fstab install_fs_tools hostname \
+ initrd grub_install passwords \
custom_scripts upgrade_system remove_apt_cache services \
remove_chrootmirror; do
if stage $i ; then
$(RM) *.o *.so
rm -rf local_dir
+# Debian 12
+bookworm: clean fake-uname.so install
+ packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
+
# Debian 11
bullseye: clean fake-uname.so install
packer build -var debian_version=$@ -var grml_debootstrap_version=$(GRML_DEBOOTSTRAP_VERSION) -var grml_debootstrap_local_path=$(GRML_DEBOOTSTRAP_LOCAL_PATH) debian64.json
@test "debian_version exists and is valid version" {
run cat "${mountpath}/etc/debian_version"
[ "$status" -eq 0 ]
- [[ "$output" == [0-9]*.[0-9]* ]] || [[ "$output" == 'bullseye/sid' ]]
+ [[ "$output" == [0-9]*.[0-9]* ]] || [[ "$output" == 'bookworm/sid' ]]
}
@test "kernel exists" {
"hard_drive_interface": "sata",
"headless": false,
"iso_checksum": "sha1:{{ user `grml_iso_checksum` }}",
- "iso_url": "http://download.grml.org/{{ user `grml_type` }}_{{ user `grml_version` }}.iso",
+ "iso_url": "http://download.grml.org/devel/{{ user `grml_type` }}_{{ user `grml_version` }}.iso",
"output_directory": "{{ user `grml_type` }}_output",
"shutdown_command": "shutdown -h now",
"ssh_password": "grml",
"debian_version": "bullseye",
"grml_debootstrap_local_path": "doesnotexist",
"grml_debootstrap_version": "latest",
- "grml_iso_checksum": "c1d94bb237d75ec326fb9a3b2bb980c93b1eb23c",
+ "grml_iso_checksum": "813a999762a4b1ff20a3d7a757339d3ae822c547",
"grml_type": "grml64-full",
- "grml_version": "2021.07"
+ "grml_version": "2022.11-rc1"
}
}
apply_nic_workaround() {
# release specific stuff
case "$DEBIAN_VERSION" in
- stretch|buster|bullseye|unstable|sid)
+ stretch|buster|bullseye|bookworm|unstable|sid)
;;
*)
echo "* Debian $DEBIAN_VERSION doesn't require NIC workaround"