BusyBox

迅为IMX6ULL开发板Linux INPUT子系统实验-运行测试

廉价感情. 提交于 2020-12-19 08:04:01
输入设备总类繁杂,包括按键,键盘, 触摸屏 ,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个 Input 子系统。用户只需要根据内核提供的 input 子系统下提供的 API 函数接口,完成设备的注册即可。在本章节中我们来学习一下如何使用 Linux 内核中的 input 子系统。 1.运行测试 1.1 编译驱动程序 和前面章节中驱动测试程序一样需要一个 Makefile 文件,只是将 obj-m 的值改为 key_input.o,Makefile 文 件内容如下: KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga CURRENT_PATH := $(shell pwd) obj-m := key_input.o build: kernel_modules kernel_modules: $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules clean: $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean 首先我们在终端输入两个命令(设置两个环境变量): export ARCH=arm export CROSS_COMPILE=arm-linux

K8S namespace calico network policy

杀马特。学长 韩版系。学妹 提交于 2020-12-19 07:47:53
Configure namespaces This guide will deploy pods in a Kubernetes namespace. Let’s create the Namespace object for this guide. kubectl create ns policy-demo Create demo pods We’ll use Kubernetes Deployment objects to easily create pods in the namespace. Create some nginx pods in the policy-demo namespace. kubectl run --namespace = policy-demo nginx --replicas = 2 --image = nginx Expose them through a service. kubectl expose --namespace = policy-demo deployment nginx --port = 80 Ensure the nginx service is accessible. kubectl run --namespace = policy-demo access --rm -ti --image busybox /bin/sh

Docker跨主机通信(九)

主宰稳场 提交于 2020-12-17 05:01:07
容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined。但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信。本篇博客将详细介绍如何实现该功能。 跨主机网络方案包括两大类: docker原生的:overlay和macvlan 第三方方案:flannel、weave和calico 本篇博客将详细讲解overlay以及weave两种方案。 overlay Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。 在 docker 主机 host1(172.20.10.2)和 host2(172.20.10.7)上实践各种跨主机网络方案,在 172.20.10.2 上部署支持的组件,比如 Consul。 第一步:启动路由转发功能 两台主机上面都需要开启 [root@ken3 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward 第二步:运行consul 最简单的方式是以容器方式运行 Consul: [root@ken1 ~]# docker run -d

linux驱动1.驱动框架与GPIO操作

自闭症网瘾萝莉.ら 提交于 2020-12-12 19:42:58
一、驱动程序概念介绍   u-boot的任务是启动内核,内核的任务是启动应用程序 ,应用程序会涉及很多文件和硬件操作(当然不会直接操作硬件),比如读写文件,点灯、获取按键值。   比如对于控制led灯的用户程序与驱动程序,最简单的实现方法是:   应用程序中需要打开led灯,就需要open函数,在内核中的驱动程序中也有对应的led_open函数,这个led_open函数就是用来负责初始化led的引脚功能,应用程序中要调用read函数读取led灯的状态,内核中的驱动程序也有led_read函数。这是应用程序与内核中驱动程序一种最简单的对应方式.   那么应用程序中的open、read函数最终怎样调用到驱动程序中的led_open、led_read呢,中间有哪些东西?   在linux中共有4层软件,如下图: 以下名词解释: 应用程序:就是被调用的那些库函数,例如open、read、write... ... C库(系统调用):其中的其实就是实现open、read这些函数来调用swi val 指令进入内核(函数不同val值都会不同) 内核: 内核根据swi后面不同的值去调用VFS中的system_open/system_read/ system_write等异常处理函数,找到相应的驱动程序(VFS:virtual file system 虚拟文件系统) 例如: int main() {

k8s的存储卷

梦想的初衷 提交于 2020-12-11 07:47:40
存储卷查看:kubectl explain pods.spec.volumes 一、简单的存储方式 1)2个容器之间共享存储.。(删除则数据消失) apiVersion: v1 kind: Pod metadata: name: pod - demo namespace : default labels: app: myapp tier: frontend annotations: magedu.com /created-by: " clusten admin " spec: containers: - name: myapp image: ikubernetes / myapp:v1 ports: - name: http containerPort: 80 volumeMounts: - name: html mountPath: /data/web/html/ - name: busybox image: busybox:latest imagePullPolicy: IfNotPresent volumeMounts: - name: html mountPath: /data/ command: - " /bin/sh " - " -c " - " sleep 3600 " volumes: - name: html emptyDir: {} pod-vol-demo

WARNING: IPv4 forwarding is disabled. Networking will not work.

坚强是说给别人听的谎言 提交于 2020-12-06 11:49:38
今天在虚拟机CentOS7中运行 docker run -it --rm busybox , 出现下命的警告 [root@radar epm-shrm]# docker run -it --rm busybox WARNING: IPv4 forwarding is disabled. Networking will not work. 解决办法是在 /etc/sysctl.conf 中追加 net.ipv4.ip_forward=1 , 再重启网络服务 systemctl restart network 。 问题解决。 参考: docker-networking-disabled-warning-ipv4-forwarding-is-disabled-networking-wil 来源: oschina 链接: https://my.oschina.net/u/553266/blog/3066384

关于华为P9手机的解锁、刷Recovery、获取Root、安装Busybox,以及升级降级的全过程(和一些错误的解决方法)

不羁的心 提交于 2020-12-04 01:59:39
关于华为P9手机的解锁、刷Recovery、获取Root、安装Busybox,以及升级降级的全过程(和一些错误的解决方法) 参考文章: (1)关于华为P9手机的解锁、刷Recovery、获取Root、安装Busybox,以及升级降级的全过程(和一些错误的解决方法) (2)https://www.cnblogs.com/codex/p/7222363.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4773573

Docker跨主机通信(九)--技术流ken

点点圈 提交于 2020-11-19 05:58:50
容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined。但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信。本篇博客将详细介绍如何实现该功能。 跨主机网络方案包括两大类: docker原生的:overlay和macvlan 第三方方案:flannel、weave和calico 本篇博客将详细讲解overlay以及weave两种方案。 overlay Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。 在 docker 主机 host1(172.20.10.2)和 host2(172.20.10.7)上实践各种跨主机网络方案,在 172.20.10.2 上部署支持的组件,比如 Consul。 第一步:启动路由转发功能 两台主机上面都需要开启 [root@ken3 ~]# echo " 1 " > /proc/sys/net/ipv4/ip_forward 第二步:运行consul 最简单的方式是以容器方式运行 Consul: [root@ken1 ~]# docker run