【2012.1.21更新编译安装linux-3.2内核】Ubuntu 11.10 安装配置手记--奖励原创,临时置顶。

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
duolon
帖子: 55
注册时间: 2008-11-10 19:12

【2012.1.21更新编译安装linux-3.2内核】Ubuntu 11.10 安装配置手记--奖励原创,临时置顶。

#1

帖子 duolon » 2012-01-03 13:02

Ubuntu 11.10 安装手记(含ati驱动,中文字体,编译ck内核)

【2012.1.21】4楼更新如何编译安装最新的3.2内核

1楼包含基本的系统安装与配置,含中文字体,硬件驱动,etc
2楼包含geek-oriented的方案,含开发环境,tex文档,软件工程画图,etc
3楼包含如何给源码打上ck补丁(bfs),然后配置编译,etc

一、本文背景

我是一个计算机类专业的学生,使用linux到现在也有几年了,一开始是觉得好玩,熟练了以后觉得linux能大大增加我的工作效率,所以一直使用到现在。我所用的电脑是ASUS K52Dr笔记本,3A平台,宿舍里使用ADSL+路由。本文记录我从安装Ubuntu 11.10后配置系统的步骤,包括硬件驱动、开发环境、文档解决方案等等(安装ati专有驱动,配置eclipse,安装LAMP,安装ipython+scipy+matplotlab,安装texlive2011,etc),所有内容都是我自己真机折腾过的,希望对同好者有所帮助。

二、安装系统与配置Unity

选择11.10的理由,一个是尝鲜,一个是有更好的硬件驱动支持。比如说,11.10下我笔记本的摄像头上下倒置的问题解决了,触摸板的Palm Proof功能也正常了。。

我选择英文版系统,因为这样在终端里就能 cd Downloads 而不是 cd 下载。并且在Unity桌面下,按 super (就是键盘上有win图标的键)后输入应用程序的前几个字母,自动查找相应应用的功能实在太方便了。Unity还不是很成熟,很多细节没做好,相应的插件也不是很丰富,但是Unity对于屏幕的利用率远远比gnome要好。

安装完系统以后要做几件事:配置触摸板、配置中文字体、安装输入法、安装笔记本电源管理、安装天气指示器。。

2.1 配置触摸板

我对比了11.10和11.04下触摸板的配置参数(synclient),貌似是一样的,可是在11.10下就明显感觉触摸板双击时间太短,拖拽功能不好用。解决办法是自己写配置文件,并且让系统登陆时自动加载此文件:

建立一个touchpad_config.sh文件,写入以下内容:

代码: 全选

synclient VertEdgeScroll=0 HorizTwoFingerScroll=1 AccelFactor=0.25 ClickFinger2=3 ClickFinger3=2 SingleTapTimeout=210 FastTaps=1 TapButton2=3 TapButton3=2 PalmDetect=1
以上是我的设置:双指滚动,水平滚动,手掌保护,双指右键。依据个人口味自行调整。

加上可执行mask:

代码: 全选

chmod +x touchpad_config.sh
自动执行此脚本:

代码: 全选

gsettings set org.gnome.settings-daemon.peripherals.input-devices hotplug-command "/path_to_the_file/touchpad_config.sh"
(也可以使用dconf以图形界面方式修改此设置)

详细内容请参考这里

2.2 安装新立得包管理器

安装新立得包管理器,此软件是神器,不知为何11.10默认竟然木有安装。 sudo apt-get install synaptic 。以后想使用的时候,按 super 输入 syn 第一个选项就是 synapitc,按回车就可以了。总计按5个按键就能调用,比以前鼠标移动指向菜单的方式快很多。

2.3 安装中文字体

在语言支持里(super 输入 lang,第一个就是language support),安装汉语,系统输入法选择ibus。

