diff --git a/confluent_osdeploy/diskless/build/dracut/add_root b/confluent_osdeploy/diskless/build/dracut/add_root new file mode 100755 index 00000000..76d1d0a7 Binary files /dev/null and b/confluent_osdeploy/diskless/build/dracut/add_root differ diff --git a/confluent_osdeploy/diskless/build/dracut/install b/confluent_osdeploy/diskless/build/dracut/install new file mode 100644 index 00000000..9799ff13 --- /dev/null +++ b/confluent_osdeploy/diskless/build/dracut/install @@ -0,0 +1,36 @@ +dracut_install /usr/bin/clevis-encrypt-tpm2 /usr/bin/clevis-decrypt-tpm2 /usr/bin/jose /usr/bin/mktemp +dracut_install /lib64/libtss2-tcti-device.so.0 +dracut_install /usr/bin/tpm2_create /usr/bin/tpm2_pcrread /usr/bin/tpm2_createpolicy /usr/bin/tpm2_createprimary /usr/bin/tpm2_load /usr/bin/tpm2_unseal +dracut_install curl openssl tar cpio gzip lsmod ethtool xz lsmod ethtool +dracut_install modprobe touch echo cut wc bash netstat uniq grep ip hostname +dracut_install awk egrep dirname expr sort +dracut_install ssh sshd reboot parted mkfs mkfs.ext4 mkfs.xfs xfs_db mkswap +dracut_install efibootmgr +dracut_install du df ssh-keygen scp clear dhclient +dracut_install /lib64/libnss_dns-2.28.so /lib64/libnss_dns.so.2 +dracut_install /usr/lib64/libnl-3.so.200 +dracut_install /etc/nsswitch.conf /etc/services /etc/protocols +dracut_install chmod whoami head tail basename tr +inst /bin/bash /bin/sh +dracut_install /lib64/libfuse.so.2 /lib64/libfuse.so.2.9.7 +dracut_install chown chroot dd expr kill parted rsync sort blockdev findfs insmod lvm +dracut_install /usr/lib/udev/rules.d/10-dm.rules /usr/sbin/dmsetup /usr/lib/udev/rules.d/95-dm-notify.rules + + + + + + + + +#this would be nfs with lock, but not needed, go nolock +#dracut_install mount.nfs rpcbind rpc.statd /etc/netconfig sm-notify +dracut_install mount.nfs /etc/netconfig +inst /usr/lib/dracut/modules.d/40network/net-lib.sh /lib/net-lib.sh + + + +# network mount, and disk imaging helpers can come from a second stage +# this is narrowly focused on getting network up and fetching images +# and those images may opt to do something with cloning or whatever + diff --git a/confluent_osdeploy/diskless/build/dracut/installkernel b/confluent_osdeploy/diskless/build/dracut/installkernel new file mode 100644 index 00000000..c2e9cfdb --- /dev/null +++ b/confluent_osdeploy/diskless/build/dracut/installkernel @@ -0,0 +1,11 @@ +#!/bin/bash +instmods nfsv3 nfs_acl nfsv4 dns_resolver lockd fscache sunrpc +instmods e1000 e1000e igb sfc mlx5_ib mlx5_core mlx4_en cxgb3 cxgb4 tg3 bnx2 bnx2x bna ixgb ixgbe qlge mptsas mpt2sas mpt3sas megaraid_sas ahci xhci-hcd sd_mod pmcraid be2net vfat ext3 ext4 usb_storage scsi_wait_scan ipmi_si ipmi_devintf qlcnic xfs +instmods nvme +instmods cdc_ether +instmods mptctl +instmods mlx4_ib mlx5_ub ib_umad ib_ipoib +instmods i40e hfi1 bnxt_en qed qede +instmods dm-mod dm-log raid0 raid1 raid10 raid456 dm-raid dm-thin-pool dm-crypt dm-snapshot linear dm-era +# nfs root and optionally gocryptfs +instmods fuse overlay squashfs loop diff --git a/confluent_osdeploy/diskless/build/dracut/start_root b/confluent_osdeploy/diskless/build/dracut/start_root new file mode 100755 index 00000000..2b2a8218 Binary files /dev/null and b/confluent_osdeploy/diskless/build/dracut/start_root differ diff --git a/confluent_osdeploy/diskless/build/genimage b/confluent_osdeploy/diskless/build/genimage new file mode 100644 index 00000000..0240aede --- /dev/null +++ b/confluent_osdeploy/diskless/build/genimage @@ -0,0 +1,15 @@ +installroot=$1 + +touch $installroot/.testcap +if setcap cap_net_raw+p $installroot/.testcap >& /dev/null; then + capsargs="" +else + capsargs="--setopt=tsflags=nocapps" +fi +rm $installroot/.testcap +yum $capsargs --releasever=8 --installroot=/var/tmp/testgenimage/ --releasever=8.3 install '@minimal-environment' chrony kernel net-tools nfs-utils openssh-server rsync tar util-linux python3 tar dracut dracut-network ethtool parted openssl dhclient openssh-clients bash vim-minimal rpm iputils shim-x64 grub2-efi-x64 +dracut -v --xz -N -m "stateless base terminfo" -f boot/initramfs-diskless 4.18.0-240.22.1.el8_3.x86_64 +# link kernel, initrd, grub, and shim as appropriate + +# use xz, minimize https burden and transfer penalty +mksquashfs -comp xz diff --git a/confluent_osdeploy/diskless/build/pkglist b/confluent_osdeploy/diskless/build/pkglist new file mode 100644 index 00000000..25242303 --- /dev/null +++ b/confluent_osdeploy/diskless/build/pkglist @@ -0,0 +1,2 @@ +'@minimal-environment' chrony kernel net-tools nfs-utils openssh-server rsync tar util-linux python3 tar dracut dracut-network ethtool parted openssl dhclient openssh-clients bash vim-minimal rpm iputils clevis lvm2 efibootmgr shim-x64.x86_64 grub2-efi-x64 attr +