[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[fedora-virt] Re: febootstrap question



Rich,

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?


CHROOT:
[root ns4 /]# cd /var/lib/rpm/
[root 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 ns4 rpm]# rm -f __db.00*
[root ns4 rpm]# rpm --rebuilddb
[root ns4 rpm]# rpm -qa
[root 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


BOOTED SYSTEM:

[root 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 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]