How F8T1 was bootstrapped for ia64 ...

Prarit Bhargava prarit at redhat.com
Tue Aug 14 23:53:55 UTC 2007


Some rough notes describing the process to bootstrap F8T1 for ia64.  Prolly useful for anyone else trying to bootstrap.



1.  In this release I used thetango and mockbuilder to bootstrap the entire
Fedora tree.

There were four critical issues to overcome:

a) Generating the initial set of RPMS in /etc/thetango/built.

This required the setting up of a Debian based environment to get some
initial packages built.  See Debian note at bottom.

b) Initial perl packages

A lot of the perl-* packages are NOARCH and they can be directly "ported"
from the primary arches (TODO: Can all noarch packages be ported over?  Why
or why not?)

c) mock errors

- "Could not find useradd in chroot, maybe the install failed?"

probably caused by missing/inadequate version of rpmdevtools

- make sure you are using the right version of buildgroups.  AFAICT, you
must use the version of buildgroups that corresponds to the version of
rpmdevtools and mock you are using.

For example, if you are using F6's mock & rpmdevtools you must use F6's
buildgroups

d) mock building errors

The big issue is the versions of rpm, redhat-rpm-config, and rpmdevtools.

As we build the OS, new versions of these packages are available and can
conflict with the existing packages that are being used to do the mock
compose.

I had to run the build in the following order:

First: run through with mockbuilder's rpm-slave.
Second: run through with mockbuilder's mock-slave -- eventually errors are
generated because of mis-matched rpm, redhat-rpm-config, and rpmdevtools.

At this point I removed the three rpms and prevented them from building.

Third: run through with mockbuilder's mock-slave again.

(TODO: Is it sufficient to just remove rpm, redhat-rpm-config, and
rpmdevtools from the repo?  Can they be excluded in yum?)


2.  Using pungi to build

a) After configuring pungi correctly I hit three errors that required action

- gcc did not build,
- glibc did not build,
- booty was broken, and
- anaconda was broken.

GCC and GLIBC were taken from the F-7 distro.  I entered in bugs (which jakub
has resolved) and hopefully these will be available from F8T2 on.

booty had to be downversioned to booty-0.85.1 .

I had to modify anaconda with the following patch (warning, cut-and-paste):

Index: anaconda/scripts/upd-instroot
diff -u anaconda/scripts/upd-instroot:1.565 anaconda/scripts/upd-instroot:1.566
--- anaconda/scripts/upd-instroot:1.565 Mon Aug  6 14:49:10 2007
+++ anaconda/scripts/upd-instroot       Wed Aug  8 11:14:48 2007
@@ -433,6 +433,7 @@
 sbin/busybox.anaconda
 sbin/clock
 sbin/debugfs
+sbin/dosfslabel
 sbin/e2fsck
 sbin/e2fsadm
 sbin/e2label







-------------------------------------------------------------------------------

Debian -- HOW TO BOOTSTRAP!

1. Download debootstrap source rpm, installed sources and manually built using
make install.

2. made a debian dir.

3. debootstrap --arch ia64 etch debian http://http.us.debian.org/debian

etch is the release name, it may change.

4.

cp /etc/resolv.conf debian/etc
cp /etc/hosts debian//etc

5. chroot debian /usr/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$' PATH=/bin:/
usr/bin:/sbin:/usr/sbin /bin/bash --login

6.  In the debian root, apt-get install <package_name> downloads and installs
a package.

7.  In the debian root, apt-get -d install <package_name> downloads and doesn't
install a package.

The download is in /var/cache/apt/archives.

8.  apt-get install alien rpm

9.  Use alien to create an rpm from the deb package


10. Useful links
http://www.underhanded.org/papers/debian-conversion/remotedeb.html#debootstrap
http://www.gelato.unsw.edu.au/IA64wiki/debootstrap

http://mirrors.kernel.org/debian/pool/main/





More information about the Fedora-buildsys-list mailing list