在新立得里搜索ttf,安装自己喜欢的字体。建议至少安装ttf-wqy-microhei, ttf-wqy-zenhei, ttf-dejavu。上wenquanyi视觉习惯 生成自己喜欢的配置文件,保存在 ~/.fonts.conf 里。我的方案为:
Sans -> 1 Dejavu Sans ; 2 WQY MicroHei
Serif -> 1 Dejavu Serif ; 2 WQY Zen Hei
Mono -> 1 Dejavu Sans Mono ; 2 WQY MicroHei Mono

保存完,登出再登入,恩,现在打开浏览器,网页的中文字体正常了。

2.4 配置输入法

安装ibus-sunpinyin,感觉比默认的pinyin好用很多。

这里讲了如何给sunpinyin添加超大词库,并且使用系统内存加速的方案,我电脑4G内存,果断用了。

2.5 安装指示器及电源管理

这里有一堆Unity能用的指示器,挑自己喜欢的装上吧。
我自己安装了天气指示器 weather-indicator 和系统指示器 indicator-sysmonitor。

这里介绍了一个电源管理工具jupiter,能够根据笔记本的状况自动调整电源计划,安装方法为:

代码: 全选

sudo add-apt-repository ppa:webupd8team/jupiter
sudo apt-get update
sudo apt-get install jupiter
这里介绍了如何调整unity上指示器的位置,具体方法为:

代码: 全选

mkdir -p ~/.local/share/indicators/application
cp /usr/share/indicator-application/ordering-override.keyfile ~/.local/share/indicators/application/
gedit ~/.local/share/indicators/application/ordering-override.keyfile
修改每一项的优先级,从右到左,第一项为1,以此类推。

修改完重新登陆就能看到效果了。

2.6 WebQQ解决方案

安装chromium浏览器,输入web.qq.com,然后 工具 => 创建快捷方式 => 应用程序菜单栏,这样在unity的左侧菜单栏就能看见webqq的快捷方式了。
这里详细讲了如何定制unity左侧启动器。

2.7 Adobe Flash Player

代码: 全选

sudo apt-get install adobe-flashplugin
直接安装源里的版本就好,做完2.3配置字体以后,没有出现中文方块的情况。

2.8 安装ATI显卡专有驱动catalyst

这一步仅使用ati显卡的同学需要做。
这里下载最新的驱动,然后

代码: 全选

sudo sh ./ati-driver-installer-11-12-x86.x86_64.run --buildpkg Ubuntu/oneiric
编译出deb包,接着

代码: 全选

sudo dpkg -i fglrx*.deb
安装编译出来的驱动。
在AMD控制中心,Display Option => Tear Free,选择Enable Tear Free Desktop,这样能够解决播放电影时图像水平撕裂的问题。

更详细的资料请参考这里

做完以上步骤,系统已经基本能用了,放上我的桌面大图。
Ubuntu 11.10 Unity 桌面截图
Ubuntu 11.10 Unity 桌面截图
上次由 duolon 在 2012-01-21 10:20,总共编辑 5 次。
duolon
帖子: 55
注册时间: 2008-11-10 19:12

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,编译ck内核)

#2

帖子 duolon » 2012-01-03 13:03

三、开发环境配置

3.1 安装集成开发环境eclipse
eclipse用习惯了,现在无论开发什么语言都用eclipse。
Eclipse官网下载最新的包。
下载哪个版本?有两种方案。
方案A:为每一种语言下载对应版本,比如开发C++就下载eclipse for c++。
方案B:下载Eclipse Classic,然后安装各种各样的插件。

3.1 Java开发环境
安装java development kit
sudo apt-get install openjdk-6-jdk
然后下载eclipse for java或者在eclipse平台里装上jdt。

3.2 C++开发环境
安装基本编译环境

代码: 全选

sudo apt-get install build-essential
然后下载eclipse for c++或者在eclipse平台里装上cdt。

3.3 Python开发环境
安装Eclipse的Pydev插件:
在eclipse里,点击 Help => Install New Software,加上
http://pydev.org/updates
然后按照提示安装pydev。
详细资料参考这里
建议安装上ipython, numpy, scipy, matplotlab等神器。

