目录
i.mx6ull开发板配置ip
i.mx6ull有两个网卡(eth0和eth1)。配置方法:命令行配置(临时)和配置文件配置(永久)。
静态IP配置
命令行配置
临时配置,重启无效。
cpp
ifconfig eth0 192.168.5.9
配置文件配置
永久配置,重启生效。
打开网络配置文件:
cpp
vim /etc/network/interfaces
修改如下内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.5.9
netmask 255.255.255.0
gateway 192.168.5.1
重启网络服务:
bash
/etc/init.d/S40network restart
reboot
动态IP配置
命令行配置
临时配置,重启无效。
bash
udhcpc -i eth1
配置文件配置
永久配置,重启生效。
打开网络配置文件:
cpp
vim /etc/network/interfaces
修改如下内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.5.9
netmask 255.255.255.0
gateway 192.168.5.1
auto eth1
iface eth1 inet udhcpc
重启网络服务:
bash
/etc/init.d/S40network restart
reboot
为什么编译驱动程序之前要先编译内核?
驱动程序要用到内核文件。
比如驱动程序中的#include <asm/io.h>,其中asm是一个链接文件,指向asm-arm或asm-mips,这需要先配置、编译内核才会生成asm这个链接文件。
编译驱动时用的内恶化、开发板上运行的内核,要一致。
开发板上运行的内核是出厂时烧录的,编译驱动时的内核是用户自己编译的,这两个内核不一致时会导致一些问题。所以我们编译驱动程序前,要把自己编译出来的内核放到板子上,代替原内核。
更换板子的内核后,板子上的其他驱动也得更换。
板子使用新编译的内核时,板子原来的其他驱动也要更换为新编译出来的。
init系统服务
init是Unix和类Unix系统中用来产生其它所有进程的程序。它以守护进程的方式存在,其进程号为1。Linux系统在引导时加载Linux内核后,便由Linux内核加载init程序,由init程序完成余下的引导过程,比如加载运行级别,加载服务,引导Shell/图像化解密等。
systemv守护进程
System V(SysV)在大多数Linux发行版中使用最广泛。
init程序:在systemv中,在内核加载后运行的第一个程序。会做一些事情,其一就是加载一系列脚本来启动各种系统服务,例如网络、ssh守护程序等。
所有的System V初始化脚本都存储在**/etc/rc.d/init.d或/etc/init.d** 目录中。这些脚本用于控制系统的启动和关闭。
比如使用"/etc/init.d/S50sshd start"开启ssh服务,使用"/etc/init.d/S50sshd stop"关闭ssh服务。
systemd守护进程
systemd源于Unix的一个习惯(在Unix中常用"d"作为系统守护进程的后缀表示,daemon)。
systemd是Linux的init程序,包括守护进程、程序库以及应用软件。其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V和BSD风格的init程序。
目前绝大多数的Linux发行版都已采用systemd代替原来的Sydtem V。