2 # - BUG: you can't set in /etc/mdadm.conf:
3 # DEVICE partitions containers
4 # (which is default BTW if none set). Generation of initrd will fail
6 Summary: Creates an initial ramdisk image for preloading modules
7 Summary(pl.UTF-8): Narzędzie do tworzenia inicjalnego ramdysku używanego przy starcie systemu
12 Group: Applications/System
13 Source0: %{name}-%{version}.tar.gz
14 # Source0-md5: 54fef4e59386bac53e57822deffeef32
15 Patch0: %{name}-git.patch
16 URL: http://git.pld-linux.org/?p=projects/geninitrd.git
17 BuildRequires: xmlto >= 0:0.0.18-1
18 Requires: /usr/bin/ldd
20 Requires: busybox-initrd >= 1.22.1-2
26 Requires: mktemp >= 1.5-8
28 Requires: pci-database >= 0.4
29 Requires: rc-scripts >= 0.2.7
31 Requires: virtual(module-tools)
36 %if "%{pld_release}" == "ac"
37 # otherwise LVM subsystem is not enabled in geninitrd
39 # without this softraid installations of PLD fail
40 Suggests: mdadm-initrd >= 1.12.0-1
41 Conflicts: grubby < 5.0.4-3.1
43 Conflicts: grubby < 6.0.24-3
46 Conflicts: module-init-tools < 3.2.2-6
47 Conflicts: pciutils < 2.2.9
48 Conflicts: udev-initrd < 1:168
49 Conflicts: xz < 4.999.9
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 Geninitrd creates filesystem images for use as initial ramdisk
55 (initrd) images. These ramdisk images are often used to preload the
56 block device modules (SCSI or RAID) needed to access the root
59 In other words, generic kernels can be built without drivers for any
60 SCSI adapters which load the SCSI driver as a module. Since the kernel
61 needs to read those modules, but in this case it isn't able to address
62 the SCSI adapter, an initial ramdisk is used. The initial ramdisk is
63 loaded by the operating system loader (normally LILO) and is available
64 to the kernel as soon as the ramdisk is loaded. The ramdisk image
65 loads the proper SCSI adapter and allows the kernel to mount the root
66 filesystem. The geninitrd program creates such a ramdisk using
67 information found in the /etc/modules.conf file.
69 %description -l pl.UTF-8
70 Geninitrd służy do tworzenia obrazu systemu plikowego używanego jako
71 inicjalny ramdysk (initrd), z którego przy starcie systemu są ładowane
72 moduły kernela z obsługą urządzeń których obsługa nie jest
73 wkompilowana w kernel. Zazwyczaj modułami ładowanymi z inicjalnego
74 systemu plikowego są sterowniki SCSI, IDE czy też RAID po to żeby w
75 dalszej części inicjacji systemu był możliwy dostęp do głównego
76 systemu plikowego (root fs).
78 Dzięki initrd jest możliwe używanie dystrybucyjnego kernela w którym
79 wkompilowana jest minimalna ilość obsługi różnych urządzeń, a reszta
80 kodu obsługi sterowników SCSI, IDE czy RAID jest doczytywana w trakcie
81 startu z initrd. Skrypt geninitrd generuje obraz ramdysku na podstawie
82 bieżących informacji zawartych w /etc/modules.conf.
86 mv %{name}-%{version}*/* .
93 rm -rf $RPM_BUILD_ROOT
95 DESTDIR=$RPM_BUILD_ROOT
98 rm -rf $RPM_BUILD_ROOT
101 %defattr(644,root,root,755)
103 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/geninitrd
104 %attr(755,root,root) /sbin/geninitrd
105 %{_mandir}/man8/geninitrd.8*
108 /lib/geninitrd/functions
109 /lib/geninitrd/mod-*.sh
110 %attr(755,root,root) /lib/geninitrd/extract-ikconfig
112 %dir /lib/geninitrd/udev-rules
113 /lib/geninitrd/udev-rules/*.rules