diff --git a/sys/kernel/initramfs-tools/initramfs-tools.sysconf b/sys/kernel/initramfs-tools/initramfs-tools.sysconf deleted file mode 100644 index 9100fc58..00000000 --- a/sys/kernel/initramfs-tools/initramfs-tools.sysconf +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -if [ ! -f /var/lib/ymp/sysconf/initramfs-tools/postinstall.done ] ; then - touch /etc/initramfs-tools/modules - mkdir -p /etc/initramfs-tools/scripts -fi -for kernel in $(ls /lib/modules) ; do - if [ ! -f /boot/initrd.img-$kernel ] ; then - update-initramfs -c -u -k $kernel - fi -done diff --git a/sys/kernel/initramfs-tools/patches/no-dracut.patch b/sys/kernel/initramfs-tools/patches/no-dracut.patch deleted file mode 100644 index bded1b78..00000000 --- a/sys/kernel/initramfs-tools/patches/no-dracut.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/debian/control b/debian/control -index 76a5627..70b8ff4 100644 ---- a/debian/control -+++ b/debian/control -@@ -29,7 +29,6 @@ Multi-Arch: foreign - Recommends: zstd, ${busybox:Recommends} - Depends: coreutils (>= 8.24), - cpio (>= 2.12), -- dracut-install, - klibc-utils (>= 2.0.4-8~), - kmod, - logsave | e2fsprogs (<< 1.45.3-1~), -diff --git a/hook-functions b/hook-functions -index 7fccf0e..1ad074c 100644 ---- a/hook-functions -+++ b/hook-functions -@@ -93,35 +93,47 @@ add_firmware() - # Call apply_add_modules to copy the kernel modules. - manual_add_modules() - { -- for module in "$@"; do -- echo "$module" >> "$__MODULES_TO_ADD" -- done --} -- --# Copy the kernel modules that were marked in manual_add_modules --apply_add_modules() --{ -- # shellcheck disable=SC2046 -- _call_dracut_install $(sort -u "$__MODULES_TO_ADD") -- true > "$__MODULES_TO_ADD" --} -- --_call_dracut_install() --{ -- local dracut_verbose fw_path_para -+ local prefix kmod options firmware - - if [ $# -eq 0 ]; then - return - fi - -- if [ "${verbose?}" = "y" ]; then -- dracut_verbose=-v -- fi -+ # modprobe --ignore-install inhibits processing of 'install' -+ # configuration lines, so that instead we will see 'insmod -+ # module.ko' as we want. However it also means that 'softdep' -+ # configuration lines and embedded softdep information is not -+ # processed. So we run twice, with and without this option. -+ # shellcheck disable=SC2034 -+ { /sbin/modprobe --all --set-version="${version?}" --ignore-install --quiet --show-depends "$@"; -+ /sbin/modprobe --all --set-version="${version}" --quiet --show-depends "$@"; } | -+ while read -r prefix kmod options ; do -+ if [ "${prefix}" != "insmod" ]; then -+ continue -+ fi - -- read -r fw_path_para < /sys/module/firmware_class/parameters/path -- /usr/lib/dracut/dracut-install -D "$DESTDIR" --kerneldir "/lib/modules/${version?}" \ -- --firmwaredirs "${fw_path_para:+${fw_path_para}:}/lib/firmware/updates/${version?}:/lib/firmware/updates:/lib/firmware/${version?}:/lib/firmware" \ -- ${dracut_verbose-} -o -m "$@" -+ copy_file module "${kmod}" || continue -+ -+ # Add required firmware -+ for firmware in $(modinfo -k "${version}" -F firmware "${kmod}"); do -+ # Only print warning for missing fw of loaded module -+ # or forced loaded module -+ if ! add_firmware "$firmware"; then -+ # Only warn about missing firmware if -+ # /proc/modules exists -+ if [ ! -e /proc/modules ] ; then -+ continue -+ fi -+ -+ kmod_modname="${kmod##*/}" -+ kmod_modname="${kmod_modname%%.*}" -+ if grep -q "^$kmod_modname\\>" /proc/modules "${CONFDIR}/modules"; then -+ echo "W: Possible missing firmware /lib/firmware/${firmware} for module ${kmod_modname}" >&2 -+ fi -+ continue -+ fi -+ done -+ done - } - - # manual_add_modules() takes care of adding firmware for things that were built -@@ -795,72 +807,6 @@ auto_add_modules() - manual_add_modules $modules - } - --# 'depmod' only looks at symbol dependencies and the 'softdep' module --# information field; there is no way for modules to declare weaker --# dependencies (modules that *might* be needed at run-time) through --# module information, Until this is fixed, we need to handle those --# hidden dependencies. --hidden_dep_add_modules() --{ -- # shellcheck disable=SC2046 -- _call_dracut_install $( -- { -- cat "${DESTDIR}/lib/modules/${version}/modules.builtin" -- if [ -d "${DESTDIR}/lib/modules/${version}/kernel" ]; then -- find "${DESTDIR}/lib/modules/${version}/kernel" -name '*.ko*' -- fi -- } | -- while read -r module; do -- module="${module##*/}" -- module="${module%%.*}" -- case "$module" in -- libcrc32c) -- echo crc32c -- ;; -- ubifs) -- echo deflate zlib lzo -- ;; -- btrfs) -- echo crc32c -- ;; -- f2fs) -- echo crc32 -- ;; -- mlx4_core) -- echo mlx4_ib -- ;; -- mlx5_core) -- echo mlx5_ib -- ;; -- i8042) -- echo psmouse -- ;; -- nvme) -- echo vmd -- ;; -- spi-rockchip) -- echo pl330 -- ;; -- dw_mmc-rockchip) -- echo rockchip-io-domain io-domain -- ;; -- mediatek-drm) -- echo mediatek-drm-hdmi mtk_iommu mtk-smi -- ;; -- mtk_iommu) -- echo mtk-smi -- ;; -- phy-mtk-mipi-dsi-drv) -- echo nvmem_mtk-efuse -- ;; -- mt6397) -- echo mtk-pmic-wrap -- ;; -- esac -- done -- ) --} -- - # Find the source for a script file. This is needed to work around - # temporary directories mounted with the noexec option. The source - # will be on / or /usr which must be executable. -diff --git a/mkinitramfs b/mkinitramfs -index 40e0fd1..bc90423 100755 ---- a/mkinitramfs -+++ b/mkinitramfs -@@ -424,7 +424,6 @@ for file in /etc/modprobe.d/*.conf /lib/modprobe.d/*.conf ; do - done - - # Copy kernel modules here, because some hooks rely on them being copied --apply_add_modules - run_scripts /usr/share/initramfs-tools/hooks - run_scripts "${CONFDIR}"/hooks - -@@ -433,10 +432,6 @@ for b in $(cd "${DESTDIR}/scripts" && find . -mindepth 1 -type d); do - cache_run_scripts "${DESTDIR}" "/scripts/${b#./}" - done - --apply_add_modules --# Resolve hidden dependencies --hidden_dep_add_modules -- - # decompress modules for boot speed, if possible - find "${DESTDIR}/${MODULESDIR}" -name '*.ko.*' | while read -r ko; do - case "$ko" in diff --git a/sys/kernel/initramfs-tools/patches/non-debian.patch b/sys/kernel/initramfs-tools/patches/non-debian.patch deleted file mode 100644 index ed5cf11c..00000000 --- a/sys/kernel/initramfs-tools/patches/non-debian.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/hooks/resume b/hooks/resume -index 8ff84dd..439fe18 100755 ---- a/hooks/resume -+++ b/hooks/resume -@@ -50,7 +50,7 @@ report_verbose "Configuration sets RESUME=$RESUME" - # Try to autodetect the RESUME partition, using biggest swap device that - # is not ephemeral. We need to be able to read the listed swap partitions. - resume_auto= --if ! ischroot && [ -r /proc/swaps ]; then -+if ! [ `stat -c %d:%i /proc/$$/root/` == `stat -c %d:%i /` ] && [ -r /proc/swaps ]; then - # shellcheck disable=SC2013 - for resume_auto in $(grep ^/dev/ /proc/swaps | sort -rnk3 | cut -d " " -f 1); do - report_verbose "Checking swap device $resume_auto" -diff --git a/mkinitramfs b/mkinitramfs -index df1b940..bdd71e4 100755 ---- a/mkinitramfs -+++ b/mkinitramfs -@@ -284,7 +284,21 @@ __TMPCPIOGZ="$(mktemp "${TMPDIR:-/var/tmp}/mkinitramfs-OL_XXXXXX")" || exit 1 - __TMPMAINCPIO="$(mktemp "${TMPDIR:-/var/tmp}/mkinitramfs-MAIN_XXXXXX")" || exit 1 - __TMPEARLYCPIO="$(mktemp "${TMPDIR:-/var/tmp}/mkinitramfs-FW_XXXXXX")" || exit 1 - --DPKG_ARCH=$(dpkg --print-architecture) -+get_dpkg_arch(){ -+ case `uname -m` in -+ x86_64) -+ echo amd64 -+ ;; -+ i686) -+ echo i386 -+ ;; -+ aarch64) -+ echo arm64 -+ ;; -+ esac -+} -+ -+DPKG_ARCH=$(get_dpkg_arch) - - # Export environment for hook scripts. - # -diff --git a/update-initramfs b/update-initramfs -index 746a6c1..0047670 100755 ---- a/update-initramfs -+++ b/update-initramfs -@@ -167,7 +167,7 @@ run_bootloader() - ro_boot_check() - { - # check irrelevant inside of a chroot -- if [ ! -r /proc/mounts ] || ischroot; then -+ if [ ! -r /proc/mounts ] || [ `stat -c %d:%i /proc/$$/root/` == `stat -c %d:%i /` ]; then - return 0 - fi - diff --git a/sys/kernel/initramfs-tools/patches/remove-logsave.patch b/sys/kernel/initramfs-tools/patches/remove-logsave.patch deleted file mode 100644 index e18d920a..00000000 --- a/sys/kernel/initramfs-tools/patches/remove-logsave.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/scripts/functions b/scripts/functions -index ae11b96..ec4e793 100644 ---- a/scripts/functions -+++ b/scripts/functions -@@ -496,13 +496,13 @@ _checkfs_once() - then - log_begin_msg "Will now check $NAME file system" - # shellcheck disable=SC2086 -- logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -V -t "$TYPE" "$DEV" -+ fsck $spinner $force $fix -V -t "$TYPE" "$DEV" >> $FSCK_LOGFILE - FSCKCODE=$? - log_end_msg - else - log_begin_msg "Checking $NAME file system" - # shellcheck disable=SC2086 -- logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -T -t "$TYPE" "$DEV" -+ fsck $spinner $force $fix -T -t "$TYPE" "$DEV" >> $FSCK_LOGFILE - FSCKCODE=$? - log_end_msg - fi diff --git a/sys/kernel/initramfs-tools/patches/remove-zstd.patch b/sys/kernel/initramfs-tools/patches/remove-zstd.patch deleted file mode 100644 index 4067128a..00000000 --- a/sys/kernel/initramfs-tools/patches/remove-zstd.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff --git a/conf/initramfs.conf b/conf/initramfs.conf -index aa561bd..bf80786 100644 ---- a/conf/initramfs.conf -+++ b/conf/initramfs.conf -@@ -38,10 +38,10 @@ BUSYBOX=auto - KEYMAP=n - - # --# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz | zstd ] -+# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ] - # - --COMPRESS=zstd -+COMPRESS=gzip - - # - # COMPRESSLEVEL: ... -@@ -52,7 +52,6 @@ COMPRESS=zstd - # Valid values are: - # 1 - 9 for gzip|bzip2|lzma|lzop - # 0 - 9 for lz4|xz --# 0 - 19 for zstd - # - # COMPRESSLEVEL=3 - -diff --git a/mkinitramfs b/mkinitramfs -index df1b940..166bffb 100755 ---- a/mkinitramfs -+++ b/mkinitramfs -@@ -188,7 +188,6 @@ lzma) kconfig_sym=CONFIG_RD_LZMA ;; - xz) kconfig_sym=CONFIG_RD_XZ ;; - lzop) kconfig_sym=CONFIG_RD_LZO ;; - lz4) kconfig_sym=CONFIG_RD_LZ4 ;; --zstd) kconfig_sym=CONFIG_RD_ZSTD ;; - esac - while ! grep -q "^$kconfig_sym=y" "/boot/config-${version}"; do - if [ "${compress}" = gzip ]; then -@@ -205,7 +204,6 @@ if [ -z "${compresslevel:-}" ]; then - fi - case "${compress}" in - lz4) compresslevel="-${compresslevel:-9}" ;; --zstd) compresslevel="-${compresslevel:-9}" ;; - #gzip|xz|bzip2|lzma|lzop included - *) - # We're not using a compression level by default -@@ -227,10 +225,6 @@ gzip) # If we're doing a reproducible build, use gzip -n - fi - ;; - lz4) compress="lz4 ${compresslevel} -l" ;; --zstd) compress="zstd -q ${compresslevel}" -- # If we're not doing a reproducible build, enable multithreading -- test -z "${SOURCE_DATE_EPOCH}" && compress="$compress -T0" -- ;; - xz) compress="xz ${compresslevel} --check=crc32" - # If we're not doing a reproducible build, enable multithreading - test -z "${SOURCE_DATE_EPOCH}" && compress="$compress --threads=0" -@@ -426,12 +420,6 @@ find "${DESTDIR}/${MODULESDIR}" -name '*.ko.*' | while read -r ko; do - fi - xz -d "${ko}" - ;; -- *.zst) -- if ! command -v zstd >/dev/null 2>&1; then -- break -- fi -- zstd -q -d --rm "${ko}" -- ;; - esac - done - -diff --git a/unmkinitramfs b/unmkinitramfs -index d1226c3..3f8c75d 100755 ---- a/unmkinitramfs -+++ b/unmkinitramfs -@@ -31,8 +31,6 @@ xcpio() - - if gzip -t "$archive" >/dev/null 2>&1 ; then - gzip -c -d "$archive" -- elif zstd -q -c -t "$archive" >/dev/null 2>&1 ; then -- zstd -q -c -d "$archive" - elif xzcat -t "$archive" >/dev/null 2>&1 ; then - xzcat "$archive" - elif lz4cat -t < "$archive" >/dev/null 2>&1 ; then diff --git a/sys/kernel/initramfs-tools/ympbuild b/sys/kernel/initramfs-tools/ympbuild deleted file mode 100644 index 3dbf8709..00000000 --- a/sys/kernel/initramfs-tools/ympbuild +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash -name='initramfs-tools' -release='2' -version='0.143' -url='https://salsa.debian.org/kernel-team/initramfs-tools' -description='Initial ramdisk system from debian' -email='aliriza.keskin@pardus.org.tr' -maintainer='aliriza' -license=('GPLv3') -source=("https://salsa.debian.org/kernel-team/initramfs-tools/-/archive/v$version/initramfs-tools-v$version.tar.gz" - "patches/remove-zstd.patch" - "patches/non-debian.patch" - "patches/no-dracut.patch" - "patches/remove-logsave.patch" - "initramfs-tools.sysconf") -depends=(eudev findutils coreutils) -makedepends=() -sha256sums=('5d3091b0393c4246bcdae499cfd5ba490c78194d7eede01d951f4124ff2f9895' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP') -uses=() -group=(sys.kernel) -arch=('x86_64') - -cd $name-v$version - -prepare(){ - patch -Np1 -i ../remove-zstd.patch - patch -Np1 -i ../remove-logsave.patch - patch -Np1 -i ../non-debian.patch - patch -Np1 -i ../no-dracut.patch - # hidepid=2 default - sed -i "s/ proc \/proc/,hidepid=2,gid=31&/g" init - # replace linux-version command - sed -i "s/linux-version/false/g" hook-functions - sed -i "s/linux-version list/ls \/lib\/modules\//g" update-initramfs - sed -i "s/linux-version sort --reverse/cat/g" update-initramfs -} - -package(){ - cat debian/*.install | sed "s/\t/ /g" | tr -s " " | while read line ; do - file=$(echo $line | cut -f1 -d" ") - target=$(echo $line | cut -f2 -d" ") - mkdir -p ${DESTDIR}/$target - cp -prvf $file ${DESTDIR}/$target/ - done - # install mkinitramfs - cp -pvf mkinitramfs ${DESTDIR}/usr/sbin/mkinitramfs - sed -i "s/@BUSYBOX_PACKAGES@/busybox/g" ${DESTDIR}/usr/sbin/mkinitramfs - sed -i "s/@BUSYBOX_MIN_VERSION@/1.22.0/g" ${DESTDIR}/usr/sbin/mkinitramfs - # Remove debian stuff - rm -rvf ${DESTDIR}/etc/kernel - # install sysconf - mkdir -p ${DESTDIR}/etc/sysconf.d - install ../initramfs-tools.sysconf ${DESTDIR}/etc/sysconf.d/initramfs-tools -} - diff --git a/sys/kernel/live-boot/ympbuild b/sys/kernel/live-boot/ympbuild index 7de70d42..a3f5f688 100644 --- a/sys/kernel/live-boot/ympbuild +++ b/sys/kernel/live-boot/ympbuild @@ -1,16 +1,16 @@ #!/usr/bin/env bash name='live-boot' -release='3' -version='1.1' -url='https://gitlab.com/turkman' +release='4' +version='2.0' +url='https://gitlab.com/turkman/devel/sources/live-boot' description='initramfs tools live hooks' email='aliriza.keskin@pardus.org.tr' maintainer='aliriza' license=('GPLv3') source=("https://gitlab.com/turkman/devel/sources/live-boot/-/archive/$version/live-boot-$version.tar.gz") -depends=(initramfs-tools) +depends=(mkinitrd) makedepends=() -sha256sums=('d4ede85d23ede6f5e82c95170936900b0801d5ac4c136f34c81f1f6dec73b2f2') +sha256sums=('f356639410bc9d2a097266da13b85d111369c97cf8aa6dc6f7dea03e77ced5de') group=(sys.kernel) uses=() arch=('x86_64') diff --git a/sys/kernel/mkinitrd/mkinitrd.sysconf b/sys/kernel/mkinitrd/mkinitrd.sysconf new file mode 100644 index 00000000..b7600f2f --- /dev/null +++ b/sys/kernel/mkinitrd/mkinitrd.sysconf @@ -0,0 +1,9 @@ +#!/bin/sh +if grep "boot=live" /proc/cmdline >/dev/null ; then + exit 0 +fi +for kernel in $(ls /lib/modules) ; do + if [ ! -f /boot/initrd.img-$kernel ] ; then + mkinitrd -u -k $kernel + fi +done diff --git a/sys/kernel/mkinitrd/ympbuild b/sys/kernel/mkinitrd/ympbuild new file mode 100644 index 00000000..25609d35 --- /dev/null +++ b/sys/kernel/mkinitrd/ympbuild @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +name='mkinitrd' +release='1' +version='0.0.1' +url='https://gitlab.com/turkman/devel/sources/mkinitrd' +description='Initial ramdisk system from turkman linux' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://gitlab.com/turkman/devel/sources/mkinitrd/-/archive/$version/mkinitrd-$version.tar.gz" + "mkinitrd.sysconf") +depends=(eudev findutils coreutils) +makedepends=() +sha256sums=('21811112b57f69439240d9658ebdf2c078b52d7762d4c50b718cd3693b5d5c16' + 'SKIP') +uses=() +group=(sys.kernel) +arch=('x86_64') + +cd $name-$version + +setup(){ + meson setup build \ + --bindir=/bin +} + +package(){ + ninja -C build install + # sysconf trigger + mkdir -p $DESTDIR/etc/sysconf.d + install ../mkinitrd.sysconf $DESTDIR/etc/sysconf.d/mkinitrd +}