Archive

Posts Tagged ‘Ubuntu’

[Kernel] Debian-ubuntu-kernel-install

November 18th, 2009 BianJiang No comments

第一步 安装必要的工具

首先要安装必要的包。
包有:libncurses5-devmenuconfig需要的)和essential

sudo apt-get install build-essential kernel-package
sudo apt-get install make
sudo apt-get install gcc

另外,查看系统是否有这样的两个命令

mkinitramfs mkisofs

这两个工具在编译内核时用来生成 *.img文件的。如果没有就需安装。

第二步 下载内核

www.kernel.org下载新内核到/usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.bz2

我下载的是linux-2.6.30.5.tar.bz2(原来的内核是2.6.24-24-generic)

第三步 编译前的准备

察看当前内核的版本

border@ubuntu:/usr/src$ uname -a
Linux ubuntu 2.6.24-24-generic #1 SMP Tue Jun 30 20:28:53 UTC 2009 i686 GNU/Linux

建议最好下载比当前已安装版本高的内核

解压linux-2.6.30.5.tar.gzlinux-2.6.30.5

cd /usr/src
sudo tar xjvf linux-2.6.30.5.tar.bz2
cd linux-2.6.30.5/


第四步 开始编译

cd /usr/src/linux-2.6.30.5/ //以下所有的工作都在/usr/src/linux-2.6.30.5/下完成

sudo make menuconfig  //menuconfig的话还需要Ncurses,或者用
sudo make xconfig
sudo make menuconfig  //一般是用menuconfig

配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux-2.6.30.5下名为.config,你也可以自己在别的地方另存一份)
也可以cp原来在/boot目录下的config-2.6.xx 到当前目录下,在make menuconfig是使用这个配置文件。

sudo make clean //清除旧数据 ,新解压的内核源码就不需要这一步了
sudo make –j4 可以分四个线程来进行编译工作
sudo make bzImage //编译内核,将保存到/usr/src/linux-2.6.30.5/arch/i386/boot/
sudo make modules //编译模块
sudo make modules_install //安装模块,执行完后会显示DEPMOD 2.6.30.5
sudo mkinitramfs -o /boot/initrd.img-2.6.30.5 2.6.30.5      // 2.6.30.5为modules_install 执行完成后显示的DEPMOD 2.6.30.5, 注意: 2.6.30.5 前面有空格
sudo make install //安装内核

如果你想把编译的结果打包为Deb包,可以参考这里 和 这里 .

sudo make-kpkg clean
sudo make-kpkg –revision eee701 kernel_image
sudo dpkg -i linux-image-2.6.30_eee701_i386.deb

安装完后/boot下将增加以下几个文件(用ls -l *30*查看)

border@ubuntu:/boot$ ls -l *30*
-rw-r–r– 1 root root   96237 2009-08-25 17:41 config-2.6.30.5
-rw-r–r– 1 root root 7896051 2009-08-25 17:38 initrd.img-2.6.30.5
-rw-r–r– 1 root root 1095789 2009-08-25 17:41 System.map-2.6.30.5
-rw-r–r– 1 root root 2324720 2009-08-25 17:41 vmlinuz-2.6.30.5

/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字

title           Ubuntu kernel 2.6.30.5
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.30.5 vga=794 root=/dev/sda1 ro
initrd          /boot/initrd.img-2.6.30.5
quiet


ps: 上面在kernel一行后面的 “
vga=794 root=/dev/sda1 ro” 是从你之前的启动项取得的。
重新启动即可。

参考:
1.   http://ubuntuforums.org/showthread.php?t=311158
2.   “creating a kernel 2.6.30 deb file” http://www.naumann.cc/?p=107


Bian Jiang
Blog:  http://www.wifihack.net/

Categories: Kernel Tags: , , ,

Sub-Process /usr/bin/dpkg returned an error code (1)

August 19th, 2008 BianJiang 2 comments

一、 发现deb包依赖关系错误:

border@b0rder:~$  sudo apt-get install -f
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
已经不需要下列自动安装的软件包:
  liberror-perl libdigest-sha1-perl
