summaryrefslogtreecommitdiffstats
path: root/README
blob: b8df88ec270c4a231c34a4e1e536d8b75180c3b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
febootstrap - Bootstrap a basic Fedora system
by Richard W.M. Jones (rjones@redhat.com)
http://people.redhat.com/~rjones/febootstrap
----------------------------------------------------------------------

febootstrap is a Fedora equivalent to Debian's debootstrap.  You can
use it to create a basic Fedora filesystem.

There are currently some restrictions compared to debootstrap.

For instructions, restrictions, examples etc. please read the manpage
febootstrap(8).

Requirements
------------

  fakeroot
    - Tested with version 1.11.

  fakechroot >= 2.9 or 2.8 + patch
    - **** NB. KNOWN NOT TO WORK WITH 2.8 *****  You MUST apply
      the patch 'fakechroot-2.8-relchroot.patch' to the fakechroot
      sources and recompile.  Hopefully this patch will be included
      in future versions of fakechroot.

  yum
    - Tested with version 3.2 (works best with 3.2.21 or above)
    - Needs network access to a Fedora repository, or a local
      Fedora mirror.

  perldoc
    - This is just used to generate the manpage.

  bash

  gcc

  qemu
    - If you want to test-run your systems.

Building and installing
-----------------------

  ./configure
  make
  sudo make install

Note, if you want to run the scripts locally without installing,
you have to set the $PATH to the current directory, ie:

  PATH=$(pwd):$PATH
  febootstrap [...]

Debugging
---------

If you get segfaults while running febootstrap or errors in the %post
scripts, these are often caused by some incompatibility in the
emulation provided by fakeroot/fakechroot.  You can track them down by
running the yum command explicitly.  Try:

  fakeroot fakechroot -s \
    yum -y -c /tmp/repo \
      --disablerepo=\* --enablerepo=febootstrap \
      --noplugins --nogpgcheck \
      --installroot=/tmp/root \
      install "@Core"

where /tmp/repo would be a file like this (change repo and arch
parameters as appropriate):

  [febootstrap]
  name=febootstrap
  failovermethod=priority
  enabled=1
  gpgcheck=0
  mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64

You can insert gdb in the appropriate place in the fakeroot /
fakechroot / yum command.

Feedback and bugs
-----------------

Send feedback to rjones@redhat.com.  You can file bugs in
http://bugzilla.redhat.com/