kernel系统
文章平均质量分 82
讲述kernel下系统相关内容,比如模块,编译,机制
kalaneryok
这个作者很懒,什么都没留下…
展开
-
linux操作文件提示no space解决办法
问题解决过程问题描述因素一因素二因素三问题描述linux cp命令显示 No space left on device显示空间不足,按照以下几个可能性确定下原因因素一这种情况一般作用于存储介质,目标目录实体空间不足导致可以用df -ah查看,我的环境不是挂载目录报错所以排除这个原因因素二inode数使用太多,导致文件的inode分配不到可以 -i 查看ls -lia 可以查看目录的inode 第一个数字就是inode我的设备也没满因素三查看rootfs的大小是否到头了mou原创 2022-01-22 18:45:17 · 2119 阅读 · 0 评论 -
Linux如何取消用户登入的信息
定位步骤问题描述解决办法步骤排除telnetdloginbusybox再次loginlogin.c究极大法加打印问题描述我在使用telnet的时候发现当利用telnet登入设备的是后设备会输出一段用户登入的打印,这个打印在有些特殊情况下我不希望打印如何解决?解决办法找到这个文件busybox\loginutils\login.c找到login_main函数找到这一行syslog(LOG_INFO, “root login%s”, fromhost);删掉即可,以后shell登录都没打印了原创 2021-12-04 06:00:00 · 808 阅读 · 1 评论 -
Kconfig语法
常用一些东西本文介绍uboot或者kernel中kconfig的语法菜单栏说明设置值本文介绍uboot或者kernel中kconfig的语法菜单栏就会出现箭头里面的内容就是menu下面的配置项menu “Boot timing”xxxxxxendmenumenu “Boot media”endmenu说明config BOOTDELAY --->CONFIG_BOOTDELAY int "delay in seconds before automatically boo原创 2021-08-27 15:03:45 · 265 阅读 · 0 评论 -
Linux kernel编译生成的版本多一个加号“+”
其实,一直以来,我们编译KVM(Linux kernel)生成的RPM包中的kernel版本总是带有一个“莫名其妙”的加号(+),其实我知道大概是因为我们修改了Linux.git(或kvm.git)中的一些文件。但是我们只是修改了一下Makefile,让我们做RPM包是方便而已,一般我也没有在编译时修改其他的源代码文件,所以我想把这个加号去掉,对其进行了简单的研究,问题已经搞定了,记录如下吧。kernel版本出现一个加号(plug sign)的原因可能是如下两点,当然前提是使用Linux的GIT repo转载 2021-05-29 09:48:47 · 498 阅读 · 0 评论 -
记系统函数报错原因定位方法
/mnt/nfs #/mnt/nfs # ./epollret:-1,38[Function not implemented]abd2233: Function not implementedret:-1/mnt/nfs # grep -rn “epoll_create1” /lib/libc.so.125108:epoll_create1/mnt/nfs #明明c库有实现,却提示函数为实现,那有可能是系统调用出了问题,往下掏掏P:\toolchain\arm-ca9-linux-uc原创 2021-05-17 21:44:43 · 424 阅读 · 0 评论 -
kernel printk的打印等级
#include<linux/init.h>#include<linux/module.h>static int __init hello_init(void){ printk(KERN_EMERG "LOG level 0\r\n"); printk(KERN_ALERT "LOG level 1\r\n"); printk(KERN_CRIT "LOG level 2\r\n"); printk(KERN_ERR "LOG level 3\r\n"); p原创 2021-04-24 17:39:05 · 1115 阅读 · 0 评论 -
Linux内核驱动模型---平台总线驱动(platform)
平台总线驱动模型前言前言原创 2021-03-16 20:24:51 · 548 阅读 · 2 评论 -
Linux内核大法之模块化机制module_init
#include "stm32f10x.h"#include "delay.h"#include "led.h"int main(void){ delay_init(); //初始化延时函数 LED_Init(); //初始化LED端口 I2C_Init(); //i2c初始化 LCD_Init(); //LCD初始化 while(1) { GPIO_ResetBits(GPIOB,GPIO_Pin_5);原创 2021-02-21 20:04:48 · 1461 阅读 · 0 评论 -
Linux内核驱动模型---设备总线驱动
内核驱动模型何为驱动模型Linux驱动模型驱动模型dev类型何为驱动模型在我看来模型就是对一系列事务,进行抽象、统一、管理。所呈现出的一种层次关系。就像一个公司有部门、小组、个人这样的一个组织关系。那么这样做的好处就是便于管理。Linux驱动模型在Linux的世界里将C语言运用到极致,在这里,不能单单的想象成结构体,要体会其数据结构背后的含义,而不能单单的理解成结构体类型。在c++中有个更好的说法叫类。所有的类型都想象成类更好理解。其中结构体的成员变量类比成属性,其中函数指针类比这个类所具有的方法。原创 2021-02-16 01:38:02 · 1838 阅读 · 10 评论 -
usleep的调用过程
本文讲述usleep从app执行调用glibc到系统调用到内核执行过程前言1.架构aarch642.准备好一份glibc 2.24的源码3.准备好一份linux kernel 4.9源码查看glibc源码阅读usleep的实现通过grep发现源码库中实现多种多样--------------glibc-2.24\sysdeps\posix\usleep.cintusleep (useconds_t useconds){ struct timespec ts = { .tv_sec原创 2020-12-08 13:58:55 · 985 阅读 · 0 评论