使用 'apt-get autoremove' 来删除它们。
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
有 6 个软件包没有被完全安装或卸载。
操作完成后,会消耗掉 0B 的额外磁盘空间。
正在设置 flex (2.5.34-2.1) ...
install-info:不能识别的选项“--description=A fast scanner generator”
        试用“install-info --help”以获得选项的完整列表。
dpkg:处理 flex (--configure)时出错:
 子进程 post-installation script 返回了错误号 1
正在设置 cvs (1:1.12.13-9) ...
install-info: 没有指定目录文件;试用 --help 以获得更多信息。
dpkg:处理 cvs (--configure)时出错:
 子进程 post-installation script 返回了错误号 1
正在设置 libidn11-dev (1.1-1) ...
install-info: 没有指定目录文件;试用 --help 以获得更多信息。
dpkg:处理 libidn11-dev (--configure)时出错:
 子进程 post-installation script 返回了错误号 1
正在设置 comerr-dev (2.1-1.40.8-2ubuntu2) ...
install-info: 没有指定目录文件;试用 --help 以获得更多信息。
dpkg:处理 comerr-dev (--configure)时出错:
 子进程 post-installation script 返回了错误号 1
dpkg:依赖关系问题使得 libkrb5-dev 的配置工作不能继续:
 libkrb5-dev 依赖于 comerr-dev;然而:
  软件包 comerr-dev 还没有被配置。
dpkg:处理 libkrb5-dev (--configure)时出错:
 依赖关系问题 - 仍未被配置
dpkg:依赖关系问题使得 libcurl4-gnutls-dev 的配置工作不能继续:
 libcurl4-gnutls-dev 依赖于 libidn11-dev;然而:
  软件包 libidn11-dev 还没有被配置。
 libcurl4-gnutls-dev 依赖于 libkrb5-dev | hurd;然而:
  软件包 libkrb5-dev 还没有被配置。
  未曾安装软件包“hurd”。
dpkg:处理 libcurl4-gnutls-dev (--configure)时出错:
 依赖关系问题 - 仍未被配置
在处理时有错误发生:
 flex
 cvs
 libidn11-dev
 comerr-dev
 libkrb5-dev
 libcurl4-gnutls-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)

二、 删除已经安装错误包的文件:

通过dpkg -L 来查看已经安装的文件, 已flex为例:

border@b0rder:~$ dpkg -L flex
/.
/usr
/usr/bin
/usr/bin/flex
/usr/lib
/usr/lib/libfl.a
/usr/lib/libfl_pic.a
/usr/lib/libfl.so
/usr/share
/usr/share/info
/usr/share/info/flex.info-2.gz
/usr/share/info/flex.info.gz
/usr/share/info/flex.info-1.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/flex.1.gz
/usr/share/doc
/usr/share/doc/flex
/usr/share/doc/flex/NEWS.Debian.gz
/usr/share/doc/flex/NEWS.gz
/usr/share/doc/flex/changelog.Debian.gz
/usr/share/doc/flex/copyright
/usr/share/doc/flex/README.gz
/usr/share/doc/flex/README.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/flex
/usr/include
/usr/include/FlexLexer.h
/usr/bin/flex++
/usr/bin/lex
/usr/lib/libl.a
/usr/share/man/man1/lex.1.gz
/usr/share/man/man1/flex++.1.gz
/usr/share/doc/flex/changelog.gz

把要删除的文件导入文件中,做成删除脚步:

border@b0rder:~$ dpkg -L flex > flex
 通过vim 在每一行前加 "rm "
border@b0rder:~$ chmod a+x flex
border@b0rder:~$ sudo ./flex

三、 删除dpkg info 信息:

border@b0rder:~$ cd /var/lib/dpkg/info
border@b0rder:/var/lib/dpkg/info$ sudo rm flex.*

四、 卸载flex:

border@b0rder:/var/lib/dpkg/info$ sudo apt-get remove flex

五、再执行 sudo apt-get install -f,flex依赖问题解决。其他的一览关系参考二,三,四 步。

六、参考

– EOF –

