Not trying to re-open a dead thread, however, just because it's slackware doesn't mean you shouldn't be able to use mkinitramfs. There's reasons why one might want to generate their initrd one way or the other. To keep things short and relevant:
Quote:
Originally Posted by shadyboy
checking whether `getopts' libbash library is listed... /usr/bin/ldbash: line 33: /usr/etc/ldbash.cache: No such file or directory
configure: error: getopts not found!
|
A little research reveals what ldbash.cache is:
/etc/ldbash.cache
Cache file that contains information about libraries dependencies and list of exported symbols. See ldbashconfig((8)) for further details.
This reveals that the reason that this error is probably being generated is because the cache file has no information about the 'getopts' function, which is a relatively standard c function. I can't remember if it's in libc or some extension of it, but most people likely have the library containing its definition somewhere.
The nice thing is, ldbashconfig can configure the cache file for you. Running it once should fix this error message.
Also, if you get any udevcontrol, udevsettle or similar issues, because of recent updates to the udev-tools suite, these programs have been intregrated under a single program, udevadm. So, create symlinks:
ln -s /sbin/udevadm /sbin/udevcontrol
ln -s /sbin/udevadm /sbin/udevsettle
...
Lastly, if you run into a vol_id error, this is because vol_id has been superceded by blkid in many distributions. Just apply the following patch to Makefile.in in the mkinitramfs (version 0.9.11) source:
Quote:
58c58
< SBINFILES="insmod,modprobe,udevcontrol,udevd,udevsettle,udevtrigger,vol_id"
---
> SBINFILES="insmod,modprobe,udevcontrol,udevd,udevsettle,udevtrigger,blkid"
225c225
< UUID=${UUID:-$(vol_id -u $IMAGEDIR/tmpnode)}
---
> UUID=${UUID:-$(blkid -s UUID $IMAGEDIR/tmpnode | awk '/UUID/ {print $2 "\n"}' | sed -e 's/UUID="//' -e 's/"$//')}
|
Just stick it all in a patch file and apply it.
Hope this helps.