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。

相关推荐
人间打气筒(Ada)30 分钟前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
老师用之于民40 分钟前
【DAY21】Linux软件编程基础&Shell 命令、脚本及系统管理实操
linux·运维·chrome·经验分享·笔记·ubuntu
江畔何人初2 小时前
pod的内部结构
linux·运维·云原生·容器·kubernetes
不做无法实现的梦~2 小时前
PX4编译环境配置和qgc配置安装教程(2)
linux·stm32
齐鲁大虾2 小时前
Linux下用什么编程语言方便开发B/S架构程序
linux·运维·架构
范纹杉想快点毕业2 小时前
状态机设计与嵌入式系统开发完整指南从面向过程到面向对象,从理论到实践的全面解析
linux·服务器·数据库·c++·算法·mongodb·mfc
峥嵘life3 小时前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
prettyxian3 小时前
【linux】进程控制(1):从fork创建到wait回收
linux
来来走走3 小时前
rocky linux 9.7安装mysql 8.4+
linux·数据库·mysql
大黄说说3 小时前
深入理解 Linux 权限机制:文件、用户与访问控制全解析
linux·运维·服务器