- Add spec file
[opensuse:mkinitrd-old.git] / mkinitrd.spec
1 #
2 # spec file for package mkinitrd (Version 1.0)
3 #
4 # Copyright (c) 2004 SUSE LINUX AG, Nuernberg, Germany.
5 # This file and all modifications and additions to the pristine
6 # package are under the same license as the package itself.
7 #
8 # Please submit bugfixes or comments via http://www.suse.de/feedback/
9 #
10
11 # norootforbuild
12 # neededforbuild  
13
14 BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv kbd less libacl libattr libgcc libselinux libstdc++ libxcrypt m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace syslogd sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel autoconf automake binutils gcc gdbm gettext libtool perl rpm
15
16 Name:         mkinitrd
17 License:      GPL
18 Group:        System/Base
19 Provides:     aaa_base:/sbin/mk_initrd
20 Requires:     coreutils ash modutils util-linux grep e2fsprogs tar gzip sed gawk cpio udev
21 # bootsplash required only if creating splash initrd's.
22 Autoreqprov:  on
23 Version:      1.0
24 Release:      199
25 Summary:      Creates an initial ramdisk image for preloading modules
26 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
27 Source:       mkinitrd
28 Source1:      installkernel
29 Source2:      new-kernel-pkg
30 Source3:      mkinitrd.8
31 Source10:     mkinitramfs
32 Source11:     mkinitramfs-kinit.sh
33 #
34 # Missing: man page for mkinitrd etc.
35 #
36 #
37
38 %description
39 Mkinitrd creates filesystem images for use as initial ramdisk (initrd)
40 images.  These ramdisk images are often used to preload the block
41 device modules (SCSI or RAID) needed to access the root filesystem.
42
43 In other words, generic kernels can be built without drivers for any
44 SCSI adapters which load the SCSI driver as a module.  Since the kernel
45 needs to read those modules, but in this case it isn't able to address
46 the SCSI adapter, an initial ramdisk is used.  The initial ramdisk is
47 loaded by the operating system loader (normally LILO) and is available
48 to the kernel as soon as the ramdisk is loaded.  The ramdisk loads the
49 proper SCSI adapter and allows the kernel to mount the root filesystem.
50
51
52
53 Authors:
54 --------
55     Steffen Winterfeldt <wfeldt@suse.de>
56     Susanne Oberhauser <froh@suse.de>
57     Bernhard Kaindl <bk@suse.de>
58     Andreas Gruenbacher <agruen@suse.de>
59
60
61 %install
62 rm -rf $RPM_BUILD_ROOT
63 mkdir -p $RPM_BUILD_ROOT/sbin
64 mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man8
65 cp %SOURCE0 %SOURCE1 %SOURCE2 $RPM_BUILD_ROOT/sbin/
66 ln -s mkinitrd $RPM_BUILD_ROOT/sbin/mk_initrd
67 cp %SOURCE3 $RPM_BUILD_ROOT/%{_mandir}/man8
68 mkdir -p $RPM_BUILD_ROOT/lib/mkinitrd
69 cp -p %{S:11} $RPM_BUILD_ROOT/lib/mkinitrd/kinit.sh
70 %ifarch ppc ppc64
71 cp -p %{S:10} $RPM_BUILD_ROOT/sbin/mkinitrd
72 %else
73 cp -p %{S:10} $RPM_BUILD_ROOT/sbin/mkinitramfs
74 %endif
75
76 %files
77 %defattr(755,root,root)
78 /sbin/mkinitrd
79 /sbin/mk_initrd
80 /sbin/installkernel
81 /sbin/new-kernel-pkg
82 %{_mandir}/man8/mkinitrd.8.gz
83 /lib/mkinitrd
84 %ifnarch ppc ppc64
85 /sbin/mkinitramfs
86 %endif
87
88 %changelog -n mkinitrd
89 * Wed Apr 14 2004 - hare@suse.de
90 - Fixed loading of dasd module if no dasd= parameter is set.
91 - Configure dasd devices via sysfs for empty dasd= parameter.
92 * Sun Apr 04 2004 - agruen@suse.de
93 - Add a missing `fi'.
94 - Explicitly create udev2 device inodes (--mknodes).
95 * Sat Apr 03 2004 - agruen@suse.de
96 - #37290: Fix mkinitrd for root filesystem on lvm on software
97   raid; add fallback to scan sysfs if udev fails.
98 * Fri Apr 02 2004 - hare@suse.de
99 - mkinitrd: Add support for large device numbers.
100 * Thu Apr 01 2004 - agruen@suse.de
101 - Report failure if binaries are not found.
102 - Add devnumber klibc binary.
103 - Actually include raidautorun in the initrd.
104 * Thu Apr 01 2004 - agruen@suse.de
105 - #32794: Run raidautorun also when the root filesystem is LVM but
106   not a RAID, and there are RAIDs configured in the rest of the
107   system: Otherwise lvm may wrongly think that the RAID is multipath
108   attached storage, and corrupt data.
109 * Tue Mar 30 2004 - agruen@suse.de
110 - mkinitrd:
111   + Dereference symbolic link in hex_dev_number (fehr@suse.de).
112   + Get rid of static device numbers, clean up device number
113   checking.
114   + Remove -u option (to disable udev); it's mandatory now anyway.
115   + Don't run createpartitiondevs (an ash extension) with udev.
116   + Small fix for uml.
117 * Tue Mar 30 2004 - olh@suse.de
118 - mkinitramfs: add sr_mod to initrd as a workaround for #37943
119   create /dev/shm earlier in /init
120   copy rm binary and /etc/sysconfig/hardware to initramfs
121 * Sun Mar 28 2004 - agruen@suse.de
122 - Added support for S/390 zfcp disks with kernel 2.6
123   (hare@suse.de).
124 - Fix syntax error checking for device mapper; cleanups.
125 * Thu Mar 25 2004 - agruen@suse.de
126 - Rework the entire nfs-root/dhcp/pivot-root logic.
127 - Fix two issues in iscsi support.
128 - Suport for device-mapper based root files (fehr@suse.de)
129 - Fix udev/lvm/device-mapper initialization order.
130 - Don't create static lvm/device-mapper inodes when using udev.
131 * Mon Mar 22 2004 - agruen@suse.de
132 - Copy the root filesystem device inode into the initrd only when
133   not using udev.
134 - Don't leave DHCP mode when root=/dev/nfs. Add af_packet module
135   that is apparently needed by DHCP.
136 - Don't use stat(1): it's missing on old distros.
137 * Fri Mar 19 2004 - hare@suse.de
138 - Update mkinitrd to use udev for creating device nodes.
139 - Update mkinitrd to pick up modular IDE drivers.
140 * Tue Mar 16 2004 - schwab@suse.de
141 - Fix quoting.
142 * Tue Mar 16 2004 - hare@suse.de
143 - Fixed new-kernel-pkg for correctly updating /etc/zipl.conf.
144 * Tue Mar 09 2004 - olh@suse.de
145 - mkinitramfs: create nodes for ppp and fb0, no sysfs support yet
146 * Tue Mar 09 2004 - olh@suse.de
147 - quote variables in mkinitramfs for here documents
148 * Tue Mar 09 2004 - olh@suse.de
149 - add mkinitramfs as mkinitrd on ppc
150   mounts /dev as tmpfs, requires 2.6 kernel
151 * Wed Mar 03 2004 - agruen@suse.de
152 - A small cleanup in the mkinitrd script.
153 * Mon Mar 01 2004 - agruen@suse.de
154 - Clean up vga mode parsing for the boot splash.
155 - Mount /proc and /sys at the beginning of linuxrc, and unmount
156   them at the end.
157 - Add iscsi support (patch from David Wysochanski
158   <davidw@netapp.com> via Kurt Garloff <garloff@suse.de>).
159 - Update dasd configuration to kernel 2.6.
160 * Thu Feb 26 2004 - agruen@suse.de
161 - mkinitrd: Some more quoting fixes.
162 - new-kernel-pkg: Merging the lilo and elilo branches broke; lilo
163   was accidentally invoked in both cases.
164 * Wed Feb 25 2004 - schwab@suse.de
165 - Fix syntax error in linuxrc.
166 * Tue Feb 24 2004 - agruen@suse.de
167 - mkinitrd: Too much quoting removed in last change.
168 * Tue Feb 24 2004 - agruen@suse.de
169 - Clean up the code in several places. Use $(..) instead of `..`.
170 - Add special case for /dev/cciss/* devices. A better solution is
171   required; there are a lot more cases where there is no trivial
172   mapping between the device inode under /dev and its sysfs entry.
173 * Mon Feb 23 2004 - agruen@suse.de
174 - mkinitrd:
175   + Clean up some s390 specific stuff.
176   + Add & use do_chroot function.
177   + Instead of parsing /etc/modules.conf, parse the output of
178   modprobe -c.
179 - new-kernel-pkg: Merge almost-identical lilo + elilo cases.
180 * Fri Feb 20 2004 - agruen@suse.de
181 - mkinitrd: Fix check parsing zipl.conf in s390_dasd().
182 * Fri Feb 20 2004 - agruen@suse.de
183 - #34736: Handle whitespace in zipl.conf correctly.
184 * Mon Feb 16 2004 - hare@suse.de
185 - Added S/390 zipl support in new-kernel-pkg.
186 * Mon Feb 02 2004 - agruen@suse.de
187 - Add device mapper / lvm2 support (from sbose@suse.de).
188 * Fri Jan 16 2004 - schwab@suse.de
189 - Run elilo in new-kernel-pkg.
190 * Fri Dec 05 2003 - hare@suse.de
191 - Checked out new version from CVS: Removed s390 special case
192   for image selection.
193 * Thu Dec 04 2003 - ro@suse.de
194 - added manpage mkinitrd.8
195 * Wed Nov 26 2003 - agruen@suse.de
196 - Fix a syntax error and the module list info (don't show params).
197 * Sat Nov 22 2003 - agruen@suse.de
198 - Re-add patch from Carsten Grohmann (which was accidentally lost
199   beacuse it was not committed to the CVS).
200 * Fri Nov 21 2003 - agruen@suse.de
201 - Update for 2.6 kernel on s390 and zSeries (hare@suse.de).
202 - Invoke /sbin/elilo to update the efi partition on ia64.
203 * Tue Nov 18 2003 - kukuk@suse.de
204 - Loading SELinux policy: Add patch from Carsten Grohmann for
205   better output.
206 * Tue Nov 11 2003 - agruen@suse.de
207 - Scan kernel cmdline, and pass scsi parameters to scsi_mod:
208   Otherwise no scsi params can be passed on the cmdline.
209 * Tue Oct 28 2003 - agruen@suse.de
210 - Add `-C /etc/modprobe.conf' only if this file actually exists:
211   The modprobe for 2.6 kernels can also run without a config
212   file.
213 * Mon Oct 27 2003 - agruen@suse.de
214 - Increase the initial initrd image size: 10000 1k blocks
215   is too small for the k_debug kernel.
216 * Thu Oct 23 2003 - agruen@suse.de
217 - Fix for #32625: mkinitrd handles `-b /' incorrectly.
218 - Handle use_selinux like all other flags.
219 - From snwint@suse.de (+changes from me): Fix bootsplash on SLES8.
220 - From bk@suse.de: Some zfcp fixes.
221 * Wed Oct 15 2003 - kukuk@suse.de
222 - Fix selinux support
223 - Always use mount/umount -n in initrd
224 - Always create initrd if selinux support is requested
225 * Wed Oct 15 2003 - kukuk@suse.de
226 - Add optional selinux support
227 * Fri Oct 10 2003 - schwab@suse.de
228 - Fix typo.
229 * Fri Oct 10 2003 - agruen@suse.de
230 - Skip over linux-gate.so.1, which is a library mapped into the
231   process by 2.6 kernels.
232 * Thu Oct 09 2003 - agruen@suse.de
233 - Fix vga mode parsing (wrongly was taking "ex" for a hex number).
234 - Use generic versions of libraries: On some systems we have
235   generic as well as optimized libraries, but the optimized
236   libraries may not work with all kernel versions.
237 * Thu Oct 02 2003 - bk@suse.de
238 - fix initrd creation on S/390(only tested w/ dasd, not with zfcp!)
239 - pass module parameters from /etc/modules.conf to linuxrc
240 * Wed Oct 01 2003 - schwab@suse.de
241 - new-kernel-pkg: handle elilo.
242 * Mon Sep 29 2003 - kukuk@suse.de
243 - Add %%defattr
244 * Mon Sep 29 2003 - agruen@suse.de
245 - There is no mkdir in the initrd: Create all needed directories
246   when creating the initrd.  Use `mkdir -p' instead of `mkdir'.
247 - A minor cleanup.
248 * Tue Sep 23 2003 - agruen@suse.de
249 - The previous change from using killall to kill was incomplete
250   (kill is located in /bin; killall is in /usr/bin).
251 - Temporary mount shm to /etc/lvmtab.d to create space for lvm
252   commands (#26073).
253 - Add some changes that got lost with the previous update.
254 * Fri Sep 19 2003 - agruen@suse.de
255 - new-kernel-pkg: Change /dev/stderr to &2 -- otherwise it fails
256   in build envs.
257 * Thu Sep 18 2003 - kraxel@suse.de
258 - linuxrc does rootfs device scan via sysfs after loading the
259   modules.  2.6.x kernels only, fixes bug #30771.
260 * Tue Sep 16 2003 - agruen@suse.de
261 - Add missing $root_dir prefixes, and replace some remaining
262   occurrences of `/boot' with $boot_dir.
263 - Prevent readlink macro from printing an error message for missing
264   files (the "real" readlink also fails without messages).
265 - Add xfs_dmapi and xfs_support to the list of modules that may
266   be missing without causing an error (they no longer exist).
267 - Add md to list of introduced modules.
268 - temporarly mount shm to /etc in the linuxrc script to have more
269   space available for lvm commands (#26073).
270 * Thu Sep 04 2003 - agruen@suse.de
271 - Add xfs_dmapi and xfs_support to the list of modules that may
272   be missing without causing an error (they no longer exist).
273 - Fix typo, add md to list of introduced modules, minor clean-ups.
274 * Mon Sep 01 2003 - agruen@suse.de
275 - Put mkinird script under cvs control, and remove the inconsistent
276   change log that used to be part of the script. The repository
277   location is: /suse/yast2/cvsroot/mkinitrd/.
278 - Remove now-obsolete oem resize support.
279 * Mon Sep 01 2003 - mls@suse.de
280 - dhcp: allow servername in rootpath (#29791)
281 * Sun Aug 31 2003 - agruen@suse.de
282 - Fix broken check: mount, umount and the surrounding files were
283   missing in initrd's.
284 * Wed Aug 27 2003 - agruen@suse.de
285 - Prevent mkinitrd warnings for scsi_mod and sd_mod, which may
286   have been added to INITRD_MODULES implicitly after a kernel
287   update.
288 - Another minor fix in the ACPI DSDT code.
289 * Tue Aug 26 2003 - agruen@suse.de
290 - Clean up ACPI DSDT code.
291 - Add internal option use_static_binaries than can be turned off
292   to use dynamically linked binaries (for bug hunting).
293 - Fix for systems that don't have a modprobe.old binary.
294 * Mon Aug 25 2003 - ro@suse.de
295 - fix syntax error in last change
296 * Fri Aug 22 2003 - trenn@suse.de
297 - Added support to attach an DSDT (acpi) to the initrd
298   there will exist a kernel option soon, to load a DSDT from
299   the initrd and substitute the DSDT from the BIOS.
300   The compiled DSDT can be indicated either in /etc/sysconfig/kernel for permanent
301   load or the path to the DSDT can be given to mkinitrd  via the -a parameter
302 * Thu Aug 14 2003 - agruen@suse.de
303 - Don't depend on /usr/bin/readlink utility: it is not present
304   on older distributions.
305 * Fri Aug 08 2003 - agruen@suse.de
306 - Automatically also require sd_mod (SCSI disk) if scsi_mod is
307   required: It is reasonable to assume that the root file system
308   is on a SCSI disk in that case.
309 * Fri Aug 08 2003 - agruen@suse.de
310 - Fix a check in mkinird script: No need to invoke initrd on
311   /boot/vmlinuz if that file is a symlink.
312 - Update mkinitrd help text.
313 * Tue Aug 05 2003 - agruen@suse.de
314 - Don't call rpm from inside mkinitrd: mkinitrd is itself called
315   from rpm in the binary kernel packages; recursive rpm is not
316   possible.
317 - Fix bugs if mkinitrd is called with a different root directory.
318 - Unclutter mkinitrd's output.
319 - #28484: Use kill instead of killall in the initrd in the dhcp
320   specific code: killall apparently would require an additional
321   shared library.
322 * Thu Jul 31 2003 - agruen@suse.de
323 - Fix heuristic for recognizing installed kernel RPMs and their
324   binary image files.
325 - If /boot/vmlinuz is a symlink to /boot/vmlinuz-$VERSION and
326   /boot/initrd is a regular file, replace /boot/initrd with a
327   symbolic link to /boot/initrd-$VERSION when creating that
328   initrd image. This ensures that /boot/vmlinuz and /boot/initrd
329   belong to the same kernel.
330 * Mon Jul 28 2003 - agruen@suse.de
331 - Fix test which version of modprobe to use (was testing
332   for 2.5.*).
333 * Wed Jul 16 2003 - kraxel@suse.de
334 - fix creation of mk_initrd link.
335 * Wed Jul 02 2003 - kraxel@suse.de
336 - build initrds for all installed kernel rpms.
337 - fix 2.5.x issues.
338 * Fri Jun 06 2003 - agruen@suse.de
339 - new-kernel-pkg was in DOS file format: How did *that* happen ??
340 - mkinitrd:
341   + Recognize correctly if no modules are being used.
342   + Pipe config file to depmod via stdin so chroot doesn't matter.
343 * Fri Jun 06 2003 - schwab@suse.de
344 - Handle LOADER_TYPE elilo.
345 - Fix syntax errors.
346 * Wed Jun 04 2003 - agruen@suse.de
347 - Merge in improved mkinitrd script. There are a number of
348   comments tagged with FIXME that seem unclear to me.
349 * Tue Jun 03 2003 - stepan@suse.de
350 - Get bootsplash theme name dynamically from sysconfig file.
351   This obsoletes SuSEconfig.bootsplash
352 * Mon May 26 2003 - agruen@suse.de
353 - Remove initial install vs. upgrade logic from new-kernel-pkg
354   script. This is better dealt with in the k_* spec files. Invoke
355   new-kernel-pkg script with the version of the kernel as $1
356   (e.g., "2.4.20-99-default").
357 - Adjust installkernel script to new-kernel-pkg changes.
358 * Thu May 22 2003 - agruen@suse.de
359 - Split /sbin/mk_initrd from aaa_base.
360 - New /sbin/installkernel that is used be `make install' in the
361   kernel sources.
362 - New /sbin/new-kernel-pkg scripts that kicks the boot loader
363   (mainly lilo) after the kernel/initrd image has changed.