linux常识

目录

i.mx6ull开发板配置ip

静态IP配置

命令行配置

配置文件配置

动态IP配置

命令行配置

配置文件配置

为什么编译驱动程序之前要先编译内核?

init系统服务

systemv守护进程

systemd守护进程


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。

相关推荐
AlfredZhao9 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346615 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪16 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈1 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875241 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant