linux
进击的铁甲小宝
兄弟们,互粉,可好?
展开
-
源码和包管理器安装U-Boot tools
除了引导加载程序本身外,U-Boot 还提供了一些辅助工具,即 U-Boot tools。fw_printenv 和 fw_setenv:用于读取和设置 U-Boot 环境变量,这些环境变量存储了引导加载程序的配置信息。U-Boot tools可以帮助开发人员配置、编译、调试和更新 U-Boot 引导加载程序。mkimage:用于创建和处理 U-Boot 支持的映像文件,如生成适用于 U-Boot 的内核映像、设备树文件(DTB)等。tools/patman:用于处理 U-Boot 补丁的工具。原创 2024-02-28 18:00:18 · 580 阅读 · 0 评论 -
linux内核开发入门二(内核KO模块介绍、开发流程以及注意事项)
一、什么是内核模块内核模块:ko模块(Kernel Object Module)是Linux内核中的可加载模块,它可以动态地向内核添加功能。在运行时,可以通过加载或卸载ko模块来扩展或减少内核功能。ko模块通常包含驱动程序、文件系统、网络协议栈、安全模块等内核功能。内核开发人员可以通过编写ko模块来扩展或改进内核功能。我们可以通过编写内核模块扩展内核功能,添加新的驱动程序或文件系统,或者修改内核的行为,而不需要重新编译整个内核。编写模块代码:包括初始化和清除函数,以及其他需要的函数。原创 2023-03-08 08:59:50 · 2536 阅读 · 0 评论 -
linux内核开发入门一(什么是内核开发,以及注意事项)
内核开发:是指在操作系统内核上进行软件开发和调试的过程。内核开发需要了解操作系统的内部工作原理和机制,并能够编写代码以实现或扩展内核功能。内核中只能使用C语言,不支持C++等其他编程语言。由于内核运行在特殊的环境下,开发人员需要了解内核的特性和限制,比如内核空间和用户空间的区别,中断处理等。内核代码需要遵循一定的编码规范,例如函数和变量的命名规则、代码缩进风格、注释等,以提高代码的可读性和可维护性。原创 2023-03-08 08:24:41 · 2053 阅读 · 0 评论 -
ubutnu(ubuntu18.04)gethub
【代码】ubutnu(ubuntu18.04)gethub。原创 2023-02-27 15:10:00 · 153 阅读 · 0 评论 -
Ubuntu 18.04 上编译和安装内核(内核源码版本)
上述 -j4 参数表示并行编译,可以根据 CPU 核心数和内存大小调整并行编译的数量。linux发行版本为,ubuntu18.04。内核版本为5.15.7。默认配置:save --> load --> exit。在菜单中选择需要的编译选项,然后保存配置文件。原创 2023-02-22 19:03:56 · 3913 阅读 · 4 评论 -
linux 动态链接库(.so)的生成和引用
在使用动态链接库时,需要将库文件的名称和路径添加到程序中,以便程序能够在运行时找到库文件。在Linux系统中,可以使用ldd命令查看程序所依赖的动态链接库,使用ldconfig命令更新动态链接库缓存。在编译程序时,可以使用编译器的-l和-L选项指定需要链接的库文件。与静态链接库不同,动态链接库在程序运行时才会被加载到内存中,并且不会与程序的可执行文件一起打包。使用动态链接库的优势在于,它可以被多个程序共享使用,从而减少了程序的内存使用和磁盘空间占用。解决方式:将动态链接库的目录设置到环境变量中。原创 2023-02-22 15:10:26 · 5177 阅读 · 0 评论 -
linux下常用的文件搜索which、whereis、locate、find。
locate命令是根据本地数据库进行文件搜索,因为数据库每天只会同步一次,有可能会出现新建文件搜索不到的情况,所以在使用locate搜索文件之前使用updatedb命令进行手动数据更新。which命令是根据"PATH"环境变量所规范的路径去搜索“可执行文件”的文件名,重点是只会搜索可执行程序。find命令相当于对硬盘进行检索,通常来说耗费的时间是比较多的,不太建议使用,除非在特定情况下。原创 2022-09-25 23:15:18 · 441 阅读 · 0 评论 -
linux下文件隐藏属性 chattr
通常来说,我们在linux系统下对文件经常使用到的一般是拥有者、用户组、其他人的权限设置,但是在linux系统确确实实却在一类隐藏权限设置,并且该隐藏权限在系统安全(Security)上起到至关重要的地位。如下图所示,对test文件添加隐藏权限i后,即使在root权限下也是不能对文件进行删除操作的。使用命令:chattr 【±=】 【ASacdistu】文件或目录名。如下图所示,对test文件删除隐藏权限i后,能够对文件进行删除操作。使用命令:lsattr。原创 2022-09-25 22:30:17 · 1427 阅读 · 0 评论 -
ubutu18.04 使用update-alternatives 对python和python3进行版本管理
因为在 /usr/bin 目录下的python软链接上Python2.7、python3软链接上python3.6,何为软链接?3.1 update-alternatives实际上是对 /usr/bin 目录下的python和python3 再套一层软链接,多一层中间层,利用该中间层去修改当前的python版本。2.4 软链接和硬链接:简单理解软链接就是类似于windows的一种快捷方式,硬链接就是原始文件的镜像(复制品),当原始文件被删除时,软链接会失效而硬链接却不会受其影响。–config原创 2022-09-17 14:13:08 · 3155 阅读 · 0 评论 -
ModuleNotFoundError: No module named ‘apt_pkg‘ on Ubuntu
描述:由于手动更新了Python3版本,由原来的Python3.6更新为python3.8,导致包管理版本没有自动改过来,需要手动更新。原创 2022-09-15 09:11:24 · 551 阅读 · 0 评论 -
ubuntu 18.04 sudo apt-get update 出现:ld.google.com(114.250.65.33) 连接超时
使用vim打开/etc/hosts,添加:203.208.40.65 dl.goole.com。点击下面网页,或者百度搜索域名查IP地址,查询dl.google.com国内的IP地址。如上所示,域名dl.google.com在国内的IP地址。2.连接谷歌国内的服务器。原创 2022-08-30 11:49:20 · 1005 阅读 · 0 评论 -
Linux编译生成动态链接库
fPIC:编译得到与位置无关的和对全局偏移表的大小不做限制的动态链接。编译源文件 my_test.c 生成动态链接库。-shared :生成共享目标文件。准备源文件 my_test.c。-o:将输出输出到指定文件夹。原创 2022-08-23 15:09:35 · 693 阅读 · 1 评论