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。

相关推荐
Hui Baby33 分钟前
LSM 原理、实现及与 B+ 树的核心区别
java·linux·算法
德迅云安全—珍珍1 小时前
主机安全-德迅卫士
linux·服务器·安全
云动课堂1 小时前
一键升级 OpenSSH 10到最新版:告别手工编译、兼容国产系统、批量部署无忧!
linux·服务器·centos
一分半心动1 小时前
lnmp架构 mysql数据库Cannot assign requested address报错解决
linux·mysql·php
ChristXlx1 小时前
Linux安装mysql(虚拟机适用)
linux·mysql
知星小度S1 小时前
系统核心解析:深入操作系统内部机制——基础I/O探秘:文件描述符、重定向与Shell的I/O魔法(二)
linux·i/o
软件测试大叔1 小时前
CentOS 7.6 安装 nvtop 完整教程
linux·centos·性能监控
BullSmall2 小时前
Apache Doris 精细化调优配置指南
linux·运维·服务器·database
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之chattr命令(实操篇)
linux·运维·服务器·笔记
落羽的落羽2 小时前
【C++】哈希扩展——位图和布隆过滤器的介绍与实现
linux·服务器·开发语言·c++·人工智能·算法·机器学习