当前位置: 首页 > news >正文

已经有域名,如何建设网站搜索推广营销

已经有域名,如何建设网站,搜索推广营销,微信如何做商城网站,您与此网站之间建立的连接不安全内核模块 宏内核&微内核 微内核就是内核中的一部分功能放到应用层 内核小,精简,可扩展性好,安全性好 相互之间通信损耗多 内核模块 Linux是宏内核操作系统的典型代表,所有内核功能都整体编译到一起,优点是效…

内核模块

宏内核&微内核

微内核就是内核中的一部分功能放到应用层

内核小,精简,可扩展性好,安全性好

相互之间通信损耗多

内核模块

Linux是宏内核操作系统的典型代表,所有内核功能都整体编译到一起,优点是效率高,缺点修改一下很麻烦。所以引入内核模块。

  • 灵活,缩短模块的开发周期,因为模块的安装和卸载都很方便。编译成模块.ko,放在应用层,用的时候插入内核,不要的时候卸载。更新不用重新修改编译内核源码。
  • 节省空间,通用的功能放进内核,多出来的不同版本的特定功能就可以放进内核模块,不用的可以不编译。(也可以用设备树)
  • 安全性好,模块有问题不会影响内核其他部分。
  • 应用程序在退出时,可以不管资源的释放或者其他的清除工作,而把这些任务交给模块退出函数(exit)。

NFS挂载调试内核模块

bootargs启动参数设置

  • root=/dev/nfs #指定rootfs所在的设备是NFS,也就是从NFS启动

  • nfsroot=192.168.9.119:/nfs/rootfs #指定nfs rootfs的位置 (是在ip 是192.168.9.119的机器上 的/nfs/rootfs目录下).

    ​ 注意/nfs/rootfs必须和前面NFS服务配置文件设置一致(见环境安装)

  • v3 #ubuntu 20.04,nfs版本的问题需在bootargs 里加v3

  • console=ttyS0,115200 #指定内核启动后串口信息从串口0输出,波特率115200

  • init=/linuxrc #指定第一个应用程序

  • ip=192.168.9.9 #需设置为板子u-boot自己的IP(通过pri ipaddr查看)


bootcmd设置

  • ext4load mmc 1:1 0x84000000 /boot/Image //读ext 文件系统中的 /boot/Image 到内存 0x84000000

    ​ //这个镜像是烧录在TF卡上的官方镜像

    ​ //fstype mmc 1:1 //查看emmc设备(flash) 1号设备的1号分区

  • ext4load mmc 1:1 83100000 /boot/tegra210-p3448-0002-p3449-0000-b00.dtb //和上面一个道理

  • booti 0x84000000 - 83100000 /*启动Image格式的内核 booti,

    引导ARM64 kernel image----Image; bootz,

    引导ARM kernel image----zImage; bootm,

    引导u-boot自定义的kernel image----uImage。

# setenv bootargs  root=/dev/nfs rw nfsroot=192.168.9.119:/nfs/rootfs,v3 console=ttyS0,115200 init=/linuxrc ip=192.168.9.9
# setenv nfsboot ext4load mmc 1:1 0x84000000 /boot/Image \; ext4load mmc 1:1 83100000 /boot/tegra210-p3448-0002-p3449-0000-b00.dtb \; booti 0x84000000 - 83100000
# pri bootcmd /*备份原来的,方便恢复bootcmd=run distro_bootcmd*/
# set bootcmd run nfsboot  
# saveenv
# run nfsboot  //能nfs挂载成功	

内核三要素

  • module_init(led_init); //模块加载入口声明
  • module_exit(led_exit); //模块卸载入口声明
  • MODULE_LICENSE(“GPL”); //模块免费开源声明
//led.c
#include <linux/kernel.h>
#include <linux/module.h>static int led_init(void)
{printk("led init yhai 1\n");return 0;
}static void led_exit(void)
{printk("led exit\n");
}module_init(led_init); //模块加载入口声明
module_exit(led_exit); //模块卸载入口声明
MODULE_LICENSE("GPL"); //模块免费开源声明
MODULE_AUTHOR("chendu yhai"); //模块作者声明(可选)

Makefile

  • KERNELDIR ?= ~/linux 第二行这里的目录要选一个已经编译过的内核目录
  • obj-m := led.o 这里的.o文件名要和.c的文件名一样
//Makefile
ifeq ($(KERNELRELEASE),)
KERNELDIR ?= ~/linux 
PWD := $(shell pwd)all:$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesclean:rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module* modules* a.out elseobj-m := led.o
endif

验证测试

SourceInsight编辑代码,cp到nfs目录编译生成ko文件插入内核

  • make的时候不要在共享文件夹,会报错,可以直接复制到nfs共享目录下编译
$ make              //编译生成 模块文件 led.ko
$ file led.ko       //查看一下格式,看编译的是 电脑的, 还是板子的(ARM)# insmod led.ko     /*加载模块 
提示: loading out-of-tree module taints kernel    -> 提示内核污染,出问题时你自己驱动的问题,不是内核的问题。方便内核开放者排查 
可添加   MODULE_INFO(intree, "Y"); 去除提示,但最好别这样做                */
# lsmod  /*查看已加载模块列表 -> 检测是否已加载等效于 cat /proc/modules*/
# rmmod  led         //卸载模块     # dmesg      //查看内核日志
http://www.yayakq.cn/news/739243/

相关文章:

  • 淘客手机网站模板湖北可以做网站的公司
  • 迪庆企业网站建设公司网站设计想法
  • 建设企业网站可信度的具体策略二次开发培训
  • 太原 网站建设wordpress 换空间域名
  • 如何做网站推广精个体工商户经营范围做网站
  • 电商类网站有几个主流程网站建设必须要做404
  • 关于网站建设管理的通知网站建设模块一项目三
  • 建设银行有招投标网站吗建设学校网站的需求分析
  • 设计行业网站seo企业优化顾问
  • 传动设备 技术支持 东莞网站建设建立网站的费用策划
  • 如何获得网站厦门网页定制
  • 外贸做什么产品出口好八宿县网站seo优化排名
  • 广西城乡住房建设厅网站首页天津市今天新闻头条
  • html5自适应网站源码商务网站规划建设与管理答案
  • 电子商务网站建设及管理百度账号登录入口官网
  • 怎么给网站 做排名外贸网上营销的途径有哪些
  • 青岛好的网站制作推广律师事务所东莞网站建设
  • 网站建设指导思想新网站做seo优化步骤
  • 网站建设英语词汇seo是付费的吗
  • 做网站要会哪些软件江苏营销型网站建设
  • 网站开发应看什么书籍昆明做烤瓷牙哪去柏德L网站
  • 上海发布网站帝国cms手机网站模板
  • 余姚建设网站的公司seosem是指什么意思
  • 电子政务网站建设出版社重庆百度整站优化
  • 推荐常州网站建设免费空间网站php
  • 是网站建设做网站架构需要什么步骤
  • 泉州网站制作建设财务公司的主要业务
  • 阿里云做的网站怎么样高科技展厅效果图设计
  • 网站专题教程欧美只做les 网站
  • 网站 默认首页网站公司做网站修改会收费吗