+febootstrap*.8
+febootstrap*.txt
Makefile.in
Makefile
aclocal.m4
config.status
configure
febootstrap
-febootstrap.8
-febootstrap.txt
+febootstrap-fix-root
+febootstrap-to-initramfs
stamp-h1
#
# Written by Richard W.M. Jones <rjones@redhat.com>
-bin_SCRIPTS = febootstrap
+bin_SCRIPTS = febootstrap febootstrap-to-initramfs
febootstrap: febootstrap.sh
rm -f $@
chmod 0555 $@-t
mv $@-t $@
-man_MANS = febootstrap.8
+febootstrap-to-initramfs: febootstrap-to-initramfs.sh
+ rm -f $@
+ cp $< $@-t
+ chmod 0555 $@-t
+ mv $@-t $@
+
+man_MANS = febootstrap.8 febootstrap-to-initramfs.8 febootstrap-fix-root.8
if HAVE_PERLDOC
febootstrap.8: febootstrap.pod
febootstrap.txt: febootstrap.pod
pod2text $< > $@
+
+febootstrap-to-initramfs.8: febootstrap-to-initramfs.pod
+ pod2man \
+ --section 8 \
+ -c "Virtualization Support" \
+ --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
+ $< > $@
+
+febootstrap-to-initramfs.txt: febootstrap-to-initramfs.pod
+ pod2text $< > $@
+
+febootstrap-fix-root.8: febootstrap-fix-root.pod
+ pod2man \
+ --section 8 \
+ -c "Virtualization Support" \
+ --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
+ $< > $@
+
+febootstrap-fix-root.txt: febootstrap-fix-root.pod
+ pod2text $< > $@
endif
-EXTRA_DIST = febootstrap.8 febootstrap.txt
+EXTRA_DIST = \
+ febootstrap.8 febootstrap.txt \
+ febootstrap-to-initramfs.8 febootstrap-to-initramfs.txt \
+ febootstrap-fix-root.8 febootstrap-fix-root.txt
--- /dev/null
+=head1 NAME
+
+febootstrap-fix-root - Fix ownership and permissions inside febootstrap root
+
+=head1 SYNOPSIS
+
+ febootstrap-fix-root DIR
+
+=head1 DESCRIPTION
+
+
+
+
+=head1 SEE ALSO
+
+L<febootstrap-to-initramfs(8)>,
+L<febootstrap(8)>,
+L<fakeroot(1)>.
+
+=head1 AUTHORS
+
+Richard W.M. Jones <rjones @ redhat . com>
+
+=head1 COPYRIGHT
+
+(C) Copyright 2009 Red Hat Inc.,
+L<http://et.redhat.com/~rjones/febootstrap>.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--- /dev/null
+=head1 NAME
+
+febootstrap-to-initramfs - Convert febootstrap root to initramfs (cpio) file.
+
+=head1 SYNOPSIS
+
+ febootstrap-to-initramfs DIR > initrd.img
+
+=head1 DESCRIPTION
+
+I<febootstrap-to-initramfs> converts the filesystem created by
+L<febootstrap(8)> into an initramfs image. This allows the new system
+to be booted on real hardware or inside a QEMU-based virtual machine.
+
+An initramfs image is just a compressed cpio file, so you could
+uncompress it with L<gunzip(1)> and use L<cpio(1)> to convert it into
+other formats.
+
+The permissions inside the initrd image are corrected automatically
+(see the discussion of fakeroot logfile in the L<febootstrap(8)>
+page). You do I<not> need to run this command as root.
+
+=head1 /init
+
+Normal initramfs images start by executing the program or script
+called C</init>. febootstrap does not create this script, so you may
+wish to, particularly for very minimal bootstraps that don't have the
+normal SysVinit/upstart machinery.
+
+Linux will try to run the following commands in turn, unless you
+override it using the C<init=I<cmd>> kernel option:
+
+=over 4
+
+=item *
+
+/init
+
+=item *
+
+/sbin/init
+
+=item *
+
+/etc/init
+
+=item *
+
+/bin/init
+
+=item *
+
+/bin/sh
+
+=back
+
+=head1 MEMORY REQUIREMENTS
+
+Initramfs images are uncompressed by the kernel into memory. When
+booting the new system you will need at least enough free RAM to store
+the B<uncompressed> filesystem plus extra to run any programs. Bear
+this in mind when creating very large filesystems.
+
+=head1 SEE ALSO
+
+L<febootstrap-fix-root(8)>,
+L<febootstrap(8)>,
+L<cpio(1)>.
+
+=head1 AUTHORS
+
+Richard W.M. Jones <rjones @ redhat . com>
+
+=head1 COPYRIGHT
+
+(C) Copyright 2009 Red Hat Inc.,
+L<http://et.redhat.com/~rjones/febootstrap>.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--- /dev/null
+#!/bin/bash -
+# febootstrap-to-initramfs
+# (C) Copyright 2009 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# Written by Richard W.M. Jones <rjones@redhat.com>
+
+if [ $# -ne 1 ]; then
+ echo "febootstrap-to-initramfs DIR > initrd.img"
+ exit 1
+fi
+
+cd "$1"
+
+if [ ! -f fakeroot.log -a $(id -u) -ne 0 ]; then
+ echo "no fakeroot.log and not running as root"
+ exit 1
+fi
+
+if [ -f fakeroot.log ]; then
+ fakeroot -i fakeroot.log \
+ sh -c 'find -not -name fakeroot.log -a -print0 | cpio -o0c | gzip --best'
+else
+ find -not -name fakeroot.log -a -print0 | cpio -o0c | gzip --best
+fi
(otherwise the public Fedora mirrors are used). I<REPO> names are
C<fedora-I<VERSION>> (eg. C<fedora-10>) or C<rawhide>.
-febootstrap does not need to be run as root. If for some reason you
-do run it as root, then it works slightly differently and may have
+febootstrap does I<not> need to be run as root. If for some reason
+you do run it as root, then it works slightly differently and may have
side effects such as stopping or starting system daemons.
For more advanced needs, take a look at L<mock(1)> and
=item *
-Generate an initrd (cpio) file containing the correct permissions
-using the tool C<febootstrap-to-initrd>.
+Generate an initramfs (compressed cpio) file containing the correct
+permissions using the tool C<febootstrap-to-initramfs>.
=item *
=head1 SEE ALSO
-L<febootstrap-to-initrd(8)>,
+L<febootstrap-to-initramfs(8)>,
L<febootstrap-fix-root(8)>,
L<fakeroot(1)>,
L<fakechroot(1)>,