* [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement
@ 2023-09-06 19:46 Reza Arbab
2023-09-06 19:46 ` [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value Reza Arbab
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Reza Arbab @ 2023-09-06 19:46 UTC (permalink / raw)
To: buildroot; +Cc: Reza Arbab, Laurent Vivier, Joel Stanley
The br2-external tree used to build OpenPOWER firmware has long carried
petitboot as a custom package[1]. Now that petitboot has been added to
buildroot proper, it would be nice to leverage the base package instead.
To make that transition easier, here is a set of patches which port over
some of the enhancements made to that external package.
Beyond these, there are a couple of more involved things left:
* User separation (i.e. the petitboot shell runs as 'petituser')
* Support for MTD devices
[1] https://github.com/open-power/op-build/tree/master/openpower/package/petitboot
Reza Arbab (5):
package/petitboot: fix HOST_PROG_SHUTDOWN value
package/petitboot: run pb-console at boot
package/petitboot: poll removable devices
package/petitboot: enable discovery of software RAID devices
package/petitboot: enable discovery of SCSI devices
package/petitboot/63-md-raid-arrays.rules | 41 ++++++++++++
package/petitboot/65-md-incremental.rules | 69 ++++++++++++++++++++
package/petitboot/66-add-sg-module.rules | 2 +
package/petitboot/petitboot-console-ui.rules | 4 ++
package/petitboot/petitboot.mk | 20 +++++-
package/petitboot/removable-event-poll.rules | 3 +
package/petitboot/sysctl.conf | 1 +
7 files changed, 139 insertions(+), 1 deletion(-)
create mode 100644 package/petitboot/63-md-raid-arrays.rules
create mode 100644 package/petitboot/65-md-incremental.rules
create mode 100644 package/petitboot/66-add-sg-module.rules
create mode 100644 package/petitboot/petitboot-console-ui.rules
create mode 100644 package/petitboot/removable-event-poll.rules
create mode 100644 package/petitboot/sysctl.conf
--
2.39.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread* [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value 2023-09-06 19:46 [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement Reza Arbab @ 2023-09-06 19:46 ` Reza Arbab 2023-09-07 8:48 ` Laurent Vivier 2023-09-25 5:30 ` Peter Korsgaard 2023-09-06 19:46 ` [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot Reza Arbab ` (3 subsequent siblings) 4 siblings, 2 replies; 14+ messages in thread From: Reza Arbab @ 2023-09-06 19:46 UTC (permalink / raw) To: buildroot; +Cc: Reza Arbab, Laurent Vivier, Joel Stanley HOST_PROG_SHUTDOWN currently references a file that doesn't exist. Fix by setting it to /usr/libexec/petitboot/bb-kexec-reboot, which this package already installs but doesn't use. Signed-off-by: Reza Arbab <arbab@linux.ibm.com> --- package/petitboot/petitboot.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 8b4c14207ec4..8d220f88f45a 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -21,7 +21,7 @@ PETITBOOT_CONF_OPTS = \ --without-twin-x11 \ $(if $(BR2_PACKAGE_BUSYBOX),--enable-busybox,--disable-busybox) \ HOST_PROG_KEXEC=/usr/sbin/kexec \ - HOST_PROG_SHUTDOWN=/usr/sbin/kexec-restart + HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot # HPA and Busybox tftp are supported. HPA tftp is part of Buildroot's tftpd # package. -- 2.39.3 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value 2023-09-06 19:46 ` [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value Reza Arbab @ 2023-09-07 8:48 ` Laurent Vivier 2023-09-25 5:30 ` Peter Korsgaard 1 sibling, 0 replies; 14+ messages in thread From: Laurent Vivier @ 2023-09-07 8:48 UTC (permalink / raw) To: Reza Arbab, buildroot; +Cc: Joel Stanley Le 06/09/2023 à 21:46, Reza Arbab a écrit : > HOST_PROG_SHUTDOWN currently references a file that doesn't exist. Fix > by setting it to /usr/libexec/petitboot/bb-kexec-reboot, which this > package already installs but doesn't use. > > Signed-off-by: Reza Arbab <arbab@linux.ibm.com> > --- > package/petitboot/petitboot.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk > index 8b4c14207ec4..8d220f88f45a 100644 > --- a/package/petitboot/petitboot.mk > +++ b/package/petitboot/petitboot.mk > @@ -21,7 +21,7 @@ PETITBOOT_CONF_OPTS = \ > --without-twin-x11 \ > $(if $(BR2_PACKAGE_BUSYBOX),--enable-busybox,--disable-busybox) \ > HOST_PROG_KEXEC=/usr/sbin/kexec \ > - HOST_PROG_SHUTDOWN=/usr/sbin/kexec-restart > + HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot > > # HPA and Busybox tftp are supported. HPA tftp is part of Buildroot's tftpd > # package. Reviewed-by: Laurent Vivier <lauret@vivier.eu> _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value 2023-09-06 19:46 ` [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value Reza Arbab 2023-09-07 8:48 ` Laurent Vivier @ 2023-09-25 5:30 ` Peter Korsgaard 1 sibling, 0 replies; 14+ messages in thread From: Peter Korsgaard @ 2023-09-25 5:30 UTC (permalink / raw) To: Reza Arbab; +Cc: Joel Stanley, Laurent Vivier, buildroot >>>>> "Reza" == Reza Arbab <arbab@linux.ibm.com> writes: > HOST_PROG_SHUTDOWN currently references a file that doesn't exist. Fix > by setting it to /usr/libexec/petitboot/bb-kexec-reboot, which this > package already installs but doesn't use. > Signed-off-by: Reza Arbab <arbab@linux.ibm.com> Committed to 2023.05.x and 2023.08.x, thanks. -- Bye, Peter Korsgaard _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot 2023-09-06 19:46 [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement Reza Arbab 2023-09-06 19:46 ` [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value Reza Arbab @ 2023-09-06 19:46 ` Reza Arbab 2023-09-07 8:51 ` Laurent Vivier 2023-09-06 19:46 ` [Buildroot] [PATCH 3/5] package/petitboot: poll removable devices Reza Arbab ` (2 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Reza Arbab @ 2023-09-06 19:46 UTC (permalink / raw) To: buildroot; +Cc: Reza Arbab, Laurent Vivier, Joel Stanley Install a udev rule to run the petitboot UI on commonly-known consoles. To prevent the kernel's console output from trampling the UI, also add a sysctl file to reduce the kernel log levels to KERN_ALERT. Signed-off-by: Reza Arbab <arbab@linux.ibm.com> --- package/petitboot/petitboot-console-ui.rules | 4 ++++ package/petitboot/petitboot.mk | 4 ++++ package/petitboot/sysctl.conf | 1 + 3 files changed, 9 insertions(+) create mode 100644 package/petitboot/petitboot-console-ui.rules create mode 100644 package/petitboot/sysctl.conf diff --git a/package/petitboot/petitboot-console-ui.rules b/package/petitboot/petitboot-console-ui.rules new file mode 100644 index 000000000000..de3b4b1c035f --- /dev/null +++ b/package/petitboot/petitboot-console-ui.rules @@ -0,0 +1,4 @@ +# spawn a petitboot UI on common user-visible interface devices +SUBSYSTEM=="tty", KERNEL=="hvc*", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" +SUBSYSTEM=="tty", KERNEL=="tty0", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" +SUBSYSTEM=="tty", KERNEL=="ttyS*", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 8d220f88f45a..556d41230237 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -55,6 +55,10 @@ define PETITBOOT_POST_INSTALL $(TARGET_DIR)/etc/petitboot/boot.d/90-sort-dtb $(INSTALL) -m 0755 -D $(PETITBOOT_PKGDIR)/S15pb-discover \ $(TARGET_DIR)/etc/init.d/S15pb-discover + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/petitboot-console-ui.rules \ + $(TARGET_DIR)/etc/udev/rules.d/petitboot-console-ui.rules + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/sysctl.conf \ + $(TARGET_DIR)/etc/sysctl.d/petitboot.conf mkdir -p $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ ln -sf /usr/sbin/pb-udhcpc \ $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ diff --git a/package/petitboot/sysctl.conf b/package/petitboot/sysctl.conf new file mode 100644 index 000000000000..02ab8e3275b5 --- /dev/null +++ b/package/petitboot/sysctl.conf @@ -0,0 +1 @@ +kernel.printk = 1 1 1 1 -- 2.39.3 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot 2023-09-06 19:46 ` [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot Reza Arbab @ 2023-09-07 8:51 ` Laurent Vivier 2023-09-07 19:41 ` Reza Arbab 0 siblings, 1 reply; 14+ messages in thread From: Laurent Vivier @ 2023-09-07 8:51 UTC (permalink / raw) To: Reza Arbab, buildroot; +Cc: Joel Stanley Le 06/09/2023 à 21:46, Reza Arbab a écrit : > Install a udev rule to run the petitboot UI on commonly-known consoles. > To prevent the kernel's console output from trampling the UI, also add > a sysctl file to reduce the kernel log levels to KERN_ALERT. > > Signed-off-by: Reza Arbab <arbab@linux.ibm.com> > --- > package/petitboot/petitboot-console-ui.rules | 4 ++++ > package/petitboot/petitboot.mk | 4 ++++ > package/petitboot/sysctl.conf | 1 + > 3 files changed, 9 insertions(+) > create mode 100644 package/petitboot/petitboot-console-ui.rules > create mode 100644 package/petitboot/sysctl.conf > > diff --git a/package/petitboot/petitboot-console-ui.rules b/package/petitboot/petitboot-console-ui.rules > new file mode 100644 > index 000000000000..de3b4b1c035f > --- /dev/null > +++ b/package/petitboot/petitboot-console-ui.rules > @@ -0,0 +1,4 @@ > +# spawn a petitboot UI on common user-visible interface devices > +SUBSYSTEM=="tty", KERNEL=="hvc*", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" > +SUBSYSTEM=="tty", KERNEL=="tty0", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" > +SUBSYSTEM=="tty", KERNEL=="ttyS*", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" > diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk Could you add: SUBSYSTEM=="tty", KERNEL=="ttyGF*", RUN+="/usr/libexec/petitboot/pb-console --getty=/sbin/getty --detach -- -n -i $name 0 linux" It's needed for my work on virt-m68k petitboot. > index 8d220f88f45a..556d41230237 100644 > --- a/package/petitboot/petitboot.mk > +++ b/package/petitboot/petitboot.mk > @@ -55,6 +55,10 @@ define PETITBOOT_POST_INSTALL > $(TARGET_DIR)/etc/petitboot/boot.d/90-sort-dtb > $(INSTALL) -m 0755 -D $(PETITBOOT_PKGDIR)/S15pb-discover \ > $(TARGET_DIR)/etc/init.d/S15pb-discover > + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/petitboot-console-ui.rules \ > + $(TARGET_DIR)/etc/udev/rules.d/petitboot-console-ui.rules > + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/sysctl.conf \ > + $(TARGET_DIR)/etc/sysctl.d/petitboot.conf > mkdir -p $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ > ln -sf /usr/sbin/pb-udhcpc \ > $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ > diff --git a/package/petitboot/sysctl.conf b/package/petitboot/sysctl.conf > new file mode 100644 > index 000000000000..02ab8e3275b5 > --- /dev/null > +++ b/package/petitboot/sysctl.conf > @@ -0,0 +1 @@ > +kernel.printk = 1 1 1 1 I think you also need: diff --git a/system/Config.in b/system/Config.in index 1ca7690ea3ba..786ec9a1c6b3 100644 --- a/system/Config.in +++ b/system/Config.in @@ -375,7 +375,7 @@ config BR2_SYSTEM_BIN_SH menuconfig BR2_TARGET_GENERIC_GETTY bool "Run a getty (login prompt) after boot" - default y + default y if !BR2_PACKAGE_PETITBOOT if BR2_TARGET_GENERIC_GETTY config BR2_TARGET_GENERIC_GETTY_PORT Otherwise the petitboot prompt will be mixed with getty prompt. Thanks, Laurent _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot 2023-09-07 8:51 ` Laurent Vivier @ 2023-09-07 19:41 ` Reza Arbab 2023-09-13 15:54 ` Reza Arbab 0 siblings, 1 reply; 14+ messages in thread From: Reza Arbab @ 2023-09-07 19:41 UTC (permalink / raw) To: Laurent Vivier; +Cc: Joel Stanley, buildroot On Thu, Sep 07, 2023 at 10:51:32AM +0200, Laurent Vivier wrote: >Le 06/09/2023 à 21:46, Reza Arbab a écrit : >>--- /dev/null >>+++ b/package/petitboot/petitboot-console-ui.rules >>@@ -0,0 +1,4 @@ >>+# spawn a petitboot UI on common user-visible interface devices >>+SUBSYSTEM=="tty", KERNEL=="hvc*", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" >>+SUBSYSTEM=="tty", KERNEL=="tty0", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" >>+SUBSYSTEM=="tty", KERNEL=="ttyS*", RUN+="/usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 $name linux" >>diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk > >Could you add: > >SUBSYSTEM=="tty", KERNEL=="ttyGF*", RUN+="/usr/libexec/petitboot/pb-console --getty=/sbin/getty --detach -- -n -i $name 0 linux" > >It's needed for my work on virt-m68k petitboot. Sure, no problem. >I think you also need: > >diff --git a/system/Config.in b/system/Config.in >index 1ca7690ea3ba..786ec9a1c6b3 100644 >--- a/system/Config.in >+++ b/system/Config.in >@@ -375,7 +375,7 @@ config BR2_SYSTEM_BIN_SH > > menuconfig BR2_TARGET_GENERIC_GETTY > bool "Run a getty (login prompt) after boot" >- default y >+ default y if !BR2_PACKAGE_PETITBOOT > > if BR2_TARGET_GENERIC_GETTY > config BR2_TARGET_GENERIC_GETTY_PORT > >Otherwise the petitboot prompt will be mixed with getty prompt. This makes sense, but oddly, all our configs have BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="hvc0" Let me try to figure out why it's never caused problems. -- Reza Arbab _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot 2023-09-07 19:41 ` Reza Arbab @ 2023-09-13 15:54 ` Reza Arbab 0 siblings, 0 replies; 14+ messages in thread From: Reza Arbab @ 2023-09-13 15:54 UTC (permalink / raw) To: Laurent Vivier; +Cc: Joel Stanley, buildroot On Thu, Sep 07, 2023 at 02:41:22PM -0500, Reza Arbab wrote: >On Thu, Sep 07, 2023 at 10:51:32AM +0200, Laurent Vivier wrote: >>I think you also need: >> >>diff --git a/system/Config.in b/system/Config.in >>index 1ca7690ea3ba..786ec9a1c6b3 100644 >>--- a/system/Config.in >>+++ b/system/Config.in >>@@ -375,7 +375,7 @@ config BR2_SYSTEM_BIN_SH >> >>menuconfig BR2_TARGET_GENERIC_GETTY >> bool "Run a getty (login prompt) after boot" >>- default y >>+ default y if !BR2_PACKAGE_PETITBOOT >> >>if BR2_TARGET_GENERIC_GETTY >>config BR2_TARGET_GENERIC_GETTY_PORT >> >>Otherwise the petitboot prompt will be mixed with getty prompt. > >This makes sense, but oddly, all our configs have > > BR2_TARGET_GENERIC_GETTY=y > BR2_TARGET_GENERIC_GETTY_PORT="hvc0" > >Let me try to figure out why it's never caused problems. I found that the reason we've never had problems with this is because BR2_TARGET_GENERIC_GETTY operates on the default /etc/inittab, but we overwrite that file in our overlay. So your suggestion seems good to me! I'll add it to v2. -- Reza Arbab _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH 3/5] package/petitboot: poll removable devices 2023-09-06 19:46 [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement Reza Arbab 2023-09-06 19:46 ` [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value Reza Arbab 2023-09-06 19:46 ` [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot Reza Arbab @ 2023-09-06 19:46 ` Reza Arbab 2023-09-07 8:53 ` Laurent Vivier 2023-09-06 19:46 ` [Buildroot] [PATCH 4/5] package/petitboot: enable discovery of software RAID devices Reza Arbab 2023-09-06 19:46 ` [Buildroot] [PATCH 5/5] package/petitboot: enable discovery of SCSI devices Reza Arbab 4 siblings, 1 reply; 14+ messages in thread From: Reza Arbab @ 2023-09-06 19:46 UTC (permalink / raw) To: buildroot; +Cc: Reza Arbab, Laurent Vivier, Joel Stanley Add a udev rule to enable notification of media change events on removable devices, so petitboot can dynamically adapt to them. Signed-off-by: Reza Arbab <arbab@linux.ibm.com> --- package/petitboot/petitboot.mk | 2 ++ package/petitboot/removable-event-poll.rules | 3 +++ 2 files changed, 5 insertions(+) create mode 100644 package/petitboot/removable-event-poll.rules diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 556d41230237..9326738aa038 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -57,6 +57,8 @@ define PETITBOOT_POST_INSTALL $(TARGET_DIR)/etc/init.d/S15pb-discover $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/petitboot-console-ui.rules \ $(TARGET_DIR)/etc/udev/rules.d/petitboot-console-ui.rules + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/removable-event-poll.rules \ + $(TARGET_DIR)/etc/udev/rules.d/removable-event-poll.rules $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/sysctl.conf \ $(TARGET_DIR)/etc/sysctl.d/petitboot.conf mkdir -p $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ diff --git a/package/petitboot/removable-event-poll.rules b/package/petitboot/removable-event-poll.rules new file mode 100644 index 000000000000..57bb74d3c00c --- /dev/null +++ b/package/petitboot/removable-event-poll.rules @@ -0,0 +1,3 @@ +# petitboot needs notification for media change events on removable devices, +# which we only get if we've set the poll_msecs sysfs attribute. +ACTION!="remove", ATTR{removable}=="1", ATTR{events_poll_msecs}="2000" -- 2.39.3 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 3/5] package/petitboot: poll removable devices 2023-09-06 19:46 ` [Buildroot] [PATCH 3/5] package/petitboot: poll removable devices Reza Arbab @ 2023-09-07 8:53 ` Laurent Vivier 0 siblings, 0 replies; 14+ messages in thread From: Laurent Vivier @ 2023-09-07 8:53 UTC (permalink / raw) To: Reza Arbab, buildroot; +Cc: Joel Stanley Le 06/09/2023 à 21:46, Reza Arbab a écrit : > Add a udev rule to enable notification of media change events on > removable devices, so petitboot can dynamically adapt to them. > > Signed-off-by: Reza Arbab <arbab@linux.ibm.com> > --- > package/petitboot/petitboot.mk | 2 ++ > package/petitboot/removable-event-poll.rules | 3 +++ > 2 files changed, 5 insertions(+) > create mode 100644 package/petitboot/removable-event-poll.rules > > diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk > index 556d41230237..9326738aa038 100644 > --- a/package/petitboot/petitboot.mk > +++ b/package/petitboot/petitboot.mk > @@ -57,6 +57,8 @@ define PETITBOOT_POST_INSTALL > $(TARGET_DIR)/etc/init.d/S15pb-discover > $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/petitboot-console-ui.rules \ > $(TARGET_DIR)/etc/udev/rules.d/petitboot-console-ui.rules > + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/removable-event-poll.rules \ > + $(TARGET_DIR)/etc/udev/rules.d/removable-event-poll.rules > $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/sysctl.conf \ > $(TARGET_DIR)/etc/sysctl.d/petitboot.conf > mkdir -p $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ > diff --git a/package/petitboot/removable-event-poll.rules b/package/petitboot/removable-event-poll.rules > new file mode 100644 > index 000000000000..57bb74d3c00c > --- /dev/null > +++ b/package/petitboot/removable-event-poll.rules > @@ -0,0 +1,3 @@ > +# petitboot needs notification for media change events on removable devices, > +# which we only get if we've set the poll_msecs sysfs attribute. > +ACTION!="remove", ATTR{removable}=="1", ATTR{events_poll_msecs}="2000" Reviewed-by: Laurent Vivier <lauret@vivier.eu> _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH 4/5] package/petitboot: enable discovery of software RAID devices 2023-09-06 19:46 [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement Reza Arbab ` (2 preceding siblings ...) 2023-09-06 19:46 ` [Buildroot] [PATCH 3/5] package/petitboot: poll removable devices Reza Arbab @ 2023-09-06 19:46 ` Reza Arbab 2023-09-07 8:54 ` Laurent Vivier 2023-09-06 19:46 ` [Buildroot] [PATCH 5/5] package/petitboot: enable discovery of SCSI devices Reza Arbab 4 siblings, 1 reply; 14+ messages in thread From: Reza Arbab @ 2023-09-06 19:46 UTC (permalink / raw) To: buildroot; +Cc: Reza Arbab, Laurent Vivier, Joel Stanley Petitboot can support filesystems on software RAID arrays. If mdadm is selected, install the associated udev rules to assemble the device. Signed-off-by: Reza Arbab <arbab@linux.ibm.com> --- package/petitboot/63-md-raid-arrays.rules | 41 ++++++++++++++ package/petitboot/65-md-incremental.rules | 69 +++++++++++++++++++++++ package/petitboot/petitboot.mk | 10 ++++ 3 files changed, 120 insertions(+) create mode 100644 package/petitboot/63-md-raid-arrays.rules create mode 100644 package/petitboot/65-md-incremental.rules diff --git a/package/petitboot/63-md-raid-arrays.rules b/package/petitboot/63-md-raid-arrays.rules new file mode 100644 index 000000000000..92aec36e69d4 --- /dev/null +++ b/package/petitboot/63-md-raid-arrays.rules @@ -0,0 +1,41 @@ +# do not edit this file, it will be overwritten on update + +SUBSYSTEM!="block", GOTO="md_end" + +# handle md arrays +ACTION!="add|change", GOTO="md_end" +KERNEL!="md*", GOTO="md_end" + +# partitions have no md/{array_state,metadata_version}, but should not +# for that reason be ignored. +ENV{DEVTYPE}=="partition", GOTO="md_ignore_state" + +# container devices have a metadata version of e.g. 'external:ddf' and +# never leave state 'inactive' +ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state" +TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end" +ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" +LABEL="md_ignore_state" + +IMPORT{program}="/sbin/mdadm --detail --export $devnode" +ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" +ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" +ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}" +ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace" +ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n" +ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n" +ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n" + +IMPORT{builtin}="blkid" +OPTIONS+="link_priority=100" +OPTIONS+="watch" +ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" +ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" + +ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service" + +# Tell systemd to run mdmon for our container, if we need it. +ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c" +ENV{MD_MON_THIS}=="?*", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service" + +LABEL="md_end" diff --git a/package/petitboot/65-md-incremental.rules b/package/petitboot/65-md-incremental.rules new file mode 100644 index 000000000000..153d12fe6f7e --- /dev/null +++ b/package/petitboot/65-md-incremental.rules @@ -0,0 +1,69 @@ +# This file causes block devices with Linux RAID (mdadm) signatures to +# automatically cause mdadm to be run. +# See udev(8) for syntax + +# Don't process any events if anaconda is running as anaconda brings up +# raid devices manually +ENV{ANACONDA}=="?*", GOTO="md_end" + +# Also don't process disks that are slated to be a multipath device +ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="md_end" + +# We process add events on block devices (since they are ready as soon as +# they are added to the system), but we must process change events as well +# on any dm devices (like LUKS partitions or LVM logical volumes) and on +# md devices because both of these first get added, then get brought live +# and trigger a change event. The reason we don't process change events +# on bare hard disks is because if you stop all arrays on a disk, then +# run fdisk on the disk to change the partitions, when fdisk exits it +# triggers a change event, and we want to wait until all the fdisks on +# all member disks are done before we do anything. Unfortunately, we have +# no way of knowing that, so we just have to let those arrays be brought +# up manually after fdisk has been run on all of the disks. + +# First, process all add events (md and dm devices will not really do +# anything here, just regular disks, and this also won't get any imsm +# array members either) +SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid_member", \ + RUN+="/sbin/mdadm -I --export $env{DEVNAME}" + +# Next, check to make sure the BIOS raid stuff wasn't turned off via cmdline +IMPORT{cmdline}="noiswmd" +IMPORT{cmdline}="nodmraid" +ENV{noiswmd}=="?*", GOTO="md_imsm_inc_end" +ENV{nodmraid}=="?*", GOTO="md_imsm_inc_end" +SUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="isw_raid_member", \ + RUN+="/sbin/mdadm -I $env{DEVNAME}" +LABEL="md_imsm_inc_end" + +SUBSYSTEM=="block", ACTION=="remove", ENV{ID_PATH}=="?*", \ + RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}" +SUBSYSTEM=="block", ACTION=="remove", ENV{ID_PATH}!="?*", \ + RUN+="/sbin/mdadm -If $name" + +# Next make sure that this isn't a dm device we should skip for some reason +ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_change_end" +ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="dm_change_end" +ENV{DM_SUSPENDED}=="1", GOTO="dm_change_end" +KERNEL=="dm-*", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="linux_raid_member", \ + ACTION=="change", RUN+="/sbin/mdadm -I $env{DEVNAME}" +LABEL="dm_change_end" + +# Finally catch any nested md raid arrays. If we brought up an md raid +# array that's part of another md raid array, it won't be ready to be used +# until the change event that occurs when it becomes live +KERNEL=="md*", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="linux_raid_member", \ + ACTION=="change", RUN+="/sbin/mdadm -I $env{DEVNAME}" + +# In case the initramfs only started some of the arrays in our container, +# run incremental assembly on the container itself. Note: we ran mdadm +# on the container in 64-md-raid.rules, and that's how the MD_LEVEL +# environment variable is already set. If that disappears from the other +# file, we will need to add this line into the middle of the next rule: +# IMPORT{program}="/sbin/mdadm -D --export $tempnode", \ + +SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="md*", \ + ENV{MD_LEVEL}=="container", RUN+="/sbin/mdadm -I $env{DEVNAME}" + + +LABEL="md_end" diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 9326738aa038..596e801b781c 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -46,6 +46,16 @@ else PETITBOOT_CONF_OPTS += --without-fdt endif +ifeq ($(BR2_PACKAGE_MDADM),y) +define PETITBOOT_POST_INSTALL_MDADM + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/63-md-raid-arrays.rules \ + $(TARGET_DIR)/etc/udev/rules.d/63-md-raid-arrays.rules + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/65-md-incremental.rules \ + $(TARGET_DIR)/etc/udev/rules.d/65-md-incremental.rules +endef +PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL_MDADM +endif + define PETITBOOT_POST_INSTALL $(INSTALL) -D -m 0755 $(@D)/utils/bb-kexec-reboot \ $(TARGET_DIR)/usr/libexec/petitboot/bb-kexec-reboot -- 2.39.3 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 4/5] package/petitboot: enable discovery of software RAID devices 2023-09-06 19:46 ` [Buildroot] [PATCH 4/5] package/petitboot: enable discovery of software RAID devices Reza Arbab @ 2023-09-07 8:54 ` Laurent Vivier 0 siblings, 0 replies; 14+ messages in thread From: Laurent Vivier @ 2023-09-07 8:54 UTC (permalink / raw) To: Reza Arbab, buildroot; +Cc: Joel Stanley Le 06/09/2023 à 21:46, Reza Arbab a écrit : > Petitboot can support filesystems on software RAID arrays. If mdadm is > selected, install the associated udev rules to assemble the device. > > Signed-off-by: Reza Arbab <arbab@linux.ibm.com> > --- > package/petitboot/63-md-raid-arrays.rules | 41 ++++++++++++++ > package/petitboot/65-md-incremental.rules | 69 +++++++++++++++++++++++ > package/petitboot/petitboot.mk | 10 ++++ > 3 files changed, 120 insertions(+) > create mode 100644 package/petitboot/63-md-raid-arrays.rules > create mode 100644 package/petitboot/65-md-incremental.rules > > diff --git a/package/petitboot/63-md-raid-arrays.rules b/package/petitboot/63-md-raid-arrays.rules > new file mode 100644 > index 000000000000..92aec36e69d4 > --- /dev/null > +++ b/package/petitboot/63-md-raid-arrays.rules > @@ -0,0 +1,41 @@ > +# do not edit this file, it will be overwritten on update > + > +SUBSYSTEM!="block", GOTO="md_end" > + > +# handle md arrays > +ACTION!="add|change", GOTO="md_end" > +KERNEL!="md*", GOTO="md_end" > + > +# partitions have no md/{array_state,metadata_version}, but should not > +# for that reason be ignored. > +ENV{DEVTYPE}=="partition", GOTO="md_ignore_state" > + > +# container devices have a metadata version of e.g. 'external:ddf' and > +# never leave state 'inactive' > +ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state" > +TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end" > +ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" > +LABEL="md_ignore_state" > + > +IMPORT{program}="/sbin/mdadm --detail --export $devnode" > +ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" > +ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" > +ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}" > +ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace" > +ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n" > +ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n" > +ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n" > + > +IMPORT{builtin}="blkid" > +OPTIONS+="link_priority=100" > +OPTIONS+="watch" > +ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" > +ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" > + > +ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service" > + > +# Tell systemd to run mdmon for our container, if we need it. > +ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c" > +ENV{MD_MON_THIS}=="?*", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service" > + > +LABEL="md_end" > diff --git a/package/petitboot/65-md-incremental.rules b/package/petitboot/65-md-incremental.rules > new file mode 100644 > index 000000000000..153d12fe6f7e > --- /dev/null > +++ b/package/petitboot/65-md-incremental.rules > @@ -0,0 +1,69 @@ > +# This file causes block devices with Linux RAID (mdadm) signatures to > +# automatically cause mdadm to be run. > +# See udev(8) for syntax > + > +# Don't process any events if anaconda is running as anaconda brings up > +# raid devices manually > +ENV{ANACONDA}=="?*", GOTO="md_end" > + > +# Also don't process disks that are slated to be a multipath device > +ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="md_end" > + > +# We process add events on block devices (since they are ready as soon as > +# they are added to the system), but we must process change events as well > +# on any dm devices (like LUKS partitions or LVM logical volumes) and on > +# md devices because both of these first get added, then get brought live > +# and trigger a change event. The reason we don't process change events > +# on bare hard disks is because if you stop all arrays on a disk, then > +# run fdisk on the disk to change the partitions, when fdisk exits it > +# triggers a change event, and we want to wait until all the fdisks on > +# all member disks are done before we do anything. Unfortunately, we have > +# no way of knowing that, so we just have to let those arrays be brought > +# up manually after fdisk has been run on all of the disks. > + > +# First, process all add events (md and dm devices will not really do > +# anything here, just regular disks, and this also won't get any imsm > +# array members either) > +SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid_member", \ > + RUN+="/sbin/mdadm -I --export $env{DEVNAME}" > + > +# Next, check to make sure the BIOS raid stuff wasn't turned off via cmdline > +IMPORT{cmdline}="noiswmd" > +IMPORT{cmdline}="nodmraid" > +ENV{noiswmd}=="?*", GOTO="md_imsm_inc_end" > +ENV{nodmraid}=="?*", GOTO="md_imsm_inc_end" > +SUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="isw_raid_member", \ > + RUN+="/sbin/mdadm -I $env{DEVNAME}" > +LABEL="md_imsm_inc_end" > + > +SUBSYSTEM=="block", ACTION=="remove", ENV{ID_PATH}=="?*", \ > + RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}" > +SUBSYSTEM=="block", ACTION=="remove", ENV{ID_PATH}!="?*", \ > + RUN+="/sbin/mdadm -If $name" > + > +# Next make sure that this isn't a dm device we should skip for some reason > +ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_change_end" > +ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="dm_change_end" > +ENV{DM_SUSPENDED}=="1", GOTO="dm_change_end" > +KERNEL=="dm-*", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="linux_raid_member", \ > + ACTION=="change", RUN+="/sbin/mdadm -I $env{DEVNAME}" > +LABEL="dm_change_end" > + > +# Finally catch any nested md raid arrays. If we brought up an md raid > +# array that's part of another md raid array, it won't be ready to be used > +# until the change event that occurs when it becomes live > +KERNEL=="md*", SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="linux_raid_member", \ > + ACTION=="change", RUN+="/sbin/mdadm -I $env{DEVNAME}" > + > +# In case the initramfs only started some of the arrays in our container, > +# run incremental assembly on the container itself. Note: we ran mdadm > +# on the container in 64-md-raid.rules, and that's how the MD_LEVEL > +# environment variable is already set. If that disappears from the other > +# file, we will need to add this line into the middle of the next rule: > +# IMPORT{program}="/sbin/mdadm -D --export $tempnode", \ > + > +SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="md*", \ > + ENV{MD_LEVEL}=="container", RUN+="/sbin/mdadm -I $env{DEVNAME}" > + > + > +LABEL="md_end" > diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk > index 9326738aa038..596e801b781c 100644 > --- a/package/petitboot/petitboot.mk > +++ b/package/petitboot/petitboot.mk > @@ -46,6 +46,16 @@ else > PETITBOOT_CONF_OPTS += --without-fdt > endif > > +ifeq ($(BR2_PACKAGE_MDADM),y) > +define PETITBOOT_POST_INSTALL_MDADM > + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/63-md-raid-arrays.rules \ > + $(TARGET_DIR)/etc/udev/rules.d/63-md-raid-arrays.rules > + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/65-md-incremental.rules \ > + $(TARGET_DIR)/etc/udev/rules.d/65-md-incremental.rules > +endef > +PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL_MDADM > +endif > + > define PETITBOOT_POST_INSTALL > $(INSTALL) -D -m 0755 $(@D)/utils/bb-kexec-reboot \ > $(TARGET_DIR)/usr/libexec/petitboot/bb-kexec-reboot Reviewed-by: Laurent Vivier <laurent@vivier.eu> _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH 5/5] package/petitboot: enable discovery of SCSI devices 2023-09-06 19:46 [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement Reza Arbab ` (3 preceding siblings ...) 2023-09-06 19:46 ` [Buildroot] [PATCH 4/5] package/petitboot: enable discovery of software RAID devices Reza Arbab @ 2023-09-06 19:46 ` Reza Arbab 2023-09-07 8:55 ` Laurent Vivier 4 siblings, 1 reply; 14+ messages in thread From: Reza Arbab @ 2023-09-06 19:46 UTC (permalink / raw) To: buildroot; +Cc: Reza Arbab, Laurent Vivier, Joel Stanley It's likely that the "sg" kernel driver needed to scan SCSI devices is a module. Install a udev rule to load it automatically when devices are present. Signed-off-by: Reza Arbab <arbab@linux.ibm.com> --- package/petitboot/66-add-sg-module.rules | 2 ++ package/petitboot/petitboot.mk | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 package/petitboot/66-add-sg-module.rules diff --git a/package/petitboot/66-add-sg-module.rules b/package/petitboot/66-add-sg-module.rules new file mode 100644 index 000000000000..ae18d28c570e --- /dev/null +++ b/package/petitboot/66-add-sg-module.rules @@ -0,0 +1,2 @@ +# load modules to scsi disks, if they aren't in kernel +SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg" diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 596e801b781c..590b58e9c71a 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -63,6 +63,8 @@ define PETITBOOT_POST_INSTALL $(TARGET_DIR)/etc/petitboot/boot.d/01-create-default-dtb $(INSTALL) -D -m 0755 $(@D)/utils/hooks/90-sort-dtb \ $(TARGET_DIR)/etc/petitboot/boot.d/90-sort-dtb + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/66-add-sg-module.rules \ + $(TARGET_DIR)/etc/udev/rules.d/66-add-sg-module.rules $(INSTALL) -m 0755 -D $(PETITBOOT_PKGDIR)/S15pb-discover \ $(TARGET_DIR)/etc/init.d/S15pb-discover $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/petitboot-console-ui.rules \ -- 2.39.3 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH 5/5] package/petitboot: enable discovery of SCSI devices 2023-09-06 19:46 ` [Buildroot] [PATCH 5/5] package/petitboot: enable discovery of SCSI devices Reza Arbab @ 2023-09-07 8:55 ` Laurent Vivier 0 siblings, 0 replies; 14+ messages in thread From: Laurent Vivier @ 2023-09-07 8:55 UTC (permalink / raw) To: Reza Arbab, buildroot; +Cc: Joel Stanley Le 06/09/2023 à 21:46, Reza Arbab a écrit : > It's likely that the "sg" kernel driver needed to scan SCSI devices is a > module. Install a udev rule to load it automatically when devices are > present. > > Signed-off-by: Reza Arbab <arbab@linux.ibm.com> > --- > package/petitboot/66-add-sg-module.rules | 2 ++ > package/petitboot/petitboot.mk | 2 ++ > 2 files changed, 4 insertions(+) > create mode 100644 package/petitboot/66-add-sg-module.rules > > diff --git a/package/petitboot/66-add-sg-module.rules b/package/petitboot/66-add-sg-module.rules > new file mode 100644 > index 000000000000..ae18d28c570e > --- /dev/null > +++ b/package/petitboot/66-add-sg-module.rules > @@ -0,0 +1,2 @@ > +# load modules to scsi disks, if they aren't in kernel > +SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg" > diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk > index 596e801b781c..590b58e9c71a 100644 > --- a/package/petitboot/petitboot.mk > +++ b/package/petitboot/petitboot.mk > @@ -63,6 +63,8 @@ define PETITBOOT_POST_INSTALL > $(TARGET_DIR)/etc/petitboot/boot.d/01-create-default-dtb > $(INSTALL) -D -m 0755 $(@D)/utils/hooks/90-sort-dtb \ > $(TARGET_DIR)/etc/petitboot/boot.d/90-sort-dtb > + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/66-add-sg-module.rules \ > + $(TARGET_DIR)/etc/udev/rules.d/66-add-sg-module.rules > $(INSTALL) -m 0755 -D $(PETITBOOT_PKGDIR)/S15pb-discover \ > $(TARGET_DIR)/etc/init.d/S15pb-discover > $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/petitboot-console-ui.rules \ Reviewed-by: Laurent Vivier <laurent@vivier.eu> _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-09-25 5:30 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-06 19:46 [Buildroot] [PATCH 0/5] package/petitboot: misc enhancement Reza Arbab 2023-09-06 19:46 ` [Buildroot] [PATCH 1/5] package/petitboot: fix HOST_PROG_SHUTDOWN value Reza Arbab 2023-09-07 8:48 ` Laurent Vivier 2023-09-25 5:30 ` Peter Korsgaard 2023-09-06 19:46 ` [Buildroot] [PATCH 2/5] package/petitboot: run pb-console at boot Reza Arbab 2023-09-07 8:51 ` Laurent Vivier 2023-09-07 19:41 ` Reza Arbab 2023-09-13 15:54 ` Reza Arbab 2023-09-06 19:46 ` [Buildroot] [PATCH 3/5] package/petitboot: poll removable devices Reza Arbab 2023-09-07 8:53 ` Laurent Vivier 2023-09-06 19:46 ` [Buildroot] [PATCH 4/5] package/petitboot: enable discovery of software RAID devices Reza Arbab 2023-09-07 8:54 ` Laurent Vivier 2023-09-06 19:46 ` [Buildroot] [PATCH 5/5] package/petitboot: enable discovery of SCSI devices Reza Arbab 2023-09-07 8:55 ` Laurent Vivier
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox