Chinaunix

标题: grub.cfg文件未能生成 [打印本页]

作者: mzh2100    时间: 2014-07-05 17:16
标题: grub.cfg文件未能生成
在升级kernel的时候,grub.cfg文件未生成,下面将源码和结果贴出来,求大神解答,谢谢!
kernel.spec中源码:
%define kernel_variant_post(v:r \
%{expand:%%kernel_devel_post %{?-v*}}\
%{expand:%%kernel_variant_posttrans %{?-v*}}\
%{expand:%%post %{?-v*}}\
%{-r:\
if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\
   [ -f /etc/sysconfig/kernel ]; then\
  /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\
fi\
}\
%{expand:\
/sbin/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --install %{KVERREL}%{?-v:.%{-v*}} || exit $?\
}\
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg > /dev/null 2>&1 </dev/null\
/usr/bin/find /boot/efi/EFI -name "*.cfg" | while read dir; do /usr/bin/sed -i "s/vmlinuz.*x86_64/vmlinuz-%{KVERREL}/g" $dir; done

%{nil}

执行结果为:
++ uname -i
++ uname -i
+ '[' x86_64 == x86_64 -o x86_64 == i386 ']'
+ '[' -f /etc/sysconfig/kernel ']'
+ /bin/sed -r -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel
+ /sbin/new-kernel-pkg --package kernel --install 3.14.0-12.1.lp22.x86_64
D: %post(kernel-3.14.0-12.1.lp22.x86_64): waitpid(4654) rc 4654 status 0

正确的结果应为:
++ uname -i
++ uname -i
+ '[' x86_64 == x86_64 -o x86_64 == i386 ']'
+ '[' -f /etc/sysconfig/kernel ']'
+ /bin/sed -r -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel
+ /sbin/new-kernel-pkg --package kernel --install 3.14.1-4.21.1.lp19.x86_64
+ /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
+ /usr/bin/find /boot/efi/EFI -name '*.cfg'
+ read dir

D: %post(kernel-3.14.1-4.21.1.lp19.x86_64): waitpid(30793) rc 30793 status 0

不知到为什么,求大神指导方向。如果能讲解上面脚本的意思更好,谢谢!

作者: humjb_1983    时间: 2014-07-05 22:27
/sbin/new-kernel-pkg
是因为这个执行失败了?可以把这句的结果或返回值打印出来看看~~
作者: mzh2100    时间: 2014-07-06 15:15
/sbin/new-kernel-pkg --package kernel --install 3.14.0-12.1.lp22.x86_64语句的返回值是0,相当奇葩!也相当无语!回复 2# humjb_1983


   
作者: mzh2100    时间: 2014-07-06 16:22
%{?-v:-%{-v*}}这一句是什么意思,有知道的吗?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2