信心严重受打击!有关grub的Splash
时间:2009-09-09
来源:互联网
想给grub启动界面加个图片,麻烦来了。先是按网上说的,自己制作了一张640*480的14色的xpm图片,再用gzip压缩为.xpm.gz,将该文件复制到/boot/grub目录下。再在menu.lst文件的timeout 10这一行下面加入:splashimage (hd0,2)/boot/grub/user.xpm.gz。重新启动,grub界面依然如故。
怀疑是自己图片有问题,下了几张ubuntu的.xpm.gz图片,试了下,无效。
后来又了解到官方的grub里没有splashimage功能,需要打补丁。
grub-0.97-graphics.patch这个补丁可真难找。下回来后,重新编译grub:
tar xvf grub-0.97.tar.gz
cd grub-0.97
patch -Np1 -i ../grub-0.97-graphics.patch
patch -Np1 -i ../grub-0.97-disk_geometry-1.patch
patch -Np1 -i ../grub-0.97-256byte_inode-1.patch
./configure --prefix=/usr
make CFLAGS="-march=i486 -mtune=native -Os"
make install
cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub
然后运行grub
root (hd0,1)
setup (hd0)
menu.lst文件内容如下:
default 0
timeout 10
splashimage (hd0,2)/boot/grub/user.xpm.gz
title LFS 6.5
root (hd0,2)
kernel /boot/lfskernel-2.6.30.2 root=/dev/hda2
唉,应该没什么问题呀。
就是不出来那图片。
又怀疑补丁安装次序有问题,将图片补丁装在lfs手册上补丁之后,问题依然。
心不有甘。真诚求助,望解惑!感谢!
同样的问题,在ubuntu上很快就解决了。
信心倍受摧残。
作者: cqlhj1971 发布时间: 2009-09-09
新编译的grub运行后,在它的命令行下,输入h,命令列表中根本没有splashimage。
而在弄成功的ubuntu中的grub命令列表中就有splashimage命令。
估计还是编译过程中的问题。
作者: cqlhj1971 发布时间: 2009-09-09
作者: d00m3d 发布时间: 2009-09-09
支持Jpeg或png, 全屏图像
我安装LFS的GRUB时, 发现传说中的GRUB2可以下载了, 毫不犹豫的扔掉GRUB选择了GRUB2..
作者: swordhui 发布时间: 2009-09-09
作者: d00m3d 发布时间: 2009-09-10
grub2 N年前已可用,不被大多数人支持只因其没有完全覆盖 grub 特性。
给 grub2 加密码的补丁已出现很多年,不知官方现在是否合并相关代码。
作者: 聚焦深空 发布时间: 2009-09-10
splashimage= (hd0,2)/boot/grub/user.xpm.gz
作者: 松心心 发布时间: 2009-09-10
我再试试。
作者: cqlhj1971 发布时间: 2009-09-10
作者: d00m3d
剑兄可说说用後感否?
|
对使用者来说, 最显著的变化是扇区号从1开始编起了, 这样和Linux分区的习惯一样, 不用象GRUB1那样, 要把Linux分区号减1.
另一个显著的变化就是.. 安装方法变了,配置语法变了
所幸编译简单, 只需要多加一个lzo包.
我的自动编译脚本... 可做编译时参考
#!/bin/bash
. functions_pub
PackageName=grub-1.96
PackageURL=ftp://alpha.gnu.org/gnu/grub/grub-1.96.tar.gz
case "${1}" in
download)
check_and_download $PackageURL
;;
build)
#step0: unpack.
unpack_and_enter $PackageName $PackageURL
#configure
./configure --prefix=/usr --sysconfdir=/etc
err_check "[Error] configure $PackageName failed."
#step4: make.
make
err_check "[Error] make $PackageName failed."
make check | tee /var/lfs/$PackageName-check
#step5: install.
make install
err_check "[Error] install $PackageName failed."
#leave directory.
package_leave $PackageName $PackageURL
;;
*)
exit 1
;;
esac
#end
LZO的:
#!/bin/bash
. functions_pub
PackageName=lzo-2.03
PackageURL=http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
case "${1}" in
download)
check_and_download $PackageURL
;;
build)
#step0: unpack.
unpack_and_enter $PackageName $PackageURL
#configure
./configure --prefix=/usr --sysconfdir=/etc\
--enable-shared
err_check "[Error] configure $PackageName failed."
#step4: make.
make
err_check "[Error] make $PackageName failed."
#step5: install.
make install
err_check "[Error] install $PackageName failed."
#leave directory.
package_leave $PackageName $PackageURL
;;
*)
exit 1
;;
esac
#end
先装LZO就可以.
编译安装后, 可以用grub-install安装到硬盘中, 这是一个自动化安装脚本, 理论上它会重写MBR, 将必要文件拷贝到/boot/grub, 并根据boot分区类型生成core.img, 然后将core.img写到0磁道.
core.img也可以自己生成, 必须包含 biosdisk模块, pc模块, 和ext2模块(如果用ext2/3)
biosdisk负责驱动磁盘读写.
pc模块负责解析MBR.
ext2模块负责找到其他模块的位置(boot/grub)
有一次..我忘了将biosdisk编入core.img, 结果.. 引导后找不到硬盘, 直接进入了应急Shell. 在应急Shell里也无法加载其他模块, 因为根本找不到硬盘.
另一个值得说的是, 我在不同CPU下, 编译core.img大小不同.
在公司的AMDCPU下, 28K
在我的T43下, 31K
core.img的大小非常重要.
作者: swordhui 发布时间: 2009-09-10
作者: 聚焦深空
剑兄可找到加启动密码的命令 或 模块?
grub2 N年前已可用,不被大多数人支持只因其没有完全覆盖 grub 特性。 给 grub2 加密码的补丁已出现很多年,不知官方现在是否合并相关代码。 |
防止别人在启动命令里加入 init=/bin/bash?
作者: swordhui 发布时间: 2009-09-10
看看这个会不会有所帮助?
作者: cityzz 发布时间: 2009-09-10
作者: d00m3d 发布时间: 2009-09-10
作者: pinkme005 发布时间: 2009-09-10
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28