Re: "boot strapping" rpm usage on PowerPC Linux (vanilla) 2.6 built from s cratch

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

 



On Wed, 2004-10-20 at 00:41 +0000, Alexander Povolotsky wrote:
> Hi,
> 
> How to install first time the rpm management s/w on the PowerPC Linux (vanilla) 
> 2.6 disless embedded (without direct access to Internet) system, built from scratch ?

If it's a diskless system where is the storage - is it solid-state?  Do
you have it connected to a development host?  If so does the development
host have rpm on?  Without specific 

I think you can do the following assuming host == development host
target == embedded system.  I assume the development host is a linux
system same endian (probably another ppc box):

/ exported rw via nfs on host system to target.

Make mount point and local path to host rpmdb (rpmdb does not work over
nfs)
host# mkdir -p /target/root
host# mount target:/ /target/root
host# mkdir -p /target/root/var/lib/rpm
host# mkdir -p /target/rpmdb

Note UNTESTED other than an quick rpm -q over nfs with bind
mounted /var/lib/rpm on nfs path - I believe this should work

host# mount -o bind /target/rpmdb /target/root/var/lib/rpm
host# alias hrpm rpm --root /target/root

hrpm -ivh foo.rpm

Then you can install your packages as above, I assume you are using a
cut down distributions packages, or your own designed specifically for
your requirements.  Without specific details I can't recommend the exact
bootstrap procedure, see below for some hints.

> I was told to use 
> rpm2cpio {rpm,popt}-* | cpio -dim 
> 
> Do I need to install the popt package, rpm-build and/or rpm-python 
> (non-rpm ? - what? ) packages first - if needed how could I could check if those packages are installed already ?

You need popt, rpm uses it for option handling.

> I downloaded rpm-4.3.2-5.fc3.ppc.rpm package 
> and applied rpm2cpio {rpm,popt}-* | cpio -dim 
> It worked ( at least partially it did work for me - I got "rpm" 
> executable out of it ...?) without having "popt package" ?

What rpm2cpio are you using rpm2cpio.sh seems to only use the first
argument.

Try:

for pkg in rpm* popt* ; do pushd /; ( rpm2cpio $pkg | cpio -ivd ) ;
popd ; done

Another option is just to extract /usr/lib/rpm/rpmi which is statically
linked and  then use rpmi. 

Note for either of the above to work you'll have to install all the deps
and requirements expanded onto the embedded system too (beecrypt,
elfutils).
> 
>  but (rpm2cpio {rpm,popt}-* | cpio -dim)
> 
> did not extract librpm-4.3.so (or any other lib* ) out of 
> 
> rpm-libs-4.3.2-5.fc2.ppc.rpm 
> 
> ... is it really there ?
>  - any other alternative way to extract librpm-4.3.so ?

One at a time, see above. Other option is to build rpm on your host
system then start building your package tree.  

Look at /usr/lib/rpm/trpm for a script installing a root.

Look at the Core and Base groups in comps.xml for Red Hat/Fedora.  Look
at the anaconda customisation guides, etc for trimming ideas.

A sample lfs setup can be seen here:

http://linuxfromscratch.org/~scot/RPM/

Paul


_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux