Installing Gentoo Linux on Macbook Pro

那是公元某年某月某日,我开始在 MBP 上装 Gentoo……

其实不是个很简单的活,所以来记录下,没装过 Gentoo 的先回家去看安装手册(这不是 Linux 入门教程)

首先说一下配置,2008 年的 Macbook Pro 5,1,型号是 MB471LL/A,配置不一样的话底下的过程也酌情修改。

然后小补一点知识,Macbook Pro 没有 BIOS,而是采用了 EFI。因而也没有常用的分区表格式 MBR,而是采用了 GPT。GPT 传说中能放很多分区(而不是最多四个),fdisk 传说中不支持 GPT(不过好像有人用 fdisk 成功过)。

正式开始了:

  1. 说明一下,我要保留 Mac OS X,因为我觉得 Mac OS X 也很好用,呵呵。
  2. 事先准备好 Gentoo Minimal Install CD、stage3 和 snapshot 备用(直接用最新的 stage,我用的是 amd64 的 CD 和 stage)
  3. 在 Mac OS X 里安装 rEFIt
  4. 分区,这里我用 Mac OS X 自带的 Disk Utility,先 resize HFS+ 分区,给 Gentoo 留出空间,然后新建几个 FAT 分区,具体怎么分你自己定吧。
  5. 插入 Gentoo Minimal Install CD,重启,开机时按住 Option 键,等一会应该会出现一个光盘下面写着 Windows,不管它写的是什么了,从这个光盘启动。
  6. 启动之后,用 parted 改下分区表,把 FAT 改成 Linux 的分区(注意有一个大约 200MB 的 EFI 分区,不要搞掉),然后关机,开机(注意不要 reboot),进到 rEFIt 之后同步一下分区表。
  7. 再次从光盘启动,安装 Gentoo。
  8. 配内核的时候可以参考一下 Gentoo Linux Wiki
  9. make.conf 我是这样写的:

    CFLAGS="-O2 -march=core2 -pipe -msse4.1"
    CXXFLAGS="${CFLAGS}"
    MAKEOPTS="-j3"

  10. 装 Grub 的时候请注意,不要装到 /dev/sda,装到 /boot 的分区上吧。

鉴于 Macbook Pro 有很多诡异的设备,我们来说一下万恶的驱动:

  1. alsa 不出声

    alsa 编成模块,/etc/modprobe.d/alsa.conf 里面加一行

    options snd-hda-intel model=mbp3

    然后运行 update-modules。(via

  2. 触摸板无法使用
    2.6.29-r5 里不知道 bcm5974 还是 usbhid 有问题,反正是有问题,touchpad 没法正常工作,升级到 2.6.30-r4 后就正常了(2.6.28-r5 好像也正常),注意 2.6.30-r4 目前还是 ~amd,相应的,x11-drivers/nvidia-drivers 也要用 ~amd64 里的。

    bcm5974 还是很好的。

  3. 无线网卡的驱动

    portage 里面有,不过是 ~amd64 的,叫 net-wireless/broadcom-sta。

  4. 键盘背光

    portage 里有 app-laptop/macbook-backlight,用这个包就 OK 了。

写得不是很详细,有什么问题可以在下面留言或者 email 我,不过要先问 Google 和各大发行版的相关内容。

Tags:,,

Related Posts
Posted in Information Technology | Tagged , , | 6 Comments

《UNIX 实用教程》笔记

感觉这本书比较适合初学者,什么都不懂的也可以看,简单易懂,有的时候一样的话会重复很多遍……

推荐对 *nix 有兴趣或者有需求的人看下。

和以前一样,还是只记我不知道的。

  1. ls -l 第二列是链接数;
  2. 有 tee 这么个东西;(不知道的请自行查阅手册)
  3. ~jack 是 jack 的主目录;
  4. 命令行编辑(command-line editing)挺好玩,如果是 bash 和 vi,那么 set -o vi;
  5. 还有个东西叫 finger;
  6. ssh 里 ~? 能列出转义序列;
  7. 221 页 forwarded 翻译成前面了,应该是转发;

后面的 shell 脚本我只是略懂皮毛,awk 一窍不通,Perl 暂时没兴趣,C/C++ 基本略过,所以也没什么好写的了。

Tags:,

Related Posts
Posted in Information Technology | Tagged , | 2 Comments

祝福高考的同学们

收获的时候到了,大家加油吧,虽然参加高考的同学们现在应该看不到这些,但是还是祝你们成功!

放松心情,放手一博吧!

Tags:

Related Posts
Posted in life | Tagged | 1 Comment

开启 Comment Moderation

由于技术原因,需要开启 Comment Moderation,恢复时间不可预知。

Tags:,,

Related Posts
Posted in blogging | Tagged , , | 1 Comment

计算任意日期是星期几的方法──蔡勒公式(Zeller's congruence)

我们经常需要计算一个日期是星期几,比较好想的方法是知道一个日期是星期几(比如 1900 年 1 月 1 日是周一),然后一天一天地数……效率有点低,呵呵。改进一点可以一次数一个月或者数一年,不过貌似得用到什么偏移表什么的,不够麻烦的。

来,我们说说蔡勒公式。形式非常诡异和神奇:

[tex]$$dayOfWeek = \left(d + \left\lfloor\frac{26(m+1)}{10}\right\rfloor + y + \left\lfloor\frac{y}{4}\right\rfloor + 6 \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor\right) \mod 7$$[/tex]

这里我写的是一种比较适用于计算机计算的公式,其他的形式可以参看维基百科

上式中,y 是年份,m 是月份,d 是日期,dayOfWeek 就是星期几了(以 0 为星期六,1 为星期日,依此类推)。特别注意,如果月份是一月或者二月,要把它们当作上一年的十三月、十四月。

当然,这个公式只适用于格里历,很久以前的事它就管不了了。

Tags:

Related Posts
Posted in Information Technology | Tagged | 5 Comments