vfat filesystem "fix" breaks rpm kernel install on ia64

Doug Chapman doug.chapman at hp.com
Fri Feb 29 03:00:32 UTC 2008


On Thu, 2008-02-28 at 16:03 -0500, Doug Chapman wrote:
> A recent kernel change has change the behavior of chmod on fat
> filesystems:
> 
> commit 19c561a60ffe52df88dd63de0bff480ca094efe4
> Author: Jan Engelhardt <jengelh at computergmbh.de>
> Date:   Wed Feb 6 01:36:08 2008 -0800
> 
>     fs/fat/: refine chmod checks
> 
> 
> After this change rpm installs of kernels fail on ia64.  This is because
> efi systems use vfat for the boot filesystem.  RPM installs fail because
> cpio gets a error on chmod (before this kernel change it would fail
> silently).
> 
> My suggestion was to have anaconda set the "quiet" option (which makes
> chmod failures silent) for /boot/efi in fstab however they disagree (see
> BZ 435319).
> 
> So, it seems like the options are: revert the patch (probably not a good
> idea) make "quiet" the default for fat filesystems, or, convince
> anaconda to add "quiet" to the fstab.  Or, hopefully someone else has a
> better idea.
> 
> thanks,
> 
> - Doug
> 

Actually I came up with what I think is a cleaner fix for this.  Since
the default file permission on files on vfat are 755 anyway if the
kernel is mode 755 rpm doesn't complain.

Anybody have thoughts on this specfile change?  I build this as a
scratch build on our ia64 koji server and it installs cleanly.

- Doug

*** kernel.spec.bad	2008-02-28 19:58:55.000000000 -0500
--- kernel.spec	2008-02-28 21:39:57.000000000 -0500
*************** BuildKernel() {
*** 1301,1306 ****
--- 1301,1310 ----
      $CopyKernel $KernelImage \
      		$RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
  
+ %ifarch ia64
+     chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
+ %endif
+ 
      mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
      make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
  %ifarch %{vdso_arches}





More information about the Fedora-kernel-list mailing list