Jack Holden wrote:
Dan wrote:
> Jack Holden wrote:
>> I am running FC5 with the 2.6.15-1.2054 kernel and mkinitrd-5.0.32.
>> When I try to create a new initrd, mkinitrd fails with the error:
>> /sbin/mkinitrd: line 975: initrd-2.6.15-1.2054_FC5.TEST.img
>> Permission denied
>> I've tried using different file names with the same result. I've
>> also tried when logged in as root from the initial login (boot level
>> 3) as well as via su from both the cli and xterm. Same thing. I've
>> also tried building the initrd in the /boot and /root directories.
>>
>> I believe that this is the version of mkinitrd that was included
>> with the installation. I have updated everything via yum update,
>> but I can't run the 2.6.16-2080 kernel yet (problem with dmraid). I
>> have the source packages for 2.6.15-2054 and 2.6.16-2080 installed.
>> I have successfully created initrd's before with this system, but I
>> can't remember if it was before or after yum update. (I think it
>> was after because it was an attempt to fix the dmraid problem with
>> 2.6.16-2080.)
>>
>> Can anyone suggest a fix or something to look at? I've looked at
>> mkinitrd and didn't see anything alarming about line 975. I
>> appreciate any advice.
>>
>> Thanks,
>> Jack Holden
>>
> Perhaps an SELinux issue. I don't know how to use it so check the
> vast numbers of posts on this list about fixing those issues. Look in
> your logs for avc denied messages.
> -Dan
>
The suggestions I've gotten so far:
1 - Is /boot mounted as read only?
I hate to admit this, but I don't set my systems up with separate
partitions. Everything is mounted under / (except SWAP). The file
system is mounted as read + write, and I've tried making the initrd in
/root and /boot with the same results.
2 - Could it be an SELinux problem?
It's possible. I'm not much of an SELinux expert. However, I
disabled SELinux during the initial installation, and I think it's
still disabled. I checked the config file in /etc/selinux and it
still appears to be disabled.
Is anyone else having this problem? TIA.
Thanks,
Jack Holden
Turns out this was a bone-head problem. I started digging around in the
mkinitrd script and realized that the script isn't path aware. Target
files like ./initrd.img are not created in the directory from which you
run the script. The script ends up in the /sys directory by the time it
finishes putting the image file together. Line 975 runs gzip on the
image (which is in /tmp). The script will fail if the target file
doesn't point it away from /sys. So, targets like /boot/initrd.img or
/root/initrd.img will work, but ones like initrd.img or ./initrd.img
will fail.
Thanks to everyone who suggested things to look at. I hope this is
helpful to someone else down the road.
Jack Holden