Skip to contentSkip to conversation

rpm for embedded system

DISCUSSION Stephen Williams 6 participants 9 messages Jul 7, 2004 – Jul 8, 2004

lore
Share & tools
lore
#0 lore raw

I'm using ELDK-3 from Denx for my ppc based board, which has disk space (in the form of a compact flash) that I want to manage using rpm. (I'd like to rpm install the eldk packages that I want on my target.)

So I'm looking for a cross-rpm howto. Seems like the ppc_4xx-rpm that comes with the ELDK gets me half way there.

--

Steve Williams                "The woods are lovely, dark and deep.
steve at XXXXXXXXXX           But I have promises to keep,
http://www.XXXXXXXXXX         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#1 lore raw
Quoted 7 lines · Stephen Williams

I'm using ELDK-3 from Denx for my ppc based board, which has disk space (in the form of a compact flash) that I want to manage using rpm. (I'd like to rpm install the eldk packages that I want on my target.)

So I'm looking for a cross-rpm howto. Seems like the ppc_4xx-rpm that comes with the ELDK gets me half way there.

Check http://www.denx.de/twiki/bin/view/DULG/ELDKRebuildingComponents

Wolfgang.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#2 lore raw

Wolfgang Grandegger wolfgang.grandegger-at-bluewin.ch |PPC Linux

Quoted 7 lines · Embedded|
Quoted 5 lines · Stephen Williams

I'm using ELDK-3 from Denx for my ppc based board, which has disk space (in the form of a compact flash) that I want to manage using rpm. (I'd like to rpm install the eldk packages that I want on my target.)

Quoted 6 lines
Quoted 2 lines

So I'm looking for a cross-rpm howto. Seems like the ppc_4xx-rpm that comes with the ELDK gets me half way there.

Check http://www.denx.de/twiki/bin/view/DULG/ELDKRebuildingComponents

Almost. That is instructions for remaking the ELDK packages from the src.rpms. But I want to take the existing binary rpms and install them on my owh root. This does *not* work:

  ppc_4xx-rpm --root=/mnt/flash foo.ppc.rpm

I want to do something like that with the packages, so that I can install individual existing ppc.rpm packages from the ELDK disk onyl by flash card.
--

Steve Williams                "The woods are lovely, dark and deep.
steve at XXXXXXXXXX           But I have promises to keep,
http://www.XXXXXXXXXX         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#3 lore raw
Quoted 20 lines · Stephen Williams

Wolfgang Grandegger wolfgang.grandegger-at-bluewin.ch |PPC Linux

Quoted 7 lines · Embedded|
Quoted 5 lines · Stephen Williams

I'm using ELDK-3 from Denx for my ppc based board, which has disk space (in the form of a compact flash) that I want to manage using rpm. (I'd like to rpm install the eldk packages that I want on my target.)

Quoted 6 lines
Quoted 2 lines

So I'm looking for a cross-rpm howto. Seems like the ppc_4xx-rpm that comes with the ELDK gets me half way there.

Check http://www.denx.de/twiki/bin/view/DULG/ELDKRebuildingComponents

Almost. That is instructions for remaking the ELDK packages from the src.rpms. But I want to take the existing binary rpms and install them on my owh root. This does *not* work:

Quoted 5 lines
   ppc_4xx-rpm --root=/mnt/flash foo.ppc.rpm

I want to do something like that with the packages, so that I can install individual existing ppc.rpm packages from the ELDK disk onyl by flash card.

Hm, have a look to the ELDK CDROM, especially check the ".list" files in /mnt/cdrom/etc. They actually define the packages to be installed. You might copy parts of the tree to disk and tailor the list files according to your needs. Then you should be able to install the RPM packages with the "install" utility as usual. Nevertheless, a root file system built this way is very large, too large for most embedded systems.

Wolfgang.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#4 lore raw

Wolfgang Grandegger wolfgang.grandegger-at-bluewin.ch |PPC Linux

Quoted 11 lines · Embedded|
Quoted 9 lines

Almost. That is instructions for remaking the ELDK packages from the src.rpms. But I want to take the existing binary rpms and install them on my owh root. This does *not* work:

  ppc_4xx-rpm --root=/mnt/flash foo.ppc.rpm

I want to do something like that with the packages, so that I can install individual existing ppc.rpm packages from the ELDK disk onyl by flash card.

Quoted 6 lines

Hm, have a look to the ELDK CDROM, especially check the ".list" files in /mnt/cdrom/etc. They actually define the packages to be installed. You might copy parts of the tree to disk and tailor the list files according to your needs. Then you should be able to install the RPM packages with the "install" utility as usual. Nevertheless, a root file system built this way is very large, too large for most embedded systems.

Indeed, I really only want 3 or 4 rpms (glibc, e2fsprogs, maybe a few others) and a few rpms of my own.