代码: 全选

sudo apt-get install ipython python-numpy python-scipy python-matplotlib
3.4 LAMP开发环境
安装Apache + MySql + PHP

代码: 全选

sudo apt-get install lamp-server^
注意最后的^符号哦。
中途会提示输入MySql的根密码。
装完在浏览器中输入 http://localhost 就能看到Apache服务器已经开始工作了。
开发环境方面,推荐使用eclipse,装上javascript\html\css\php\xml等插件。。

3.5 Eclipse中集成SVN
安装subversive:
在eclipse里,点击 Help => Install New Software,选择all available site,搜索subversive,装上。重启后要求选择链接方式,我选了svn kit 1.3.5。
详细资料参考这里
这样就能在eclipse直接使用svn对项目进行管理了。

四、文档解决方案
4.1 安装adobe reader

代码: 全选

sudo apt-get install acroread
关于中文字体的解决,有两种方案:
方案A:
参照我以前的帖子
这里进入Adobe官网,网页最下方Adds On下载字体包,简体中文:Adobe Reader 9.1 Font Packs - Chinese Simplified,解压后得到CHSKIT,执行:

代码: 全选

cd CHSKIT
sudo ./INSTALL
期间会有三次交互,
第一次:输入y表示你已经安装Adobe Reader 9.1以上版本
第二次:输入accept表示接受Adobe License
第三次:输入Adobe Reader安装路径,默认安装路径是/opt

方案2:
添加medibuntu:

代码: 全选

sudo -E wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update
sudo apt-get install app-install-data-medibuntu apport-hooks-medibuntu
安装acroread-fonts包:

代码: 全选

sudo apt-get install acroread-fonts
关于medibuntu,请参考这里

4.2 安装texlive环境
ubuntu自带了texlive2009,版本太老。
tug官网下载最新的镜像,得到texlive2011-20110705.iso。
将iso镜像挂载到 /mnt:

代码: 全选

sudo mount texlive2011-20110705.iso /mnt
进入 /mnt 文件:

代码: 全选

cd /mnt
执行安装程序

代码: 全选

sudo ./install-tl
详细资料参考这里
关于tex编辑器,我推荐gummi。
把我的tex模版贴一下:

代码: 全选

% 使用adobe字体
% 使用ctex的article类
% 修改段落样式与纸张边距
\documentclass[adobefonts,a4paper]{ctexart}
\usepackage[a4paper]{geometry}

\CTEXsetup[number={\chinese{section}},format={\Large \bfseries}]{section}

\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{标题} 
\chead{}
\rhead{作者名字} 

\usepackage{multirow}

\title{文章标题} 
\author{作者姓名}
\date{日期}
\begin{document}
\end{document}

4.3 计算机科学/软件工程画图的解决方案
GNUPlot,能用来画散点图柱状图折线图等等。
Graphviz,用来画拓扑关系比较明确的图形,如图论、树,等等。
推荐一个在线的工具https://www.lucidchart.com/,能用来画UML图,如用例图、组建图、状态图、类图、部署图、等等。
上次由 duolon 在 2012-01-03 20:28,总共编辑 3 次。
duolon
帖子: 55
注册时间: 2008-11-10 19:12

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,编译ck内核)

#3

帖子 duolon » 2012-01-03 15:36

五、编译内核,打ck补丁集(含bfs补丁)

为什么要自己编译内核呢?其实ubuntu源里自带的内核已经挺不错了。这个问题我想了很久,直到有一天在gentoo的文档里找到这么一句话:
there are a number of reasons why a large proportion of Gentoo users choose to configure their kernel manually: greater flexibility, smaller kernel, shorter compilation time, learning experience, severe boredom, etc.
大意是:
很多用户选择自己配置、编译内核,是为了更好的适应性、更小的内核、更短的编译时间,学习知识,或者只是寂寞了。

