Linux Device Driver Edition 3 (Linux源码树的安装)


现在市场的主流是Linux.WINCE已经渐渐没有市场了!至少我所在公司已经在渐渐淡化WINCE,逐步的向Linux和Android的方向去发展!Linux的开发分为很多种:

1. Linux Device Driver的开发,这个属于较为底层的开发

2. Linux Application的卡发,这个不得不提现在很流行的Android的application的开发,这是一种类java的开发!还有其他许多的开发则是使用的C/C++.这里我使用开发语言的种类来区分的!当然还有其它的区分方法,我也没有去了解

言归正传,今天我们要搭建一个学习Linux Device Driver的开发环境.

1.安装Ubuntu 10.04

这部分的内容我就不多说了!可以参考:

硬盘安装Windows 7和Ubuntu 10.04双系统
XP下硬盘安装Ubuntu 10.04 组成双系统

2.下载Linux的源码包www.kernel.org

这里我是下载的linux-2.6.38.4.tar.bz将这个源码包拷贝到/usr/src/的目录下

tar -jxvf linux-2.6.38.bz2

3.构建编译的环境

sudo apt-get update

sudo apt-get build-essential diffstat texinfo texi2html subversion gawk imagemagick help2man git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev zip curl libncurses5-dev libreadline5-dev

在安装sun-java6-jdk的时候需要在菜单栏的system->adminstration->Software Sources->Other Sources将第一个勾选上然后Close.

4.接下来就可以进行编译安装了

#cd /usr/src/linux-2.6.38.4

#sudo make(这是一个较为漫长的过程)

#sudo make bzImage

#sudo make modules

#sudo make modules_install

#sudo make

#cd /boot

#sudo mkinitramfs -o initrd.img-2.6.38.4 /lib/modules/2.6.38.4/

#cd grub

#sudo gedit grub.cfg

编辑这个文件

找到###BEGIN /etc/grub.d/10_linux ###

将menuentry 复制一份.放在所有menuentry的最前端!修改里面的内容:

linux /boot/vmliuz-2.6.38.4

initrd /boot/initrd.img-2.6.38.4

这两个文件就是在/boot下面生成的那两个文件

5.重新启动

#uname -a

看下新的linux的版本是不是2.6.38.4

相关内容