Re: [iPAQ] How to add files to cramfs?

From: Peter Monta <pmonta.a.t.pmonta.com>
Date: Fri Aug 18 2000 - 17:35:45 EDT

> In other words, I want to modify a file that's in / and
> then flash that over to the iPaq.

You might want to check whether the file is in cramfs-2-34
or in the initrd. The startup scripts are in the initrd
for example. The initrd image is an ext2 filesystem, so any
Linux box can do

  # gunzip <initrd.gz >initrd
  # mount -o loop initrd /mnt
     (change things)
  # umount /mnt
  # gzip <initrd >initrd-new.gz

Now the same thing would work for cramfs or cramfs-usr if
you're running a 2.4.0pre kernel, but my desktop is running
2.2, so I resorted to copying over the uncompressed filesystems
from the iPAQ. It takes a fair bit of time over the serial
link. First NFS-export /foo on the desktop box, then

  ipaq# mount linuxbox:/foo /skiff (unused iPAQ directory as a mount point)
  ipaq# cp -a /usr /skiff/cramfs-usr-unpacked
  ipaq# mount -o ro /dev/flash4 /mnt (I think /dev/flash4 is the rootfs device)
  ipaq# cp -a /mnt /skiff/cramfs-unpacked

Then you can modify the trees and mkcramfs them back to
cramfs images. Running the i386 mkcramfs works fine;
there's a copy of mkcramfs.c in any 2.4.0pre kernel tree
under scripts/. If you've time to burn (or have a faster
link to the iPAQ, such as Ethernet or wireless), the arm mkcramfs
binary available in the v0.12 distribution directory should serve.

Cheers,
Peter Monta

ps: I put the i386 mkcramfs at "http://www.pmonta.com/handhelds/mkcramfs".
Received on Fri Aug 18 14:32:05 2000

This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:43:40 EDT