5.0、动手之前必须知道的一些事情

首先说明,我不懂linux内核,这里所记录的内容只是我自己折腾的过程,只是希望和同样爱折腾的同学分享,不保证按这些步骤做就能成功。我所用的电脑是ASUS K52Dr, AMD N830 + 785G + HD5470的配置,其他硬件环境请根据实际情况做定制修改。

ubuntu系统有多个内核存在,进grub的时候可以选择启动哪一个内核。就是说,即使失败了,只要没破坏其他文件,在进grub的时候选择原来的内核就能登陆系统,再删除掉自己编译的内核就可以了。

编译内核需要一定时间,时间长短视机器性能而定,一般需要30分钟到2个小时。这篇文章里说Intel i7-3960X CPU能在60秒以内编译完成。。。。

动手之前请先在网上查阅一些相关资料,如:
https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
https://help.ubuntu.com/community/Kernel/Compile
https://help.ubuntu.com/11.10/installat ... aking.html
http://ubuntuforums.org/showthread.php?t=1637004

5.1、下载内核源码
安装编译需要的包与源码

代码: 全选

sudo apt-get install kernel-package fakeroot build-essential ncurses-dev
sudo apt-get install linux-source
在家目录下建立src文件夹,并解压源码到这里:
注:ubuntu 11.10使用的是linux-3.0内核

代码: 全选

mkdir ~/src
cd ~/src
tar xjf /usr/src/linux-source-3.0.tar.bz2
在src下会有一个linux-source-3.0.0文件夹,里面就是linux内核代码啦

5.2、打上ck补丁
ck的个人网站上下载linux-3.0的补丁集。
解压后得到patch-3.0.0-ck1,复制到linux-source-3.0.0文件夹里。根据这里的讨论,把其中第807行从原来的:

代码: 全选

times->sum_exec_runtime += t->se.sum_exec_runtime;
改成

代码: 全选

times->sum_exec_runtime += task_sched_runtime(t);
然后执行在linux-source-3.0.0文件夹里执行:

代码: 全选

patch -p1 < patch-3.0.0-ck1
成功打上了ck的补丁。

5.3 配置内核

代码: 全选

make menuconfig
第一次调用会使用系统当前内核的配置,这是最保守、最不容易出错的方案。
中途有两次询问:
询问是否用BFS,选Yes
询问时钟频率,选300Hz
进入menuconfig界面,
在General Setup里,把Control Group Support关掉。
在Processor Type and Features里,把Preemption Model改成Preemptible Kernel (Low-Latency Desktop)。
在Processor Type and Features里,把Precessor Family里,改成自己的cpu家族。我的笔记本是AMD N830的cpu,所以就选了AMD K8。

在Processor Type and Features里,把Maximum number of CPUs改成自己的cpu核心数,我的AMD N830是3核,所以改成3。

5.4 开始编译

代码: 全选

CONCURRENCY_LEVEL=`getconf _NPROCESSORS_ONLN` nice fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
把其中的-custom改成自己想添加的内容,比如我就改成了我自己的id:--append-to-version=-duolon。然后,耐心等待。。
PS:睡觉前开始编译内核,睡醒内核就编译好啦~

5.5 安装新内核
在src文件夹下(与linux-source-3.0.0文件夹同一级),有
linux-headers-3.0.15-ck1-duolon_3.0.15-ck1-duolon-10.00.Custom_amd64.deb
linux-image-3.0.15-ck1-duolon_3.0.15-ck1-duolon-10.00.Custom_amd64.deb
两个deb包,就是我们刚刚编译出来的内核啦,安装方法为:

代码: 全选

sudo dpkg -i linux-*.deb
装完重启,在grub那里选择我们刚刚编译出来的内核。
重启后,输入

代码: 全选

uname -a
,看看我们刚刚编译出来的内核吧。
自己编译出来的内核
自己编译出来的内核
PS:使用ck补丁以后,明显感觉系统响应速度快了很多。

5.6 其他
可以自己根据lspci,lsmod得到的信息,详细调整内核的配置,这样能大幅缩小内核的体积,减少编译时间。

可以给内核打上更多的补丁,比如在这里可以找到ASPM的补丁。

可以使用make localmodconfig来自动地精简内核模块,在实验室07年的台式机(intel e2xxx 双核, 1G 内存)上肉测效果显著,让古董机焕发第二春。
duolon
帖子: 55
注册时间: 2008-11-10 19:12

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,编译ck内核)

#4

帖子 duolon » 2012-01-03 17:24

六、编译3.2内核,打上ck-3.2补丁

Release Announce 见这里

6.0、动手之前必须知道的一些事情

为什么要3.2内核?

3.2里改进了大量硬件驱动(显卡,网卡,etc)
ubuntu给3.2内核打了ASPM补丁。

有什么风险?

可能某些硬件不能正常工作,可能某些软件不能正常工作。

以下步骤是我真机(Asus-K52Dr)肉测通过才放上来的,新内核连续使用一周一切正常。但是不知道在其他硬件环境下是否正常。

直接下载deb包的方法见这里

6.1、下载内核源码及打上ubuntu、ck补丁

这里能找到ubuntu官方的最新内核代码(3.2.0-10.17),要下载两个包,linux_3.2.0.orig.tar.gz是linux原版代码,linux_3.2.0-10.17.diff.gz是ubuntu官方的内核修改补丁。

这里能下载到ck的3.2补丁集patch-3.2-ck1.bz2。

解压linux_3.2.0.orig.tar.gz得linux-3.2文件夹。
解压linux_3.2.0-10.17.diff.gz得linux_3.2.0-10.17.diff补丁文件。
解压patch-3.2-ck1.bz2得patch-3.2-ck1补丁文件。
将补丁文件复制到linux源码文件夹,打上补丁:

代码: 全选

patch -p1 < linux_3.2.0-10.17.diff
patch -p1 < patch-3.2-ck1
6.2、配置、编译及安装

参见本帖3楼内容。

6.3、使用感受

真机肉测一周,机器响应时间明显加快。 :em05
系统功耗略有减少。
上次由 duolon 在 2012-01-21 10:16,总共编辑 4 次。
namiheike
帖子: 37
注册时间: 2009-05-20 7:41

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#5

帖子 namiheike » 2012-01-08 16:53

orz。
话说3.2的话应该差不多吧?
duolon
帖子: 55
注册时间: 2008-11-10 19:12

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#6

帖子 duolon » 2012-01-08 23:41

namiheike 写了:orz。
话说3.2的话应该差不多吧?
以前10.04的时候试过升级高版本的内核,结果发现ati的专有驱动死活装不上。所以现在都没去尝试新内核了。
头像
kitps
帖子: 32
注册时间: 2010-03-16 18:44

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#8

帖子 kitps » 2012-01-12 22:38

:em11
多谢,学习了!
支持lz,追加更新!
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#11

帖子 YeLee » 2012-01-14 21:51

不错,支持一下。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#12

帖子 Cherrot » 2012-01-14 22:11

好东西就得顶呀 :em11
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
qxzr2005sdu
帖子: 29
注册时间: 2009-12-16 14:34

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#13

帖子 qxzr2005sdu » 2012-01-14 22:18

支持。。据说emacs很好。正在学习中。。eclisp装过。。没咋用过。。
头像
非猫琬猪
帖子: 18
注册时间: 2012-01-19 0:17

Re: Ubuntu 11.10 安装配置手记(含ati驱动,中文字体,打ck补丁编译内核)--奖励原创,临时置顶。

#14

帖子 非猫琬猪 » 2012-01-19 0:29

处女帖……原先的论坛用户名忘记了 好坑 好帖 慢慢学习 :em11
回复