Categories: Tech.Notes Tags: , , ,

VIA P4M890 install openchrome

July 23rd, 2008 BianJiang No comments

把系统升级到ubuntu 8.04 后分辨率变为800*600, Google找到开源的OpenChrome驱动支持P4M890, 就自己手动编译:

border@b0rder:~$ wget http://openchrome.org/releases/xf86-video-openchrome-0.2.902.tar.gz
border@b0rder:~$ tar xvzf xf86-video-openchrome-0.2.902.tar.gz
sudo apt-get build-dep xserver-xorg-driver-via   或者安装 sudo apt-get build-dep  xserver-xorg-video-openchrome
cd xf86-video-openchrome-0.2.902/
./configure --prefix=/usr
make
sudo make install
border@b0rder:~$ sudo displayconfig-gtk
通过displayconfig-gtk 选择openchrome驱动重新启动系统就可以

硬件信息:

border@b0rder:~/tools$ lspci
00:00.0 Host bridge: VIA Technologies, Inc. P4M890 Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. P4M890 Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. P4M890 Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. P4M890 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. P4M890 Host Bridge
00:00.5 PIC: VIA Technologies, Inc. P4M890 I/O APIC Interrupt Controller
00:00.6 Host bridge: VIA Technologies, Inc. P4M890 Security Device
00:00.7 Host bridge: VIA Technologies, Inc. P4M890 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:02.0 PCI bridge: VIA Technologies, Inc. P4M890 PCI to PCI Bridge Controller
00:03.0 PCI bridge: VIA Technologies, Inc. P4M890 PCI to PCI Bridge Controller
00:0f.0 IDE interface: VIA Technologies, Inc. VT8237A SATA 2-Port Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 07)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237A PCI to ISA Bridge
00:11.7 Host bridge: VIA Technologies, Inc. VT8251 Ultra VLINK Controller
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c)
00:13.0 PCI bridge: VIA Technologies, Inc. VT8237A Host Bridge
01:00.0 VGA compatible controller: VIA Technologies, Inc. UniChrome Pro IGP [VIA P4M890 Chipset] (rev 01)
04:01.0 Audio device: VIA Technologies, Inc. VIA High Definition Audio Controller (rev 10)
参考资料:

–EOF–

Categories: OpenSource Tags: , , , , ,

Install Trac and svn on ubuntu

July 15th, 2008 BianJiang 2 comments

Install Python2.5:

border@ubuntu:/bvcomsvn/svnrepos$ sudo apt-get install python

Install Apache(如果没有必要可以不用安装):

border@ubuntu:/bvcomsvn/svnrepos$ sudo apt-get install apache2
border@ubuntu:~$ sudo apt-get install libapache2-mod-python

Install Genshi:

border@ubuntu:~/tools$ wget http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1.tar.gz
border@ubuntu:~/tools$ tar xfv Genshi-0.5.1.tar.gz
border@ubuntu:~/tools$ cd Genshi-0.5.1/
border@ubuntu:~/tools/Genshi-0.5.1$ sudo python setup.py install

Install Easy Install:

border@ubuntu:~/tools$ wget http://peak.telecommunity.com/dist/ez_setup.py
border@ubuntu:~/tools$ sudo python ez_setup.py

Install Trac:

border@ubuntu:~/tools$ svn checkout http://svn.edgewall.org/repos/trac/trunk trac
border@ubuntu:~/tools$ cd trac/
border@ubuntu:~/tools/trac$ sudo python setup.py install

