Category Archives: 软件设计

Linux使用 tar 命令进行备份

tar 是一个非常流行和功能强大的命令行工具,可以用来打包、压缩和备份文件和目录。以下是备份 Linux 操作系统的步骤:

  1. 打开命令行终端
  2. 输入以下命令以备份整个 Linux 操作系统:

sudo tar -cvpzf /backup/backup.tar.gz --exclude=/backup/backup.tar.gz --one-file-system /

  1. 解释上述命令:
  2. sudo:以超级用户权限运行命令
  3. tar:使用 tar 命令
  4. -cvpzf:进行归档、压缩、展开和写入文件
  5. /backup/backup.tar.gz:备份文件的名称和位置
  6. –exclude:排除备份文件本身
  7. –one-file-system:仅备份一个文件系统
  8. 等待备份完成,备份文件将保存在 /backup 目录中。

linux 驱动层知识有哪些书籍推荐

以下是几本比较经典的Linux驱动层书籍:

《Linux设备驱动开发详解》 第三版 (原书名:Linux Device Drivers, 3rd Edition):作者是Jon Corbet, Alessandro Rubini和Greg Kroah-Hartman,是Linux驱动层领域的经典之作,系统介绍了Linux驱动程序开发的方方面面,是初学者入门的好书。

《深入理解Linux内核》(原书名:Understanding the Linux Kernel, 3rd Edition):作者是Daniel P. Bovet和Marco Cesati,介绍了Linux内核的组成、架构、进程管理、内存管理、文件系统、网络等方面的内容,对于理解Linux驱动开发有很大帮助。

《Linux内核源代码情景分析》(原书名:Understanding the Linux Kernel, 2nd Edition):作者是Daniel P. Bovet和Marco Cesati,主要介绍了Linux内核的实现细节,对Linux内核的分析和学习有很大帮助。

《Linux设备驱动开发》(原书名:Linux Device Drivers, 4th Edition):作者是Jonathan Corbet、Alessandro Rubini和Greg Kroah-Hartman,是对第三版的修订版,新增了新的内核功能、设备和驱动程序,对一些错误和不准确的部分进行了更新。

《嵌入式Linux驱动开发详解》(原书名:Embedded Linux Primer: A Practical Real-World Approach):作者是Christopher Hallinan,介绍了嵌入式Linux系统开发的方方面面,包括Linux内核、驱动、文件系统、网络和应用程序等内容。

这些书籍对于学习Linux驱动层开发都有很大的帮助,具体选择哪本书可以根据个人的兴趣和需要进行选择。

 

glibc源码环境搭建&&32位&&64位 错误集合

1、错误 提示:

/tmp/cc2dus00.s: 错误:loc1@GLIBC_2.2.5' can't be versioned to common symbol 'loc1' 4 /tmp/cc2dus00.s: 错误:loc2@GLIBC_2.2.5′ can’t be versioned to common symbol ‘loc2′ 5 /tmp/cc2dus00.s: 错误:`locs@GLIBC_2.2.5’ can’t be versioned to common symbol ‘locs’

解决方法:

将misc/regexp.c源文件中的:

char *loc1
char *loc2
char *locs

修改为:

char *loc1 __attribute__ ((nocommon));
char *loc2 __attribute__ ((nocommon));
char *locs __attribute__ ((nocommon));

还有一个就是

error: suggest explicit braces to avoid ambiguous ‘else’ [-Werror=dangling-else]
if (*np != NULL)
^

找到对应文件就加个{}就好

buildroot 添加Qt 编译 (egfl::opengl es)

buildroot   添加QT 支持 Qt 库, 支持GPU 加速时,需要选中efl 选项,去开启opengl  es  的选项模式

1、注意选中gcc 的版  、内核版本

2、注意glibc 库 与源码内核版需要一致。

3、编译环境 与运行环境中libc 必须一致。在linux 底层中,起到重要重用。位置在根目录下   /lib 中  如:libc.so.6 指向libc-2.25.so (或更高版本),当libc.so.6这个软链接被删除,或者指向的文件被不同版替换,运行目标系统将不能运行。