Linux驱动开发始末

SMx内核驱动开发笔记

- 背景

硬件背景

为SMx开发Linux驱动。

SMx为与ARMv8核心以AXI和AHB挂接的SoC内部模块,用于SM3/4加速。

SMx功能包括SM3,SM4-ECB/CBC/CTR/CFB/OFB/GCM计算。

含有内部自用DMA,以及与SPAcc相似的内部连线接口。

软件背景

目标系统Peta Linux, kernel 4.6, ......

用AF_ALG实现内核crypto API的用户空间调用

由于内核驱动运行于内核空间,而Linux的crypto API本身并不推荐开放给用户空间调用,如果要测试该驱动,理论上的办法是在内核里再写一个模块,像kernel自带的tcrypt那样,insmod这个新模块,用类似modprobe tcrypt sec=1 mode=200的方式测试。然而这个方法对于需要大量调用固定测试向量的testbench非常不友好,于是还是寻求从用户空间自由自在编写测试框......

Linux内核驱动hello

first linux kernel driver

Reference:

LED驱动/dev/led

preparation

get kernel version from uname -r.

find real KERNELDIR (in Makefile), for kernel module programming.

if /lib/module/build doesn&......

MCU开发板的春天?

之前一直有个愿望,把Linux版的仙剑1移植到“掌机”上。此“掌机”的意思是一个可以抱在手上玩,但并非手机的游戏机。去年(还是前年)冲动买下的STM32F7开发板放在柜子里吃灰,看着5寸屏幕,200MHz主频的开发板无处可用,也是心急如焚。偶然看到了NuttX的消息,说是有人做了stm32f7 discovery的移植,打算探究一番。至少,如果LCD屏幕可用的话,C代码的仙剑如果能交叉编译,也就基......

Keynote outline

下周要做个分享,讲eSE/inSE/TEE的故事,在此打个草稿。

internet personal camera的例子

前人经验

binwalk 分析包 JFFS

寻找UART

登陆

wireshark嗅探更新

HTTP更新地址做ARP/DNS攻击

done

从IPC的例子发现,FW不做加密和签名,很危险,很危险

软件加密?

libtomcryp......

加一把免费的小绿锁

在第一篇日志里就说,要抽空加上小绿锁。今天抽了个小空,轻松加上,很容易。

主机环境:Centos 6.5

软件环境:jekyll 3.1.1,Nginx,搬瓦工内置SS

0x01 改SS默认端口

由于很早就在主机上跑SS,而默认第一个SS账号使用443端口,与TLS的默认端口重复,所以先要把SS的端口换了。

打开/etc/shadowsocks.json,把其中使用......

本地Linux服务器上的Git server部署

本地建立GIT服务器

准备:

建立linux/ssh用户

adduser NAME

将用户添加到git分组

gpasswd -a USER git

服务器建repo:

找一个目录建立repo

sudo git init --bare project.git

该.git文件夹作为未来git clone的目标

修改project.git的owner用户组

......

免SSH登录的jekyll发布部署

首先得感谢bandwagon提供了有趣的KiwiVM作为后台管理,更厉害的是提供了基于REST API的远程操作接口(虽然如果泄漏了私有token后果不堪设想)。

前置条件:

硬件

Bandwagon的全自助主机

jekyll(版本3.3.1,ruby 2.4.0rc1 (2016-12-12 trunk 57064) [i686-linux])

SSH登录

技能......

'