It would be ideal to be able to do something like:

   rpm --root=/mnt/flash --initdb
   rpm --root=/mnt/flash -ivh glibc-common-X.ppc.rpm
   rpm --root=/mnt/flash -ivh e2fsprogs-X.ppc.rpm
   rpm --root=/mnt/flash -ivh my-jse-initscripts-X.ppc.rpm

and so on. (As an aside, I may be wanting to allow for running rpm on the target device itself to update in the field. Getting fancy, eh?)

--

Steve Williams                "The woods are lovely, dark and deep.
steve at XXXXXXXXXX           But I have promises to keep,
http://www.XXXXXXXXXX         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#5 lore raw
Quoted 10 lines · In message <[email protected]> you wrote:

Indeed, I really only want 3 or 4 rpms (glibc, e2fsprogs, maybe a few others) and a few rpms of my own.

It would be ideal to be able to do something like:

    rpm --root=/mnt/flash --initdb
    rpm --root=/mnt/flash -ivh glibc-common-X.ppc.rpm
    rpm --root=/mnt/flash -ivh e2fsprogs-X.ppc.rpm
    rpm --root=/mnt/flash -ivh my-jse-initscripts-X.ppc.rpm

You don't really want to do that. The standard RPM's include a lot of stuff that are just a waste of resources on the embedded system - things like man pages, info pages, debug and profiling versions of the system libraries etc. You will just waste tens and tens of mega- bytes in your root filesystem.

If you need package management on the target, the RPM is not the right tool. And if you really want to use RPM, then you must create customized RPMs first.

Quoted 3 lines

and so on. (As an aside, I may be wanting to allow for running rpm on the target device itself to update in the field. Getting fancy, eh?)

I think there are leaner and better ways to do this than using RPM. While technically possible, it is most probably not the optimal solution for your problem.

Best regards,

Wolfgang Denk

--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: [email protected] A supercomputer is a machine that runs an endless loop in 2 seconds.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#6 lore raw
In reply to Stephen Williams
Quoted 9 lines · Stephen Williams

Indeed, I really only want 3 or 4 rpms (glibc, e2fsprogs, maybe a few others) and a few rpms of my own.

It would be ideal to be able to do something like:

  rpm --root=/mnt/flash --initdb
  rpm --root=/mnt/flash -ivh glibc-common-X.ppc.rpm
  rpm --root=/mnt/flash -ivh e2fsprogs-X.ppc.rpm
  rpm --root=/mnt/flash -ivh my-jse-initscripts-X.ppc.rpm

that's a lot of unnecessary overhead for an embedded system. if i want to add an extra program or two, i just grab the binary from the ELDK distribution.

if it's a package that's not part of ELDK, i download the src rpm from yellow dog and use ELDK to cross-compile it, then repeat step 1. rpm really is overkill for an embedded system.

rday

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#7 lore raw
Quoted 4 lines

if it's a package that's not part of ELDK, i download the src rpm from yellow dog and use ELDK to cross-compile it, then repeat step 1. rpm really is overkill for an embedded system.

emdebian is trying to get the crud out of the default gpp debian packages and provide a nice packet way to compose an embedded system. I am currently considering this to replace the MVL solution we have now; especially since they seem to be 'open' (not free, that's not the most important issue here) on the surface.

I haven't had the time to really investigate the option though, nor have I found decent documentation for e.g. ppc_82xx builds.

http://www.emdebian.org/

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#8 lore raw
In reply to Stephen Williams

Hi,

we are using the ipkg package management system, which is well suited for embedded systems as it doesn't need much overhead on the system. A database is used which takes a few kBytes (depending on the number of packages installed) and the ipkg binary itself takes about 120kB on our PPC405 based system. Furthermore, the package format is easy to understand (it is derived from debian package format) and ipkg packages are easy to build.

For more detail, see

http://www.handhelds.org/z/wiki/BuildingIpkgs
http://www.handhelds.org/z/wiki/iPKG

There are more leightweight package management systems available, see

http://www.movial.fi/client-data/file/movial_package_management.pdf

Best regards,

Thomas Schafer

Quoted 15 lines

-----Ursprungliche Nachricht-----
Von: [email protected] [mailto:[email protected]]Im Auftrag von Stephen Williams
Gesendet: Mittwoch, 7. Juli 2004 21:11
An: [email protected]
Betreff: rpm for embedded system

I'm using ELDK-3 from Denx for my ppc based board, which has disk space (in the form of a compact flash) that I want to manage using rpm. (I'd like to rpm install the eldk packages that I want on my target.)

Quoted 12 lines

So I'm looking for a cross-rpm howto. Seems like the ppc_4xx-rpm that comes with the ELDK gets me half way there.

--

Steve Williams                "The woods are lovely, dark and deep.
steve at XXXXXXXXXX           But I have promises to keep,
http://www.XXXXXXXXXX         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/