From dd16eef2610e7e83e80252d723785b40a5d8af90 Mon Sep 17 00:00:00 2001 From: torben Date: Thu, 26 Nov 2015 17:30:04 +0100 Subject: Ubuntu fixes. --- builder/build-initramfs.sh | 14 ++++++++++++-- builder/dnbd3-rootfs/binaries/dnbd3 | 2 +- builder/dnbd3-rootfs/binaries/nbd/Makefile | 8 ++++---- builder/dnbd3-rootfs/module-setup.sh | 13 +++++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) (limited to 'builder') diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh index acc3ed85..136f9299 100755 --- a/builder/build-initramfs.sh +++ b/builder/build-initramfs.sh @@ -67,7 +67,10 @@ build_initramfs_verbose='no' build_initramfs_debug='no' build_initramfs_create_system_image='no' build_initramfs_dependencies=(bash cpio git test shift echo mktemp cat rm sed \ - gzip curl tar grep make) + gzip curl tar grep make gcc cmake) +# TODO Check for: +# /usr/lib/x86_64-linux-gnu/libz.so +# for dnbd3 # endregion @@ -202,6 +205,12 @@ function build_initramfs_create_qcow2_system() { # region controller +# TODO link dracut module if present in same folder or download if not present +# already. +# TODO write clean procedure (also clean dracut module). +# TODO check for existing kernel headers: + # ubuntu: sudo apt-get install linux-headers-$(uname -r) + utils.dependency_check "${build_initramfs_dependencies[*]}" if ! build_initramfs_parse_command_line "$@"; then build_initramfs_print_help_message "$0" @@ -218,7 +227,8 @@ if [[ ! -L "$build_initramfs__dracut_modules_target" || "$(readlink \ "$build_initramfs__dracut_modules_target")" != \ "$build_initramfs__dracut_modules_source" ]] then - logging.info 'Link dnbd3 plugin into dracut modules folder.' + logging.info \ + "Link dnbd3 plugin into dracut modules folder ($build_initramfs__dracut_modules_source -> $build_initramfs__dracut_modules_target)." ln --symbolic "$build_initramfs__dracut_modules_source" \ "$build_initramfs__dracut_modules_target" # NOTE: If you copy we would have to recompile each binaries every time: diff --git a/builder/dnbd3-rootfs/binaries/dnbd3 b/builder/dnbd3-rootfs/binaries/dnbd3 index c3c05085..7e0668d1 160000 --- a/builder/dnbd3-rootfs/binaries/dnbd3 +++ b/builder/dnbd3-rootfs/binaries/dnbd3 @@ -1 +1 @@ -Subproject commit c3c050851dc866f2311d33a262ed81af8c57ce22 +Subproject commit 7e0668d1e4f78a0c7ff8689b197e2c104ce569e4 diff --git a/builder/dnbd3-rootfs/binaries/nbd/Makefile b/builder/dnbd3-rootfs/binaries/nbd/Makefile index 4dd501c3..2bd08b8e 100755 --- a/builder/dnbd3-rootfs/binaries/nbd/Makefile +++ b/builder/dnbd3-rootfs/binaries/nbd/Makefile @@ -3,13 +3,13 @@ obj-m += nbd.o all: build build: update - make --directory /lib/modules/$(shell uname -r)/build M=$(PWD) modules + make --directory /lib/modules/$(shell uname --kernel-release)/build M=$(PWD) modules install: - make --directory /lib/modules/$(shell uname -r)/build M=$(PWD) modules_install + make --directory /lib/modules/$(shell uname --kernel-release)/build M=$(PWD) modules_install clean: - make --directory /lib/modules/$(shell uname -r)/build M=$(PWD) clean + make --directory /lib/modules/$(shell uname --kernel-release)/build M=$(PWD) clean update: - curl --location --remote-name "https://raw.githubusercontent.com/torvalds/linux/v$(uname --kernel-release | cut --delimiter='.' --fields=1-2)/drivers/block/nbd.c" + curl --location --remote-name "https://raw.githubusercontent.com/torvalds/linux/v$(shell uname --kernel-release | cut --delimiter='.' --fields=1-2)/drivers/block/nbd.c" diff --git a/builder/dnbd3-rootfs/module-setup.sh b/builder/dnbd3-rootfs/module-setup.sh index b730b516..1a38b016 100755 --- a/builder/dnbd3-rootfs/module-setup.sh +++ b/builder/dnbd3-rootfs/module-setup.sh @@ -15,6 +15,19 @@ check() { utils_compile_systemd_preserve_process_marker \ "$moddir/binaries/systemd-preserve-process-marker/" fi + + # NOTE: This are workarounds for: + # - distributions where "systemd-udevd" doesn't lives in "/usr/lib" but in + # "/lib". + if [[ ! -f "${systemdutildir}/systemd-udevd" ]] && [[ -f /lib/systemd/systemd-udevd ]]; then + mkdir --parents "${initdir}${systemdutildir}" + ln --symbolic --force /lib/systemd/systemd-udevd \ + "${initdir}${systemdutildir}/systemd-udevd" + fi + # - "/usr/bin/sh" isn't available. + if [[ ! -f /usr/bin/sh ]] && [[ -f /bin/sh ]]; then + ln --symbolic --force /bin/sh /usr/bin/sh + fi return 0 } -- cgit v1.2.3-55-g7522 From 18c7a9ccc117597100c8e741bbd112cbda93d893 Mon Sep 17 00:00:00 2001 From: torben Date: Thu, 26 Nov 2015 18:07:49 +0100 Subject: Many ubuntu specific fixes. --- builder/build-initramfs.sh | 2 +- dev-tools/archLinuxStartup.nsh | 5 +++++ dev-tools/example-openslx.config | 2 +- dev-tools/startup.nsh | 5 ----- dev-tools/ubuntuStartup.nsh | 1 + dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) create mode 100755 dev-tools/archLinuxStartup.nsh delete mode 100755 dev-tools/startup.nsh create mode 100755 dev-tools/ubuntuStartup.nsh (limited to 'builder') diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh index 136f9299..8ba7e4a5 100755 --- a/builder/build-initramfs.sh +++ b/builder/build-initramfs.sh @@ -69,7 +69,7 @@ build_initramfs_create_system_image='no' build_initramfs_dependencies=(bash cpio git test shift echo mktemp cat rm sed \ gzip curl tar grep make gcc cmake) # TODO Check for: -# /usr/lib/x86_64-linux-gnu/libz.so +# /usr/lib/x86_64-linux-gnu/libz.so ldconfig -p |grep libz.so # for dnbd3 # endregion diff --git a/dev-tools/archLinuxStartup.nsh b/dev-tools/archLinuxStartup.nsh new file mode 100755 index 00000000..b36f4f85 --- /dev/null +++ b/dev-tools/archLinuxStartup.nsh @@ -0,0 +1,5 @@ +if exist fs0:\debug then + rm fs0:\debug + \vmlinuz-linux initrd=\initramfs-test.img root=PARTLABEL=system rw rootflags=subvol=root quiet loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break ip=10.0.2.15::10.0.2.2:255.255.255.0::enp0s3:off vconsole.font=latarcyrheb-sun16 vconsole.keymap=de +endif +\vmlinuz-linux initrd=\initramfs-linux.img root=PARTLABEL=system rw rootflags=subvol=root quiet loglevel=2 acpi_osi="!Windows 2012" diff --git a/dev-tools/example-openslx.config b/dev-tools/example-openslx.config index 393989ea..7b085740 100644 --- a/dev-tools/example-openslx.config +++ b/dev-tools/example-openslx.config @@ -2,7 +2,7 @@ SLX_CONFIGURATION_LOCATION='/opt/openslx/' SLX_DNBD3_SERVERS='132.230.4.201,132.230.4.202,10.0.2.2' SLX_DNBD3_RID='0' SLX_DNBD3_DEVICE='/dev/dnbd0' -SLX_DNBD3_IMAGE='archLinux.vdi' +SLX_DNBD3_IMAGE='archLinux.vmdk' SLX_SYSTEM_PARTITION_LABEL='system' # TODO: Following parameter aren't supported yet. diff --git a/dev-tools/startup.nsh b/dev-tools/startup.nsh deleted file mode 100755 index b36f4f85..00000000 --- a/dev-tools/startup.nsh +++ /dev/null @@ -1,5 +0,0 @@ -if exist fs0:\debug then - rm fs0:\debug - \vmlinuz-linux initrd=\initramfs-test.img root=PARTLABEL=system rw rootflags=subvol=root quiet loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break ip=10.0.2.15::10.0.2.2:255.255.255.0::enp0s3:off vconsole.font=latarcyrheb-sun16 vconsole.keymap=de -endif -\vmlinuz-linux initrd=\initramfs-linux.img root=PARTLABEL=system rw rootflags=subvol=root quiet loglevel=2 acpi_osi="!Windows 2012" diff --git a/dev-tools/ubuntuStartup.nsh b/dev-tools/ubuntuStartup.nsh new file mode 100755 index 00000000..621056bc --- /dev/null +++ b/dev-tools/ubuntuStartup.nsh @@ -0,0 +1 @@ +\EFI\ubuntu\grubx64.efi diff --git a/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default b/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default index ee38ed10..1e459616 100644 --- a/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default +++ b/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default @@ -8,7 +8,7 @@ MENU TITLE My PXE Boot Menu LABEL arch MENU LABEL ^test network boot KERNEL /vmlinuz-linux -APPEND initrd=/initramfs-test.img root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break ip=10.0.2.15::10.0.2.2:255.255.255.0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=de-latin1-nodeadkeys rd.locale.LANG=de_DE.UTF-8 slxsrv=10.0.2.2:80,10.0.2.2:8080,10.0.2.2:8008,10.0.2.2:8090,10.0.2.2:8280,10.0.2.2:8888 slxbase=archLinux/ vga=current +APPEND initrd=/initramfs-test.img root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break ip=10.0.2.15::10.0.2.2:255.255.255.0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=de-latin1-nodeadkeys rd.locale.LANG=de_DE.UTF-8 slxsrv=10.0.2.2:80,10.0.2.2:8080,10.0.2.2:8008,10.0.2.2:8090,10.0.2.2:8280,10.0.2.2:8888 slxbase=ubuntu/ vga=current LABEL BootNormal MENU LABEL ^Boot Normal (HDD) -- cgit v1.2.3-55-g7522