From 8db37896ab04f0a200d20b31fbefe3bd58eec50e Mon Sep 17 00:00:00 2001 From: chenjiayi Date: Thu, 4 Jan 2024 14:33:54 +0800 Subject: [PATCH 1/4] fix(devmaster): delete binaries of udev in initramfs --- .../install_devmaster.sh" | 4 ++-- .../uninstall_devmaster.sh" | 2 +- .../dracut_modules/{95devmaster => 98devmaster}/init.sh | 0 .../{95devmaster => 98devmaster}/module-setup.sh | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) rename exts/devmaster/dracut_modules/{95devmaster => 98devmaster}/init.sh (100%) rename exts/devmaster/dracut_modules/{95devmaster => 98devmaster}/module-setup.sh (75%) diff --git "a/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/install_devmaster.sh" "b/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/install_devmaster.sh" index 49ce2068..10dfdd9a 100644 --- "a/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/install_devmaster.sh" +++ "b/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/install_devmaster.sh" @@ -14,7 +14,7 @@ etc_dir=exts/devmaster/config etc_rules_dir=${etc_dir}/rules.d etc_netconf_dir=${etc_dir}/network.d -dracut_modules=exts/devmaster/dracut_modules/95devmaster +dracut_modules=exts/devmaster/dracut_modules/98devmaster etc_conf_install_dir=/etc/devmaster etc_netconf_install_dir=${etc_conf_install_dir}/network.d @@ -51,6 +51,6 @@ test -f ${sysinit_target_dir}/udevd.service && unlink ${sysinit_target_dir}/udev test -f ${multi_user_target_dir}/udev-trigger.service && unlink ${multi_user_target_dir}/udev-trigger.service # Install dracut module of devmaster -install -Dm0755 -t /lib/dracut/modules.d/95devmaster ${dracut_modules}/* || exit 1 +install -Dm0755 -t /lib/dracut/modules.d/98devmaster ${dracut_modules}/* || exit 1 sync diff --git "a/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/uninstall_devmaster.sh" "b/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/uninstall_devmaster.sh" index 23367c1d..f310dbfd 100644 --- "a/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/uninstall_devmaster.sh" +++ "b/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/uninstall_devmaster.sh" @@ -9,7 +9,7 @@ etc_rules_install_dir=${etc_conf_install_dir}/rules.d lib_devmaster_dir=/lib/devmaster -dracut_modules=/lib/dracut/modules.d/95devmaster +dracut_modules=/lib/dracut/modules.d/98devmaster service_install_dir=/lib/sysmaster/system sysinit_target_dir=/etc/sysmaster/system/sysinit.target.wants diff --git a/exts/devmaster/dracut_modules/95devmaster/init.sh b/exts/devmaster/dracut_modules/98devmaster/init.sh similarity index 100% rename from exts/devmaster/dracut_modules/95devmaster/init.sh rename to exts/devmaster/dracut_modules/98devmaster/init.sh diff --git a/exts/devmaster/dracut_modules/95devmaster/module-setup.sh b/exts/devmaster/dracut_modules/98devmaster/module-setup.sh similarity index 75% rename from exts/devmaster/dracut_modules/95devmaster/module-setup.sh rename to exts/devmaster/dracut_modules/98devmaster/module-setup.sh index f316debc..bb721cc3 100755 --- a/exts/devmaster/dracut_modules/95devmaster/module-setup.sh +++ b/exts/devmaster/dracut_modules/98devmaster/module-setup.sh @@ -7,6 +7,11 @@ check() { # called by dracut install() { + rm -f "${initdir}${systemdutildir}"/systemd-udevd \ + "${initdir}"/bin/udevadm \ + "${initdir}"/sbin/udevd \ + "${initdir}"/"${udevdir}"/udevd + inst_script "$moddir/init.sh" "/init" inst_multiple devctl -- Gitee From c35c51cd9988e89476f7969f24c7990bcdcc0974 Mon Sep 17 00:00:00 2001 From: chenjiayi Date: Thu, 4 Jan 2024 14:34:41 +0800 Subject: [PATCH 2/4] fix(libudev): fix incorrect module name of basic --- exts/libudev/src/libudev_monitor.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exts/libudev/src/libudev_monitor.rs b/exts/libudev/src/libudev_monitor.rs index 81b8c9d1..db9c9932 100644 --- a/exts/libudev/src/libudev_monitor.rs +++ b/exts/libudev/src/libudev_monitor.rs @@ -189,7 +189,7 @@ pub extern "C" fn udev_monitor_set_receive_buffer_size( ) -> ::std::os::raw::c_int { let m: &mut udev_monitor = unsafe { transmute(&mut *udev_monitor) }; - if let Err(e) = basic::socket_util::set_receive_buffer(m.monitor.borrow().fd(), size as usize) { + if let Err(e) = basic::socket::set_receive_buffer(m.monitor.borrow().fd(), size as usize) { return e.get_errno() as i32; } -- Gitee From d8728660277ae97525eedeee1ead49322805d734 Mon Sep 17 00:00:00 2001 From: chenjiayi Date: Thu, 4 Jan 2024 20:07:29 +0800 Subject: [PATCH 3/4] fix(devmaster): avoid default install of 98devmaster dracut module --- exts/devmaster/dracut_modules/98devmaster/module-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exts/devmaster/dracut_modules/98devmaster/module-setup.sh b/exts/devmaster/dracut_modules/98devmaster/module-setup.sh index bb721cc3..09d7b297 100755 --- a/exts/devmaster/dracut_modules/98devmaster/module-setup.sh +++ b/exts/devmaster/dracut_modules/98devmaster/module-setup.sh @@ -2,7 +2,7 @@ check() { require_binaries devctl || return 1 - return 0 + return 255 } # called by dracut -- Gitee From 7995701cd2cccdaf9d0d66d9dcd0d4860e4a620f Mon Sep 17 00:00:00 2001 From: chenjiayi Date: Thu, 4 Jan 2024 20:55:31 +0800 Subject: [PATCH 4/4] docs(devmaster): fix document --- .../readme.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/readme.md" "b/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/readme.md" index 6e171e40..aadb07a8 100644 --- "a/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/readme.md" +++ "b/docs/use/devmaster\346\233\277\344\273\243udev\350\277\220\350\241\214/readme.md" @@ -34,5 +34,5 @@ Linux localhost.localdomain 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03 devmaster提供了dracut模块,用于制作initramfs时替换默认的udev组件。安装devmaster后,执行以下命令制作initramfs: ```shell -# dracut -f --omit "systemd systemd-initrd systemd-networkd dracut-systemd rngd dbus-daemon dbus network-manager rngd plymouth" --add "devmaster" +# dracut -f --omit "systemd systemd-initrd systemd-networkd dracut-systemd rngd dbus-daemon dbus network-manager plymouth" --add "devmaster" ``` -- Gitee