[fedora-virt] Re: febootstrap question

Christopher Johnston cjohnstonwork at gmail.com
Tue Jul 7 14:58:32 UTC 2009

Wanted to updated you on what I was working on using febootstrap.  I managed
to get a fully booted F10 system that can be PXE booted and pivot the rootfs
filesystem into tmpfs.  It then forks init off to start the usual boot
process.  Very happy so far with how it is coming along with the project.
 The source of the problem turned out to be the upx binary minimize process,
once I disabled that it worked great.

I am running into another smaller issue where the rpmdb gets corrupted after
the system boots.  I am also not running the minimizer to remove the rpmdb
as I need this at boot time when the system is up and running to install
some required RPMs.

Here is the chroot environment for the image, strangely rpm -qa doesnt
report anything yet the files are all in tack (strings Packages even shows
data).  Have you seen this where the rpmdb gets corrupted at boot time?

[root at ns4 /]# cd /var/lib/rpm/
[root at ns4 rpm]# ls
Basenames     Dirnames     Group       Name      Providename     Pubkeys
 Requireversion  Sigmd5       __db.000  __db.002  __db.004
Conflictname  Filedigests  Installtid  Packages  Provideversion  Requirename
 Sha1header      Triggername  __db.001  __db.003
[root at ns4 rpm]# rm -f __db.00*
[root at ns4 rpm]# rpm --rebuilddb
[root at ns4 rpm]# rpm -qa
[root at ns4 rpm]# ls -ltr
total 5920
-rw-r--r-- 1 7103 users   12288 Jul  2 17:01 Pubkeys
-rw-r--r-- 1 7103 users   12288 Jul  2 17:02 Conflictname
-rw-r--r-- 1 7103 users   12288 Jul  2 17:02 Triggername
-rw-r--r-- 1 7103 users 4526080 Jul  2 17:02 Packages
-rw-r--r-- 1 7103 users   12288 Jul  2 17:02 Name
-rw-r--r-- 1 7103 users  684032 Jul  2 17:02 Basenames
-rw-r--r-- 1 7103 users   12288 Jul  2 17:02 Group
-rw-r--r-- 1 7103 users   65536 Jul  2 17:02 Requirename
-rw-r--r-- 1 7103 users   86016 Jul  2 17:02 Providename
-rw-r--r-- 1 7103 users  118784 Jul  2 17:02 Dirnames
-rw-r--r-- 1 7103 users   45056 Jul  2 17:02 Requireversion
-rw-r--r-- 1 7103 users   32768 Jul  2 17:02 Provideversion
-rw-r--r-- 1 7103 users   12288 Jul  2 17:02 Installtid
-rw-r--r-- 1 7103 users   12288 Jul  2 17:02 Sigmd5
-rw-r--r-- 1 7103 users   24576 Jul  2 17:02 Sha1header
-rw-r--r-- 1 7103 users  684032 Jul  2 17:02 Filedigests


[root at core021 yum.repos.d]# rpm -qa
rpmdb: /var/lib/rpm/Packages: unsupported hash version: 9
error: cannot open Packages index using db3 - Invalid argument (22)
error: cannot open Packages database in /var/lib/rpm
rpmdb: /var/lib/rpm/Packages: unsupported hash version: 9
error: cannot open Packages database in /var/lib/rpm

On Fri, Jun 19, 2009 at 6:57 PM, Richard W.M. Jones <rjones at redhat.com>wrote:

> On Fri, Jun 19, 2009 at 05:44:52PM -0400, Christopher Johnston wrote:
> > Now to get this going for my testing I am comfortable using rootfs
> > (pivotroot and switchroot dont seem to work in nash).
> I'm a bit surprised about that, because obviously switchroot is used
> all the time in mkinitrd-built initrds, eg. look at the following
> lines in mkinitrd:
> emit "echo Switching to new root and running init."
> emit "switchroot"
> emit "echo Booting has failed."
> emit "sleep -1"
> When you say dont seem to work, is there any diagnostic?
> > What I have done in my testing here is generate a linuxrc which I posted.
>  I
> > attmpted to use bash instead of nash and have it just fork /sbin/init but
> > that also did not work (upstarts init does not seem to work well here).
> >
> > I looked over the script you are using here for your virtual machine, but
> > what are you actually doing to start init so the usual RC stuff can start
> > running?
> Well in the init script we use, we _don't_ run any rc stuff.  It's
> just for a small appliance, so we set up what we need (ifconfig lo and
> eth0), modprobe a few modules, and then run our daemon directly.
> Having said that, it should easily be possible to use febootstrap to
> run the ordinary scripts, but the problem probably isn't febootstrap,
> but some bug/difference/sensitivity in /init, nash, permissions etc.
> Is the upstart %post script failing?  febootstrap runs all %post
> scripts under fakeroot+fakechroot, and they can sometimes behave
> differently.
> Are you booting these on real hardware?  I suggest testing it under
> qemu - it's much more controllable, and allows you to test things
> faster.
> Rich.
> --
> Richard Jones, Emerging Technologies, Red Hat
> http://et.redhat.com/~rjones
> Read my programming blog: http://rwmj.wordpress.com
> Fedora now supports 75 OCaml packages (the OPEN alternative to F#)
> http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-virt/attachments/20090707/bfee0e2a/attachment.htm>

More information about the Fedora-virt mailing list