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。

相关推荐
1nullptr7 分钟前
UNIX程序设计基本概念和术语
linux
是阿建吖!31 分钟前
【Linux | 网络】网络基础
linux·网络
mmoyula31 分钟前
【RK3568 驱动开发:实现一个最基础的网络设备】
android·linux·驱动开发
阿杆1 小时前
😡同事查日志太慢,我现场教他一套 grep 组合拳!
linux·后端
墨小傲1 小时前
基于Linux下的vscode c/c++开发环境搭建详细教程
linux·c语言·vscode
cui_win1 小时前
【网络】Linux 内核优化实战 - net.ipv4.tcp_timestamps
linux·网络·tcp/ip
czhc11400756631 小时前
Linux 77 FTP
linux·运维·服务器
魂尾ac1 小时前
Centos Docker 安装(100%成功)
linux·docker·centos
天若有情6732 小时前
【Linux】02_CentOS 7 开机运行级别详解:从基础概念到实战配置
linux·运维·centos
ajassi20002 小时前
开源 C# .net mvc 开发(八)IIS Express轻量化Web服务器的配置和使用
linux·开源·c#·mvc·.net