[分享]ubuntu 内核编译及其他 -- 先来的菜鸟给后来菜鸟的礼物
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- jeffwei
- 帖子: 1344
- 注册时间: 2007-05-12 22:48
[分享]ubuntu 内核编译及其他 -- 先来的菜鸟给后来菜鸟的礼物
首先安装对应CPU的ubuntu版本,我的是x86_64
插入盘启动,按F2选简体中文
建议安装时 /home /usr 单独分区
不会的就直接安装在一个区上 当然全盘也行
安装到83% 安装语言时跳过,安装完毕,选重启
进入系统后到kernel.org 下载核心 我的2.6.21.1
点击系统-系统管理-语言支持 花较长时间
安装两个文件后在chinese 后打勾 安装中文 花很长时间
趁这段时间打开 应用程序-附件-终端
输入 sudo passwd root
回车后要求输入你的密码
输入后回车
系统要求输入新的root 的密码
要求再输入一次验证
exit 回车关闭终端
打开系统-系统管理-登录窗口
输入密码(不是root的,是你的帐号的)
点击倒数第二标签-安全
在 “允许本地系统管理员登录” 前打勾
关闭
语言安装完后重启
以root登录
复制 linux-2.6.21.1.tar.bz2 到 /usr/src 右键解压缩到此处
打开应用程序-附件-终端
$表示命令输入要回车,就是一条命令
$apt-get install build-essential bin86 kernel-package
$apt-get install libqt3-headers libqt3-mt-dev
$apt-get install initrd-tools
这三个是安装需要的软件包,注意要要求输入y/n 选y
$cd /usr/src
$ln -s linux-2.6.21.1 l inux (注意各处空格 ,空几格都可以 )
$cd /linux
$make xconfig
回车后一会儿会弹出窗口要求配置内核 不懂的地方就默认吧,内容太多我说不清
配置完后点击保存,退出
提示: x表示图形窗口 config意思是配置, x和config之间无空格
$make bzImage bz 后的是大写i ,时间有点长
$make modules 时间有点长
$make modules_install
$cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.21.1
$cd /boot
$mkinitrd -o initrd.img-2.6.21.1 2.6.21.1 -后是小写字母0,第二个2.6.21.1不是多余的
打开/boot/grub的menu.lst
在
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,10)
kernel /vmlinuz-2.6.20-15-generic root=UUID=72a4be54-44aa-46ed-8dff-821347e4bac6 ro quiet splash locale=zh_CN
initrd /initrd.img-2.6.20-15-generic
quiet
savedefault
下面添加
title kernel-2.6.21.1
root (hd0,10)
kernel /vmlinuz-2.6.21.1
initrd /initrd.img-2.6.21.1
如果把
title kernel-2.6.21.1
root (hd0,10)
kernel /vmlinuz-2.6.21.1
initrd /initrd.img-2.6.21.1
和
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,10)
kernel /vmlinuz-2.6.20-15-generic root=UUID=72a4be54-44aa-46ed-8dff-821347e4bac6 ro quiet splash locale=zh_CN
initrd /initrd.img-2.6.20-15-generic
换位
自己编译的kernel-2.6.21.1核心就成为默认启动 一般自己编译的要稳定些
至此内核编译完成
建议在编译内核时在下载语言包
节省大量时间!
$apt-get install initrd-tools
命令失败的话就到新立得下载!
安装qq mplayer xmms bt 等可以打开 系统-系统管理-新立得软件包管理器
搜索eva mplayer xmms azureus 安装
至于realplayer
下载http://www.real.com/linux/
把RealPlayer10GOLD.bin复制到文件夹如/home
右键 属性 权限 执行 后打勾
在终端
$cd /home
$./RealPlayer10GOLD.bin 是点后一/ 点不能少
后面自己搞定,注意有一个是选择安装路径
建议在/usr/local 建一个文件夹real来安装 root才能在那里建立文件夹!
关于显卡驱动
自己下载驱动 在ATI NVIDIA官方下载
我的是集成的6100 驱动是NVIDIA-Linux-x86_64-1.0-9755-pkg2.run
在google输入linux nvidia 就第一个
下载到/home 改名nv.run
安装时就不用打长串的名字了
必须不启动X服务在文本界面下安装
ubuntu7.04没有inittab 我也没有找到传说中的 upstart
我是启动原带的第二个内核 ,
安装驱动后;inux-2.6.21.1就不能启动X
再启动linux-2.6.21.1安装驱动就ok了
以毒攻毒啊!!!!!!!!!!!
注意安装的英文提示、选择,不要搞错了!!!
有问题请跟帖。
欢迎指正!
插入盘启动,按F2选简体中文
建议安装时 /home /usr 单独分区
不会的就直接安装在一个区上 当然全盘也行
安装到83% 安装语言时跳过,安装完毕,选重启
进入系统后到kernel.org 下载核心 我的2.6.21.1
点击系统-系统管理-语言支持 花较长时间
安装两个文件后在chinese 后打勾 安装中文 花很长时间
趁这段时间打开 应用程序-附件-终端
输入 sudo passwd root
回车后要求输入你的密码
输入后回车
系统要求输入新的root 的密码
要求再输入一次验证
exit 回车关闭终端
打开系统-系统管理-登录窗口
输入密码(不是root的,是你的帐号的)
点击倒数第二标签-安全
在 “允许本地系统管理员登录” 前打勾
关闭
语言安装完后重启
以root登录
复制 linux-2.6.21.1.tar.bz2 到 /usr/src 右键解压缩到此处
打开应用程序-附件-终端
$表示命令输入要回车,就是一条命令
$apt-get install build-essential bin86 kernel-package
$apt-get install libqt3-headers libqt3-mt-dev
$apt-get install initrd-tools
这三个是安装需要的软件包,注意要要求输入y/n 选y
$cd /usr/src
$ln -s linux-2.6.21.1 l inux (注意各处空格 ,空几格都可以 )
$cd /linux
$make xconfig
回车后一会儿会弹出窗口要求配置内核 不懂的地方就默认吧,内容太多我说不清
配置完后点击保存,退出
提示: x表示图形窗口 config意思是配置, x和config之间无空格
$make bzImage bz 后的是大写i ,时间有点长
$make modules 时间有点长
$make modules_install
$cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.21.1
$cd /boot
$mkinitrd -o initrd.img-2.6.21.1 2.6.21.1 -后是小写字母0,第二个2.6.21.1不是多余的
打开/boot/grub的menu.lst
在
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,10)
kernel /vmlinuz-2.6.20-15-generic root=UUID=72a4be54-44aa-46ed-8dff-821347e4bac6 ro quiet splash locale=zh_CN
initrd /initrd.img-2.6.20-15-generic
quiet
savedefault
下面添加
title kernel-2.6.21.1
root (hd0,10)
kernel /vmlinuz-2.6.21.1
initrd /initrd.img-2.6.21.1
如果把
title kernel-2.6.21.1
root (hd0,10)
kernel /vmlinuz-2.6.21.1
initrd /initrd.img-2.6.21.1
和
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,10)
kernel /vmlinuz-2.6.20-15-generic root=UUID=72a4be54-44aa-46ed-8dff-821347e4bac6 ro quiet splash locale=zh_CN
initrd /initrd.img-2.6.20-15-generic
换位
自己编译的kernel-2.6.21.1核心就成为默认启动 一般自己编译的要稳定些
至此内核编译完成
建议在编译内核时在下载语言包
节省大量时间!
$apt-get install initrd-tools
命令失败的话就到新立得下载!
安装qq mplayer xmms bt 等可以打开 系统-系统管理-新立得软件包管理器
搜索eva mplayer xmms azureus 安装
至于realplayer
下载http://www.real.com/linux/
把RealPlayer10GOLD.bin复制到文件夹如/home
右键 属性 权限 执行 后打勾
在终端
$cd /home
$./RealPlayer10GOLD.bin 是点后一/ 点不能少
后面自己搞定,注意有一个是选择安装路径
建议在/usr/local 建一个文件夹real来安装 root才能在那里建立文件夹!
关于显卡驱动
自己下载驱动 在ATI NVIDIA官方下载
我的是集成的6100 驱动是NVIDIA-Linux-x86_64-1.0-9755-pkg2.run
在google输入linux nvidia 就第一个
下载到/home 改名nv.run
安装时就不用打长串的名字了
必须不启动X服务在文本界面下安装
ubuntu7.04没有inittab 我也没有找到传说中的 upstart
我是启动原带的第二个内核 ,
安装驱动后;inux-2.6.21.1就不能启动X
再启动linux-2.6.21.1安装驱动就ok了
以毒攻毒啊!!!!!!!!!!!
注意安装的英文提示、选择,不要搞错了!!!
有问题请跟帖。
欢迎指正!
- jeffwei
- 帖子: 1344
- 注册时间: 2007-05-12 22:48
顺便说一下
安装驱动后 系统-首选项-桌面特效
可以开启简单的XGL
更新:关闭gdm(gnome的图形界面管理器)或是kdm(kde的图形界面管理器)就可以进入纯文本模式了
再次更新:遇到kernel panic -not syncing:Apptemped to kill init 死机的解决:
在grub界面按e编辑启动设置,在kernel那行后面加 noapic就ok了
进入系统记得改/boot/grub/menu.lst
更新:学校断电闪坏系统文件,只好重装。备份/var/cache/apt文件夹后就不用再下载软件包了!
重装后用备份的覆盖apt就OK了!
重要更新:
initrd-tools 已经不能满足新的内核编译要求,会出现编译错误!
apt-get install initrd-tools 这条可以去掉,换成 apt-get install yaird
mkinitrd -o initrd.img-2.6.xx.x 2.6.xx.x 换成 yaird -o initrd.img-2.6.xx.x 2.6.xx.x
运行此命令前 复制config文件
cp /usr/src/linux-2.6.xx.x/arch/x86_64/defconfig /boot/config-2.6.xx.x
有人安装后更新系统出现failed to write cache,解决办法http://hi.baidu.com/yommc/blog/item/7f160f661584f526aa184ce5.html
可以直接复制下面的代码到终端就行了
sudo touch /usr/share/fonts
sudo touch /usr/share/fonts/X11
sudo touch /usr/share/fonts/X11/100dpi
sudo touch /usr/share/fonts/X11/75dpi
sudo touch /usr/share/fonts/X11/Type1
sudo touch /usr/share/fonts/X11/encodings
sudo touch /usr/share/fonts/X11/encodings/large
sudo touch /usr/share/fonts/X11/misc
sudo touch /usr/share/fonts/X11/util
sudo touch /usr/share/fonts/truetype
sudo touch /usr/share/fonts/truetype/arphic
sudo touch /usr/share/fonts/truetype/baekmuk
sudo touch /usr/share/fonts/truetype/freefont
sudo touch /usr/share/fonts/truetype/kochi
sudo touch /usr/share/fonts/truetype/openoffice
sudo touch /usr/share/fonts/truetype/thai
sudo touch /usr/share/fonts/truetype/ttf-arabeyes
sudo touch /usr/share/fonts/truetype/ttf-bengali-fonts
sudo touch /usr/share/fonts/truetype/ttf-bitstream-vera
sudo touch /usr/share/fonts/truetype/ttf-dejavu
sudo touch /usr/share/fonts/truetype/ttf-devanagari-fonts
sudo touch /usr/share/fonts/truetype/ttf-gentium
sudo touch /usr/share/fonts/truetype/ttf-gujarati-fonts
sudo touch /usr/share/fonts/truetype/ttf-kannada-fonts
sudo touch /usr/share/fonts/truetype/ttf-lao
sudo touch /usr/share/fonts/truetype/ttf-malayalam-fonts
sudo touch /usr/share/fonts/truetype/ttf-mgopen
sudo touch /usr/share/fonts/truetype/ttf-oriya-fonts
sudo touch /usr/share/fonts/truetype/ttf-punjabi-fonts
sudo touch /usr/share/fonts/truetype/ttf-tamil-fonts
sudo touch /usr/share/fonts/truetype/ttf-telugu-fonts
sudo touch /usr/share/fonts/type1
sudo touch /usr/share/fonts/type1/gsfonts
sudo touch /usr/share/X11/fonts
sudo touch /usr/share/X11/fonts/100dpi
sudo touch /usr/share/X11/fonts/75dpi
sudo touch /usr/share/X11/fonts/Type1
sudo touch /usr/share/X11/fonts/encodings
sudo touch /usr/share/X11/fonts/encodings/large
sudo touch /usr/share/X11/fonts/misc
sudo touch /usr/share/X11/fonts/util
sudo touch /usr/local/share/fonts
sudo touch /var/lib/defoma/fontconfig.d
sudo touch /var/lib/defoma/fontconfig.d/A
sudo touch /var/lib/defoma/fontconfig.d/B
sudo touch /var/lib/defoma/fontconfig.d/C
sudo touch /var/lib/defoma/fontconfig.d/D
sudo touch /var/lib/defoma/fontconfig.d/E
sudo touch /var/lib/defoma/fontconfig.d/F
sudo touch /var/lib/defoma/fontconfig.d/G
sudo touch /var/lib/defoma/fontconfig.d/H
sudo touch /var/lib/defoma/fontconfig.d/J
sudo touch /var/lib/defoma/fontconfig.d/K
sudo touch /var/lib/defoma/fontconfig.d/L
sudo touch /var/lib/defoma/fontconfig.d/M
sudo touch /var/lib/defoma/fontconfig.d/N
sudo touch /var/lib/defoma/fontconfig.d/O
sudo touch /var/lib/defoma/fontconfig.d/P
sudo touch /var/lib/defoma/fontconfig.d/R
sudo touch /var/lib/defoma/fontconfig.d/S
sudo touch /var/lib/defoma/fontconfig.d/T
sudo touch /var/lib/defoma/fontconfig.d/U
sudo touch /var/lib/defoma/fontconfig.d/V
sudo touch /var/lib/defoma/fontconfig.d/a
sudo touch /var/lib/defoma/fontconfig.d/j
sudo touch /var/lib/defoma/fontconfig.d/m
sudo touch /var/lib/defoma/fontconfig.d/u
还有楼下用make-kpkg命令的办法不错,很方便, 就是显卡驱动安装不了
安装驱动后 系统-首选项-桌面特效
可以开启简单的XGL
更新:关闭gdm(gnome的图形界面管理器)或是kdm(kde的图形界面管理器)就可以进入纯文本模式了
再次更新:遇到kernel panic -not syncing:Apptemped to kill init 死机的解决:
在grub界面按e编辑启动设置,在kernel那行后面加 noapic就ok了
进入系统记得改/boot/grub/menu.lst
更新:学校断电闪坏系统文件,只好重装。备份/var/cache/apt文件夹后就不用再下载软件包了!
重装后用备份的覆盖apt就OK了!
重要更新:
initrd-tools 已经不能满足新的内核编译要求,会出现编译错误!
apt-get install initrd-tools 这条可以去掉,换成 apt-get install yaird
mkinitrd -o initrd.img-2.6.xx.x 2.6.xx.x 换成 yaird -o initrd.img-2.6.xx.x 2.6.xx.x
运行此命令前 复制config文件
cp /usr/src/linux-2.6.xx.x/arch/x86_64/defconfig /boot/config-2.6.xx.x
有人安装后更新系统出现failed to write cache,解决办法http://hi.baidu.com/yommc/blog/item/7f160f661584f526aa184ce5.html
可以直接复制下面的代码到终端就行了
sudo touch /usr/share/fonts
sudo touch /usr/share/fonts/X11
sudo touch /usr/share/fonts/X11/100dpi
sudo touch /usr/share/fonts/X11/75dpi
sudo touch /usr/share/fonts/X11/Type1
sudo touch /usr/share/fonts/X11/encodings
sudo touch /usr/share/fonts/X11/encodings/large
sudo touch /usr/share/fonts/X11/misc
sudo touch /usr/share/fonts/X11/util
sudo touch /usr/share/fonts/truetype
sudo touch /usr/share/fonts/truetype/arphic
sudo touch /usr/share/fonts/truetype/baekmuk
sudo touch /usr/share/fonts/truetype/freefont
sudo touch /usr/share/fonts/truetype/kochi
sudo touch /usr/share/fonts/truetype/openoffice
sudo touch /usr/share/fonts/truetype/thai
sudo touch /usr/share/fonts/truetype/ttf-arabeyes
sudo touch /usr/share/fonts/truetype/ttf-bengali-fonts
sudo touch /usr/share/fonts/truetype/ttf-bitstream-vera
sudo touch /usr/share/fonts/truetype/ttf-dejavu
sudo touch /usr/share/fonts/truetype/ttf-devanagari-fonts
sudo touch /usr/share/fonts/truetype/ttf-gentium
sudo touch /usr/share/fonts/truetype/ttf-gujarati-fonts
sudo touch /usr/share/fonts/truetype/ttf-kannada-fonts
sudo touch /usr/share/fonts/truetype/ttf-lao
sudo touch /usr/share/fonts/truetype/ttf-malayalam-fonts
sudo touch /usr/share/fonts/truetype/ttf-mgopen
sudo touch /usr/share/fonts/truetype/ttf-oriya-fonts
sudo touch /usr/share/fonts/truetype/ttf-punjabi-fonts
sudo touch /usr/share/fonts/truetype/ttf-tamil-fonts
sudo touch /usr/share/fonts/truetype/ttf-telugu-fonts
sudo touch /usr/share/fonts/type1
sudo touch /usr/share/fonts/type1/gsfonts
sudo touch /usr/share/X11/fonts
sudo touch /usr/share/X11/fonts/100dpi
sudo touch /usr/share/X11/fonts/75dpi
sudo touch /usr/share/X11/fonts/Type1
sudo touch /usr/share/X11/fonts/encodings
sudo touch /usr/share/X11/fonts/encodings/large
sudo touch /usr/share/X11/fonts/misc
sudo touch /usr/share/X11/fonts/util
sudo touch /usr/local/share/fonts
sudo touch /var/lib/defoma/fontconfig.d
sudo touch /var/lib/defoma/fontconfig.d/A
sudo touch /var/lib/defoma/fontconfig.d/B
sudo touch /var/lib/defoma/fontconfig.d/C
sudo touch /var/lib/defoma/fontconfig.d/D
sudo touch /var/lib/defoma/fontconfig.d/E
sudo touch /var/lib/defoma/fontconfig.d/F
sudo touch /var/lib/defoma/fontconfig.d/G
sudo touch /var/lib/defoma/fontconfig.d/H
sudo touch /var/lib/defoma/fontconfig.d/J
sudo touch /var/lib/defoma/fontconfig.d/K
sudo touch /var/lib/defoma/fontconfig.d/L
sudo touch /var/lib/defoma/fontconfig.d/M
sudo touch /var/lib/defoma/fontconfig.d/N
sudo touch /var/lib/defoma/fontconfig.d/O
sudo touch /var/lib/defoma/fontconfig.d/P
sudo touch /var/lib/defoma/fontconfig.d/R
sudo touch /var/lib/defoma/fontconfig.d/S
sudo touch /var/lib/defoma/fontconfig.d/T
sudo touch /var/lib/defoma/fontconfig.d/U
sudo touch /var/lib/defoma/fontconfig.d/V
sudo touch /var/lib/defoma/fontconfig.d/a
sudo touch /var/lib/defoma/fontconfig.d/j
sudo touch /var/lib/defoma/fontconfig.d/m
sudo touch /var/lib/defoma/fontconfig.d/u
还有楼下用make-kpkg命令的办法不错,很方便, 就是显卡驱动安装不了
上次由 jeffwei 在 2007-09-18 16:57,总共编辑 7 次。
- xhy
- 帖子: 3916
- 注册时间: 2005-12-28 1:16
- 系统: Ubuntu 12.10 X64
- 来自: 火星
打开终端
sudo su -
mkdir src
cd src
tar jxvf 内核源码的路径以及文件名
cd linux<TAB补全>
make menuconfig && make -j3 && make modules_install && make install
编译后/boot下会增加三个文件
一个配置文件 config
一个内核镜像 vmlinuz.img
一个map文件 System.map
加起来一般是2M到3M
如果太大 很有可能是你配置内核的时候把用不着的东西也保留了
至于 grub.conf(menu.lst) 根本不用动它
不过我还是建议改成这样的形式
timeout 0
password --md5 $1$yr9zw1$dQcry7YM2ZWclbvWfTQyF/
title Linux AMD64
root (hd0,0)
kernel /vmlinuz noapic quiet root=/dev/sda6
#没错 这就是我的完整的grub配置文件
如果新内核和原来的内核版本相同
make install的时候会自动把 /boot 下的老内核在文件名后加.old
新内核则使用原来内核的文件名
不管怎样 只要vmlinuz和System.map这两个符号连接指向新内核就可以了
目前负债150多万
- jeffwei
- 帖子: 1344
- 注册时间: 2007-05-12 22:48
-
- 帖子: 1340
- 注册时间: 2006-01-10 19:09
- aitilang
- 帖子: 1026
- 注册时间: 2007-04-28 21:38
- xhy
- 帖子: 3916
- 注册时间: 2005-12-28 1:16
- 系统: Ubuntu 12.10 X64
- 来自: 火星