Trac 和 Subversion 数据同步(http://trac.edgewall.org/wiki/TracSubversion):

border@ubuntu:/bvcomsvn/trac$ sudo apt-get install python-subversion

The Trac Environment ( http://trac.edgewall.org/wiki/TracEnvironment ):

border@ubuntu:/bvcomsvn$ trac-admin /bvcomsvn/trac/web2.0 initenv

设置用户权限:
linux 中使用 htdigest 创建用户,Windows 中使用 trac-digest.py(如果你没有安装Apache你可以自己创建
trac-digest.py脚本来增加用户,参考: http://trac.edgewall.org/wiki/TracStandalone )

border@ubuntu:~$ htdigest -c /bvcomsvn/tracs/web2.0/passwd.digest localhost border
border@ubuntu:~$ htdigest /bvcomsvn/tracs/web2.0/passwd.digest localhost bvcom

border@ubuntu:~$ trac-admin /bvcomsvn/tracs/web2.0/ permission add admin TRAC_ADMIN
border@ubuntu:~$ trac-admin /bvcomsvn/tracs/web2.0/ permission add developer TICKET_ADMIN

border@ubuntu:~$ trac-admin /bvcomsvn/tracs/web2.0/ permission add border admin
border@ubuntu:~$ trac-admin /bvcomsvn/tracs/web2.0/ permission add bvcom developer

border@ubuntu:~$ trac-admin /bvcomsvn/tracs/web2.0/ permission remove anonymous TICKET_CREATE
border@ubuntu:~$ trac-admin /bvcomsvn/tracs/web2.0/ permission remove anonymous TICKET_MODIFY

运行Trac:
没有用户验证:

tracd -p 8000 /bvcomsvn/trac/
有用户验证:
border@ubuntu:~$ tracd -p 8000 --auth=web2.0,/bvcomsvn/tracs/web2.0/passwd.digest,localhost /bvcomsvn/tracs/web2.0/

trac-digest.py脚本:

#!/usr/bin/python
# -*- mode: utf8-unix -*-

from optparse import OptionParser
# The md5 module is deprecated in Python 2.5
try:
    from hashlib import md5
except ImportError:
    from md5 import md5
realm = 'trac'

# build the options
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option("-u", "--username",action="store", dest="username", type = "string",
                  help="the username for whom to generate a password")
parser.add_option("-p", "--password",action="store", dest="password", type = "string",
                  help="the password to use")
parser.add_option("-r", "--realm",action="store", dest="realm", type = "string",
                  help="the realm in which to create the digest")
(options, args) = parser.parse_args()

# check options
if (options.username is None) or (options.password is None):
   parser.error("You must supply both the username and password")
if (options.realm is not None):
   realm = options.realm

# Generate the string to enter into the htdigest file
kd = lambda x: md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))
参考:

–EOF–

Categories: Tech.Notes Tags: , ,

从硬盘安装 ubuntu 8.04 server

July 13th, 2008 BianJiang No comments

下载ubuntu 8.04 server

从ubuntu.com官方网站下载ubuntu 8.04 server 镜像文件 ubuntu-8.04-server-i386.iso

下载ubuntu硬盘安装引导文件initrd.gz和vmlinuz

initrd.gz和vmlinuz 从 http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/hd-media/ 目录下取得. 如果是其他本版可以从相应的路径取得硬盘安装引导文件。

下载并安装Grub

http://www.gnu.org/software/grub/ 下载Grub,并默认安装

配置Grub

Grub默认安装到windows系统根目录下,主要用到grldr和menu.lst两个文件,把menu.lst中的文件名改为了ubuntu-8.04-server-i386.iso(按你的文件再修改)
并把initrd.gz和vmlinuz解压在与iso同一根目录下. (最好放C盘,ntfs的也可以)

menu.lst 修改后如下:

timeout 10
default 0
fallback 1

title ubuntu 8.04 server
root (hd0,0)
kernel  /vmlinuz  boot=casper  iso-scan/filename=ubuntu-8.04-server-i386.iso quiet splash ro
initrd  /initrd.gz

title GO Back (MS Windwos OS)
rootnoverify (hd0,0)
makeactive
chainloader  +1

文中的root (hd0,0), 是通过Grub获得相应硬盘的分区,如果不知道在哪个盘上可以在Grub引导的时候,root (hd 后面加Tab键自动补全,来查看是那个块硬盘和多少分区。

修改windows引导文件boot.ini

修改C盘根目录下的boot.ini文件,在文件末尾加入下面代码:

C:\grldr="UBUNTU"

从新启动电脑在引导时选择”UBUNTU”, 安装过程和其他系统安装过程一样。

–EOF–

Categories: Tech.Notes Tags: