LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   getting mkinitramfs-0.9.11 installed. slackware 13 (http://www.linuxquestions.org/questions/slackware-14/getting-mkinitramfs-0-9-11-installed-slackware-13-a-766602/)

shadyboy 11-03-2009 05:51 PM

getting mkinitramfs-0.9.11 installed. slackware 13
 
So yeah, I am trying for my first time to upgrade / recompiling my kernel.

And I need to get mkinitramfs installed. Am trying to follow the instructions on :
http://www.linuxforums.org/articles/...ernel_272.html

and when I am running the configure file in the mkinitramfs folder i get this :

Quote:

bash-3.1# ./config
bash: ./config: No such file or directory
bash-3.1# ./configure
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for ldbash... /usr/bin/ldbash
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!
bash-3.1#
Thanks for any replies that this post might get in.

gnashley 11-04-2009 01:46 AM

You don't need that. Slackware has 'mkinitrd' for the purpose.

shadyboy 11-04-2009 06:14 AM

tnx ^^

tommcd 11-04-2009 09:25 AM

Here are 2 excellent resources for compiling a custom kernel for Slackware:
http://alien.slackbook.org/dokuwiki/...rnelbuilding&s[]=compile&s[]=kernel
http://www.linuxquestions.org/blog/s...are-13.0-2264/

ambius 04-21-2012 02:55 AM

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 (Post 3743257)
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.


All times are GMT -5. The time now is 04:09 PM.