Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124408
  • 博文数量: 35
  • 博客积分: 1672
  • 博客等级: 上尉
  • 技术积分: 412
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-19 15:16
文章分类

全部博文(35)

文章存档

2012年(5)

2011年(9)

2010年(21)

我的朋友

分类: LINUX

2012-03-25 13:50:29

    最近在把gentoo 弄上joggler。经过一个月周末的断断续续的折腾,终于装上好,wlan驱动也装上了。现在就差个openbox了。这个不急,有时间再搞,反正现在是可以用起来了。
先总结一下如何grub2引导efi。
 
首先,grub2安装到u盘。
1) 挂载u盘
sudo mkdir -p /media/u
sudo mount /dev/sdb1 /media/u
2) 安装
sudo grub-install --root-directory=/media/u /dev/sdb
grub2-mkconfig -o /boot/grub2/grub.cfg 扫描/boot下面的kernel文件生成grub.cfg文件
 
grub2命令 u盘引导livecd(ubuntu)
grub> root (hd0,3)
grub> loopback loop (hd0,3)/reset/mint/linuxmint-9-gnome-dvd-i386.iso
grub> linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/reset/mint/linuxmint-9-gnome-dvd-i386.iso
grub> initrd (loop)/casper/initrd.lz
grub> boot

注意:有的笔记本上的硬件很新,iso里的kernel识别不出,BIOS写的不好会hang住。两种方法1)acpi=off;2)升级BIOS
 
grub2定制内核
grub-mkimage -d . -o core.img part_msdos hfsplus fat ext2 normal sh chain boot configfile linux minicmd

你可以根据需要,自行增加或者减少模块,以上模块的作用是:
biosdisk: 使用INT 13来访问硬盘。你可以使用ata,它不需要通过INT 13,直接访问硬件。不过它的兼容性不是很好。
pc, gpt: 处理不同分区方式的模块。其它的还有apple, amiga, sun等。
iso9660 fat ntfs ext2:文件系统模块。grub2还可以把某些文档文件作为文件系统来访问,比如说cpio模块可以处理cpio和tar文件。
pxe:pxe虚拟文件系统模块,用于pxe启动。
core.img里只需要包含可以访问/boot/grub目录的模块就够了,其他的会在运行时自动加载。
grub-mkimage 还可以设置缺省目录。比如说,你想把文件放到/grub2而不是/boot/grub里,可以使用以下的命令:
grub-mkimage -d . -o core.img -p /grub2 biosdisk pc gpt iso9660 fat ntfs ext2 pxe 
 
grub2引导efi
1.编译grub.efi
grub的最新版本是1.98,官方下载地址如下:

输入:
 grub-1.98.tar.gz
 grub-gop-video-v1.patch
输出:
 grub.efi
编译步骤:
 tar zxvf ../grub-1.98.tar.gz
 cd grub-1.98
 patch -p1 < /home/jerry/Joggler/grub-gop-video-v1.patch
 ./configure --with-platform=efi --disable-werror
 make
 ./grub-mkimage -d . -o grub.efi part_msdos hfsplus fat ext2 normal sh chain boot configfile linux minicmd
注意的问题:
 对于gentoo直接emerge grub2就可以了加上(USE=" -grub_platforms_efi-32 -grub_platforms_efi-64")
 
测试:
 将编译生成的grub.efi放在U盘的第一个分区(vfat) /efi/grub/ 下
 grub.conf要和grub.efi在同一个目录
 set timeout=5
menuentry "hello gentoo" {
     set root=(hd0,1)
     linux /images/vmlinuz-2.6.33.4-1 root=/dev/sda2 ro acpi=force idle=halt
     initrd /images/initrd-Debian504
 }
/boot.nsh修改成:
 fs1:
 cd /efi/grub
 grub
 
grub2就到这里,有时间整理一下gentoo 安装在joggler的步骤
 
 
阅读(14204) | 评论(0) | 转发(1) |
0

上一篇:Ibuffer.el 的 使用

下一篇:gentoo 时间

给主人留下些什么吧!~~