Linux--Hexo搭建与配置
Hexo 搭建官方参考链接
以下均是在ubuntu环境,验证可行
安装步骤
下载nodejs
官网下载压缩包,一般为node-xxxx-linux-x64.tar.xz 格式
1234567891011121314151617# 解压tar xf node-xxxx-linux-x64.tar.xz# 创建Hexo文件夹cd ~mkdir Hexo# 重命名文件夹为node,移动到Hexo目录mv node-xxxx-linux-x64 Hexo/node# 创建软链接sudo ln -s ~/Hexo/node/bin/node /usr/bin/nodesudo ln -s ~/Hexo/node/bin/npm /usr/bin/npmsudo ln -s ~/Hexo/node/bin/npx /usr/bin/npx# end 创建后会发现,可以直接使用 npm 指令
安装 hexo
123456789# 在 Hexo目录打开终端执行npm install -g hexo-cli# 创建文件夹mkdir hexohexo init <hexo>cd < ...
Linux系统--rootfs修改
linux系统镜像备份rootfs制作成功后,会参与打包,和kernel、uboot等img文件打包成一个完整镜像。烧录镜像后,可能会出现rootfs还需重新安装软件或者配置修改,以下是操作方式记录。
基于现有的rootfs.img 修改注意事项:如果需要基于现有的rootfs 安装其他软件,挂载前应先调整rootfs大小
根据现实需求功能修改,仅供参考
123e2fsck -p -f rootfs.img# 调整大小为10Gresize2fs rootfs.img 10240M
1、建立roofs文件夹,挂载现有的rootfs.img
12sudo mount rootfs.img ./rootfs
2、挂载本机网络通信等设备到rootfs/,这样才能使用本机网络进行更新
12345sudo mount -t proc /proc rootfs/procsudo mount -t sysfs /sys rootfs/syssudo mount -o bind /dev rootfs/devsudo mount -o bind /dev/pts rootfs/dev/p ...
Linux系统--定时任务配置
配置定时任务1、使用crontab -e 在后面增加指令注意,这个仅仅为该角色下配置的定时任务
2、vim /etc/crontab 在后面增加指令
crontab具体语法:如有多个不同时间需求,需使用”,”隔开
123456789* * * * *- - - - -| | | | || | | | +----- 星期中星期几 (0 - 6) (星期天 为0)| | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31)| +-------------------- 小时 (0 - 23)+------------------------- 分钟 (0 - 59)
指令语法示例如下:
1234567891011121314151617181920212223242526272829303132333435实例1:每1分钟执行一次myCommand* * * * ...
Linux系统--从零开始构建rootfs
镜像构建前期准备
Ubuntu 根文件系统下载
下载地址
当前实在arm芯片上跑,下载的为arm64版本
模拟器安装
12sudo apt-get install qemu-user-static
创建文件夹
12345mkdir temp// 20.04sudo tar -xpf ubuntu-base-20.04.5-base-arm64.tar.gz -C temp// 18.04sudo tar -xpf ubuntu-base-18.04.5-base-arm64.tar.gz -C temp
准备网络:
12sudo cp -b /etc/resolv.conf temp/etc/resolv.conf
准备 qemu:
12sudo cp /usr/bin/qemu-aarch64-static temp/usr/bin/
创建文件的启动.bashrc等文件
12sudo cp -R /etc/skel /mnt/etc/
进入根文件系统进行操作:
123456sudo chroot temp#脚本自动挂载sudo bash ch-mount.sh -m ...
Linux内核--内核编译
内核编译确保当前在sdk目录下
指定平台编译芯片平台会提供SDK,SDK中会自带kernel源码
rk平台:部分编译内核指令,在sdk主目录下执行
12./build.sh kernel
1、kernel 增加驱动代码
在drivers/对应目录下创建对应目录,以触摸屏为例/drivers/input/touchscreen/xxx
修改当前目录Makefile,使用obj 增加驱动代码目录12obj-$(CONFIG_TOUCHSCREEN_xxx) += touchscreen/xxx
修改上面Makefile 所处目录下kconfig文件,使其配置能被kernel 读取
12345678910// 如果增加驱动目录没有子kconfig 具体语法参考下面地址config TOUCHSCREEN_XXXX bool "XXXX" depends on I2C default n help Say Y here if you have XXXX touch panel. If unsure, say N. // ...
Linux系统--用户添加与变更
此文可用于移植友商系统,针对它们rootfs进行修改,以下是以firefly ubuntu系统为例
用户名操作
更改用户名
1、修改当前默认登录用户,按用户定
12345678910sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf// 可能需要修改登录密码sudo gedit /etc/pam.d/gdm-password 打开文件// 主机/etc/hosts// 旋转屏幕/etc/default/xrandr
2、更改目录下用户名
123修改用户名$ usermod -l 新用户 旧用户
当前可能登录该用户
12sudo pkill -u 旧用户名
3、修改家目录
1$ sudo usermod -d /home/新用户名 -m 新用户名
4、修改组名
1$ groupmod -n 新用户名 旧用户名
5、修改uid
1$ sudo usermod -u 1000 新用户名
6、重启
增加新用户
1、增加新用户指令
12345// 增加一个用户 xxxuseradd -m xxx// 设置 xxx ...
Linux--wordpress搭建
安装nginx123456789sudo apt-get install nginx# 增加开机启动systemctl start nginxsystemctl enable nginx# 查看启动状态systemctl status nginx.service浏览器查看http://服务器IP地址
安装mysql1234567891011121314151617181920sudo apt-get install mysql-server# 增加开机启动systemctl start mysqlsystemctl enable mysqlsudo systemctl status mysql.servicesudo mysql_secure_installation# 选择密码难度等级# 不能设置密码 配置密码 sudo mysqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'HNcs123456';密码:HNcs123456 ...
Linux--Cmake使用语法
CMake的基本语法12cmake [options] <path-to-source>
其中,path-to-source是要编译的源代码路径。CMake的选项包括:
12345678-D<var>=<value>:定义变量。-G <generator>:指定生成器。-B <build-dir>:指定生成的构建文件目录。-S <source-dir>:指定源代码目录。
定义变量可以使用-D选项定义变量,例如:
12cmake -DVAR_NAME=VAR_VALUE <path-to-source>
也可以在CMakeLists.txt文件中使用set命令定义变量,例如:
12set(VAR_NAME VAR_VALUE)
指定生成器CMake支持多种生成器,例如Unix Makefiles、Ninja、Visual Studio等。可以使用-G选项指定生成器,例如:
12cmake -G "Unix Makefiles" <path-to-source>
指 ...