本文档为《Linux学习笔记V1.0》,主要针对周立功开发板平台,汇集了常用的操作命令,方便学习和查阅。
### Linux学习笔记
#### 1.4 Makefile
Makefile 是一个重要的自动化构建工具,在 C 和 C++ 项目的编译过程中用于简化流程。在《正点原子》I.MX6U嵌入式Linux驱动开发指南中,提到使用 `wait_event_interruptible` 函数来处理中断或事件触发的场景。
这段内容虽然没有提供完整的 Makefile 示例,但可以推测出它涉及到了等待队列的概念。例如:
```c
ret = wait_event_interruptible(dev->r_wait, atomic_read(&dev->releasekey));
if (ret) {
goto wait_error;
}
```
在实际的 Makefile 编写中,开发者需要定义目标(最终构建的产品)、依赖关系和规则。例如,在构建一个嵌入式系统项目时,Makefile 可能会包含以下内容:
1. **目标**:定义最终产品,如 `.o` 文件或可执行文件。
2. **依赖关系**:列出为生成这些目标所需的文件。
3. **规则**:说明如何根据依赖来构建目标的具体步骤。
#### 1.5 禁止鼠标滚轮复制操作
在 Linux 中禁用鼠标滚轮的复制功能,可以通过以下方法实现:
1. 使用 `xmodmap` 命令:
```bash
xmodmap -e pointer=125345672
```
这条命令会禁用中键滚动行为。
2. 添加开机启动脚本:
编辑 `/etc/rc.local` 文件,在 `exit 0` 前添加:
```bash
xmodmap -e pointer=125345672
```
这样每次系统启动时都会自动执行该命令。
#### 附录A: 使用周立功平台的常用命令
以下是一些用于管理与开发的基本和高级指令:
**压缩与解压:**
- 解包文件:`tar -jxvf file.tar.gz`
- 打包文件:`tar -jcvf file.tar.gz`
**文件管理:**
- 删除目录(包括子目录): `rm -rf cb`
- 修改权限为可读写状态:`chmod -R 777 cb`
**环境变量设置:**
1. **修改 PATH 变量**:
```bash
export PATH=$PATH:/home/chansoftware/arm-eabi-4.7/bin
```
2. **使更改生效**:
`source /etc/profile`
**内核编译和调试:**
- 设置临时目录: `export TMPDIR=/mnt/kernel/src/tmp`
- 检查 Samba 安装情况:
```bash
rpm -qa | grep samba
```
- 启动或重启服务:
`sudo service smbd restart`
**用户管理:**
1. 添加新用户: `useradd root`
2. 设置密码: `smbpasswd -a root`
**版本控制:**
- 查看历史记录:
```bash
git log
```
- 检查当前状态:
`git status`
通过这些命令,可以有效地利用周立功平台进行开发和系统管理。