动态加载
一,编译,在指点内核树下编译,生成o文件或ko文件
二,将生成的o或ko文件拷到相应目录,一般是/lib/module/kernel下面
三,用insmod命令加载,用rmmod命令卸载
静态加载
静态加载主要就是编译内核。就是将编写好的驱动放进内核相应的目录下面。然后编译内核。然后运行编译好的内核。
1、首先是编译环境,需要最基本的gcc,autotool工具,不同平台不同的安装方式,具体可以百度一下
2、在linux下,开源软件的编译安装会有固定的通用步骤:
下载源码上传到服务器上;
解压源码包,一般包的后缀是targz、tgz、targz2,这些压缩包其实都可以使用同一个命令进行解压 tar xvf tarfile, 进入源码目录
源码目录下一般会有软件相关的README、install文档,简单的阅读以下,多数情况下都会有相关的编译步骤,以及依赖库
通过步骤:/configure;make && make install
/configure --help可以获取帮助,用来指定安装路径,依赖库的路径,编译选项等
3、对于在linux下编译zlib请参考步骤2,相信你能行,加油
执行gcc -v命令,如果Linux系统没有安装gcc编译器,会提示“Command not found”;
如果系统上安装了gcc编译器,这条命令就会显示出当前安装的gcc编译器是哪个版本。
首先我们先要确定下,机器是否已经安装有gcc。
很显然,提示命令找不到,显然我们是没有安装的。
2我们首先需要挂载光盘到挂载点。
mount /dev/cdrom /mnt
我这里是挂载到mnt目录
3改变目录到挂载目录。
cd /mnt
4改变目录到CentOS目录(不同发行版不同)
cd CentOS
5输入rpm -ivh gcc
然后按下table看看是否有gcc开头的文件
6可以看到,我们的gcc主程序就是gcc-4xxxx的这个文件
我们在rpm -ivh gcc后面加上一个-4
然后按下table键补全后面的内容。
7按下回车后,依赖包出现了,可以看到依赖包是glibc-devel
版本号>= 2290
也就是说,我们在安装gcc之前,需要安装glibc-devel这个包,原因是我们的gcc里面所用到的东西要用到这个包,也就是所谓的依赖关系。
8那我们就跟着依赖包来安装,按下方向键的up键,找到上一条命令。
9然后按下table键补全
10按下回车安装,发现又有glibc-devel的依赖包了。
11那么我们还是按下方向键的UP键找到上一条命令,然后在命令的基础上加上新的依赖包名。
12把所有依赖包都加上去之后,我们就可以看到这样的一个安装界面了。
13装好之后,我们输入一个gcc试试看。
可以看到,已经装好了。
以Ubuntu为例说明一、安装安装lxc
1、安装lxc
sudo apt-get install lxc lxc-templates
2、现在创建一个32位的容器,并把目录绑定到容器:
sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386
3、然后启动容器;在控制台输入用户名和密码。
sudo lxc-start -n my32bitbox
4、在/etc/apt/sourceslist中添加内容
sudo sh -c "sed s/deb/deb-src/ /etc/apt/sourceslist >> /etc/apt/sourceslist"
5、安装先决条件
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get build-dep wine # 如果失败使用 sh install-wine-depssh cd $HOME mkdir wine32 cd wine32 ~/wine-git/configure make -j4
6、关闭容器
sudo shutdown -h now
二、安装chroot Method
1、安装
sudo apt-get install schroot debootstrap
2、创建配置文件
sudo editor /etc/schroot/chrootd/precise_i386conf
3、添加内容
[precise_i386] description=Ubuntu Precise personality=linux32 directory=/srv/chroot/precise_i386 root-users=your_username type=directory users=your_username
4、创建的Ubuntu的chroot环境
sudo mkdir -p /srv/chroot/precise_i386
sudo debootstrap --variant=buildd --arch=i386 precise /srv/chroot/precise_i386 >难道不能重新安装一遍。
输入rpm -ivh gcc
然后按下table看看是否有gcc开头的文件,这些gcc开头都是依赖包
顺便注意一下 安装gcc之前,需要安装glibc-devel这个包
查询命令可以看《Linux就该这么学》命令大全
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)