Ubuntu
文章平均质量分 57
和Ubuntu相关的专题内容
Alex-L
这个作者很懒,什么都没留下…
展开
-
查看ubuntu系统的版本信息、内存大小及使用、磁盘大小等常用命令
方法/步骤:1、进入Ubuntu系统,点击左侧图标栏中的黑框,打开终端;、2、左侧没有终端图标的情况,可以搜索按钮(图中左侧第一个),输入termial,打开终端;3、桌面终端也没有搜索图标的情况,可以使用快捷键打开终端快捷键(Ctrl+Alt+t);4、输入命令cat /proc/version显示如下:Linux version 4.10.0-28-generic (buildd@lgw01-12) // linux内核版本号gcc version 5.4.0原创 2021-11-16 14:14:49 · 59933 阅读 · 0 评论 -
在Ubuntu(x64)系统下安装64bit的交叉编译工具aarch64-linux-gnu-gcc
1、sudo apt-cache search aarch64查看哪些版本可以安装;2、sudo apt-get install gcc-5-aarch64-linux-gnu安装一个gcc开头的5版本的支持64bit ARM linux的交叉编译工具;3、sudo apt-get install gcc-aarch64-linux-gnu然后再安装一个没有版本号的gcc-aarch64-linux-gnu;以上步骤是安装支持ARM64位系统的交叉编译工具,安装之后,用aarch64-linu原创 2021-09-01 17:19:07 · 1611 阅读 · 0 评论 -
W10: Warning: Changing a readonly file使用vi/vim报错问题解决(使用管理员也不能修改)
使用vi/vim编辑文件的时候出现W10: Warning: Changing a readonly file报错解决方法:一、强制保存退出 :wq!二、ll 查询文件属主,使用属主赋予权限chmod u+w 文件三、终极解决办法如果试了前两个都不行,那肯定是以下这个问题引起了,当初系统被入侵也是被修改文件锁定:lsattr 文件如出现字母 a 或者 i ,则是文件被锁定解锁方法:chattr -ai 文件 (注:只出现字母 i,则 -i ,出现a,则用原创 2021-08-19 18:00:40 · 29381 阅读 · 3 评论 -
Ubuntu下添加开机启动脚本
一、方法一,直接编辑rc.loacl脚本1、Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。2、当然要添加到语句:exit 0 前面才行。如:sudo vi /etc/rc.local然后在 exit 0 前面添加好脚本代码。注意:在打开rc.loacl脚本脚本文件时使用管理员模式打开,不能没有权限编辑文件内容。二、方法二,添加一个Ubuntu的开机启动服务1、 如果要添加为开机启动执行的脚本文件,可先将脚本复制或原创 2021-07-27 09:22:01 · 6410 阅读 · 0 评论 -
Ubuntu 20.04 Xrdp 远程桌面黑屏
1、问题现象:通过远程桌面输入账户和密码后,进入ubuntu20.04后,出现的是黑屏。2、解决办法:(1):打开startwm.sh文件sudo vim /etc/xrdp/startwm.sh(2):添加以下内容:unset DBUS_SESSION_BUS_ADDRESSunset XDG_RUNTIME_DIR(3):添加位置如下图所示:(4):保存退出即可。...原创 2021-06-22 17:34:15 · 12142 阅读 · 6 评论 -
PetaLinux 添加自动启动执行脚本
所有命令均需在非管理员模式下执行1、初始化 PetaLinux 运行环境:运行命令:source PetaLinux安装目录/settings.sh2、 创建自动执行脚本相关文件:(1) cd 到项目工程目录下;(2) 运行命令:petalinux-create -t apps --template install -n autorunapp --enable(3) 修改 项目工程目录/project-spec/meta-user/recipes-apps/autorunapp 下的 auto原创 2021-06-18 18:19:27 · 2343 阅读 · 3 评论 -
CFLAGS用法
CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该变量中来。LDFLAGS :gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLA原创 2021-02-02 11:30:07 · 4855 阅读 · 0 评论 -
Linux 内核编译步骤及配置详解
一、linux体系结构从大面上来说,linux体系结构分为:1 )用户空间:C库、用户应用程序;2 )内核空间:系统调用接口、内核、硬件平台依赖代码。具体来讲,Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。如下图:1、linux内核内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。系统原创 2021-01-30 17:37:48 · 3237 阅读 · 1 评论 -
linux 编译程序的四个过程
linux 编译程序的过程与C/C++程序编译过程类似,只是使用的命令或实现的方法不一样(环境平台不一样),但是总体框架一样。一、预编译命令是gcc -E main.c -o main.o 假设当前要编译的文件是main.c;1、将所有的#define删除,并展开所有的宏定义;2、处理所有的预编译指令,例如:#if,#elif,#else,#endif;3、处理#include预编译指令,将被包含的文件插入到预编译指令的位置;4、添加行号信息文件名标识,便于调试;5、删除所有的注释;6、原创 2021-01-30 15:45:33 · 3748 阅读 · 1 评论 -
C/C++程序编译过程详解
而在驱动程序中这个指针函数变了之后最大的影响是参数中少了inode C/C++程序编译过程详解C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成可执行代码的过程。过程图解如下:从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。一、 编译过程编译转载 2021-01-30 15:01:30 · 1177 阅读 · 0 评论 -
Ubuntu下E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
多次在apt install时候遇到E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?的error,Error报的信息显示是这个包向source里某个数据库下载失败了,或者在安装其它工具的时候提示该错误,这里记录一下:1、source本身的问题:根据提示,我们首先应当 apt-get update 一下source,如果在apt-get update后依然报这个error,那就说明这个原创 2021-01-28 13:34:32 · 2450 阅读 · 0 评论 -
MODULE_DEVICE_TABLE的用法
MODULE_DEVICE_TABLE (usb, skel_table)这个宏有两个参数,第一个参数设备名,第二个参数该设备加入到模块中时对应产生的设备搜索符号,这个宏生成了一个名为__mod_pci_device_table 局部变量,这个变量指向第二个参数内核构建时,depmod程序会在所有模块中搜索符号__mod_pci_device_table,把数据(设备列表)从模块中抽出,添加到映射文件/lib/modules/KERNEL_VERSION/modules.pcimap中,当depmod结原创 2021-01-28 13:16:21 · 6268 阅读 · 2 评论 -
Linux驱动学习--初识PCI驱动(二)
一、初始化设备模块当Linux内核启动并完成对所有PCI设备进行扫描、登录和分配资源等初始化操作的同时,会建立起系统中所有PCI设备的拓扑结构,此后当PCI驱动程序需要对设备进行初始化时,一般都会调用如下的代码: static int __init example_init_module (void) { /* 注册硬件驱动程序 */ if(!pci_register_driver(&example_pci_driver)){ pci_unre原创 2021-01-27 17:27:30 · 894 阅读 · 0 评论 -
Linux驱动学习--初识PCI驱动(一)
PCI是什么PCI—Peripheral Component Interconnect,外围设备互联总线。是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准。对于PCI的一些具体介绍可以参考: PCi具体介绍一、和PCI驱动程序相关的几个数据结构驱动程序总是离不开数据结构,在Linux中,用数据结构来表示各色各样的设备或者其他的东西。因此,我们掌握设备驱动程序的关键之一,就是对各种数据结构的理解和运用。1、pc原创 2021-01-27 17:10:05 · 1577 阅读 · 0 评论 -
ioctl与unlocked_ioctl区别
今天调一个程序调了半天,发现应用程序的ioctl的cmd参数传送到驱动程序的ioctl发生改变。而根据《linux设备驱动》这个cmd应该是不变的。因为在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unlocked_ioctl ,所以我怀疑二者是不是兼容的。上网查了一些资料,很多文章只是泛泛谈了一下,说在应用程序中ioctl是兼容的,不必变化。而在驱动程序中这个指针函数变了之后最大的影响是参数中少了inode ,所以应用程序原创 2021-01-27 15:12:20 · 243 阅读 · 0 评论 -
linux 内核中的 _IOC_TYPE 宏
/* Check type and command number */ if (_IOC_TYPE(cmd) != SPI_IOC_MAGIC) return -ENOTTY;_IOC_NR(), _IOC_TYPE(), _IOC_SIZE(), _IOC_DIR() 这几个宏用来取得 cmd 命令中的域,其作用如下:_IOC_NR( ) : 读取基数域值 (bit0~ bit7)_IOC_TYPE : 读取魔数域值 (bit8 ~ bit15)_IOC_SIZE : 读取原创 2021-01-27 14:55:31 · 1036 阅读 · 0 评论 -
Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。bit29~bit15 14位为 “数据大小” 区,表示 ioctl() 中的 arg 变量传送的内存大小。bit20~bit08 8位为 “魔数"(也称为"幻数")区,这个值用以与其它设备驱动程序的 ioctl 命转载 2021-01-27 14:52:25 · 619 阅读 · 0 评论 -
ubuntu-16.04.4安装xilinx PetaLinux工具注意事项
Ubuntu上安装xilinx PetaLinux工具的注意事项:1、修改*.run(安装程序)权限;// 例如:petalinux-v2017.4-final-installer.run版本sudo chmod 777 petalinux-v2017.4-final-installer.run2、修改安装路径的权限,从第一级文件夹开始(每个目录都要有全部权限);// 例如:安装在下面的目录下sudo chmod 777 /optsudo chmod 777 /opt/pkgsudo ch原创 2021-01-22 11:30:03 · 677 阅读 · 0 评论 -
arm-linux-gcc-5.4.0安装方法
ubuntu下安装arm-linux-gcc-5.4.0一、下载安装包:1、直接百度下载;2、这里提供一个5.4.0版本的安装包,如有需要自行下载;下载链接: 百度云盘提取码:734w ;二、安装步骤:1、进入到/usr/local文件路径下,并创建一个新文件夹(arm-linux-gcc),并赋予其最高权限;mkdir arm-linux-gccchmod 777 arm-linux-gcc2、cd到安装包实际的路径文件下,然后将arm-linux-gcc 5.4.0安装包复制到原创 2021-01-12 18:19:52 · 3700 阅读 · 3 评论 -
petalinux支持库安装
在装好petalinux之后一般要安装支持库,才能正常使用工具。库安装在工具使用指南里可以找到(PetaLinux Tools Documentation)。注意:安装版本一定要和使用指南的版本一致。文档下载:1、直接百度登录赛灵思官网;2、点击进入官网;3、选择[支持]下的[支持];4、点击[下载和许可] ,进入下载界面;5、选择[PetaLinux],版本选择如:[2019.2] ,然后点击[PetaLinux 工具文档] ;6、在User Guides文件下点击[查看所有版本原创 2021-01-07 16:22:02 · 604 阅读 · 0 评论 -
ClockBuilder Pro软件的简单使用
ClockBuilder Pro实现自定义时钟输出。一、软件下载:1、直接百度ClockBuilder Pro下载;2、百度网盘:https://pan.baidu.com/s/1dbbz1onMxkKPFqjZ6Q-S8Q ;密码:gudg ;二、软件使用:1、双击打开安装好的软件;2、点击[Create New Project],创建工程;3、点击[Show All Device];4、选择使用的的芯片型号,如:Si5345;5、点击[Next],忽略[Design ID];原创 2021-01-06 16:49:38 · 4986 阅读 · 15 评论 -
Zynq mio总结
ZYNQ的IO:Zynq的IO包括对外连接的GPIO和内部PS与PL通信的AXIO。其中对外的GPIO又分为两种:MIO和EMIO。MIO直连到PS;EMIO则是PS扩展到PL,从PL接出的IO。所以MIO不需要管脚约束,而EMIO需要管脚约束。1.MIO寄存器:上图为MIO内部构造,对MIO操作即是对以下寄存器进行配置:DATA_RO: 此寄存器使软件能观察 PIN 脚情况,当 GPIO 被配置成输出的时候,这个寄存器的值会反应输出的 PIN 脚情况。DATA:此寄存器控制输出到GPIO 的值原创 2021-01-04 19:16:16 · 501 阅读 · 0 评论 -
Xilinx SDK设置行号显示
默认情况下,SDK是没有行号的:设置行号:1、在菜单栏里选择 [Window] -> [Preferences];2、选择[General] -> [Editors] -> [Text Editors],然后勾选[Show line numbers],保存设置即可;3、查看现象原创 2021-01-04 16:14:43 · 1334 阅读 · 0 评论 -
嵌入式Linux(ZYNQ)调试命令devmem - 直接读写内存
[用法]Usage: devmem ADDRESS [WIDTH [VALUE]]读取:在地址0x97000000读取32bit值(WIDTH默认等于32, 可选值为[8, 16, 32, 64])/dev # devmem 0x97000000 0x11111111 读取:在地址0x97000000读取16bit值/dev # devmem 0x97000000 160x1111 写入:在地址0x97000000写入32bit值0x7777ABCD/dev # devmem 0x原创 2020-12-31 15:12:00 · 1965 阅读 · 0 评论 -
ZYNQ petalinux设置固定IP地址
背景:zynq petalinux在开机自启动以后ifconfig设置ip,然后运行应用程序;如果设备没有串口且程序在启动过程中用Wireshark抓取不到信息,这时,就要使用固定IP地址进行测试了。解决方法:方法一:将固定IP地址编译到系统1、cd 到项目工程目录下,运行命令:petalinux-config或者直接在petalinux-config --get-hw-description …/linux_base.sdk的时候,依次选择 Subsystem AUTO Hardware Sett原创 2020-12-31 14:53:21 · 4031 阅读 · 3 评论 -
vim颜色显示和一般模式
1、vim颜色显示。用vim命令打开/etc/passwd,我们可以看到有颜色显示。使用cp命令把这个文档放到/tmp/下,发现不显示颜色。这个说明相同的文件在不同目录下有可能导致颜色不存在。/etc目录下面都是配置文件,都能显示颜色,把这些文件放到别的地方就不会显示颜色。总之,vim显示颜色的条件有很多,往往跟文件的位置和内容有关系。2、一般模式。当我们使用命令vim filename编辑文件时,默认进入该文件的一般模式。在这个模式下你可以进行的操作有:上下移动光标、删除某个字符、删除某行以原创 2020-12-22 14:37:44 · 2595 阅读 · 0 评论 -
Xilinux SDK 提示使用了为定义的pthread_create函数接口
环境:win10 64-bit;Xilinx SDK 2019.1版本;错误提示:在包含#include <pthread.h>头文件的前提下,提示使用了未定义的函数接口,如下图:解决方法:1、在菜单栏里选择【Project】 -> 【Properties】,如下图:2、在打开的界面里面选择【C/C++ Build】下的【Setting】,然后选择右侧【Tool Settings】下【ARM v7 Linux gcc linker】 -> 【Libraries】,然原创 2020-12-08 18:06:37 · 773 阅读 · 0 评论 -
linux(ubuntu)下创建新用户没有创建用户家目录
错误现象:useradd之后 在家目录无法看到有用户的家目录 ,登录新建用户的时候,提示/home下该目录不存在或者用户不存在导致无法登录解决办法:原因是没有在/home目录下创建用户的家目录,所以子创建的时候需要加参数-m。sudo useradd -m username #参数-m 自动创建用户的家目录ls /home 查看是不是有刚刚新建的用户名了。然后设置密码,根据需要做其他的配置。其他创建用户命令:也可以直接使用 sudo adduser username #按原创 2020-11-27 14:44:03 · 10116 阅读 · 0 评论 -
virtualBox Linux Ubuntu设置共享文件夹
说明:1、使用命令mount挂载;2、每次开机后都要重新挂载一下。步骤:1、首先进入系统,找到控制下的设置;或者在virtualBox下双击共享文件夹;2、在设置页面的下方,有共享文件夹,选择共享文件夹,然后点击右侧新建;3、在Windows新建一个share共享文件,弹出的窗口中选择此文件,并勾选固定分配;4、确定,可以看到新建的共享文件夹已经被关联;5、在Windows的share目录下新建测试文件1.txt;6、打开终端,切换到root权限,进入/mnt目录,执行命令:原创 2020-11-18 18:22:23 · 7020 阅读 · 2 评论 -
查看ubuntu是多少位和常用信息
查看已装ubuntu是多少位。1、打开终端(ctrl + shift + t),输入 sudo uname --m ,回车(enter)如果显示i686, 你安装了32位操作系统如果显示x86_64,你安装了64位操作系统其它常用命令:sudo uname --s 显示内核名字ssudo uname --r 显示内核版本sudo uname --n 显示网络主机名 (等同于 hostname)sudo uname --p 显示cpu...原创 2020-11-18 17:45:45 · 297 阅读 · 0 评论 -
Windows和Ubuntu系统文件无法粘贴问题
在Ubuntu上安装【增强功能…】失败或成功后再次开机还是不能用粘贴;解决方法如下:第一步:sudo apt-get autoremove open-vm-tools第二步: sudo apt-get install open-vm-tools-desktop第三步: 重启虚拟机,reboot查看Ubuntu和windows之间是不是可以相互粘贴复制了。搞定...原创 2020-11-10 16:45:38 · 847 阅读 · 1 评论 -
安装时提示错误:E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a‘ to correct the pro
问题现象:下载并安装gcc/g++ 4.7.x报错:解决办法:1、删除提示存在的包:sudo dpkg -P libaria ;2、执行修正:sudo apt-get install -f ;现在可以进行下载并安装gcc/g++ 4.7.x了:原创 2020-10-21 14:37:20 · 557 阅读 · 0 评论 -
Virtualbox安装增强功能时显示【未能加载虚拟光盘】
问题现象:1、未能加载虚拟光盘:2、把虚拟盘弹出后再安装仍有问题:3、运行增强功能以后出现:install the gcc make perl packages…解决办法:1、在terminal中输入以下命令:2、在安装gcc使用apt-get命令时,遇到了以下小小的问题:3、在terminal中输入以下命令:4、重新弹出虚拟盘,再次安装增强功能:希望对你有帮助。...原创 2020-10-20 15:02:27 · 7567 阅读 · 1 评论 -
Ubuntu系统配置成samba服务器
版本:Ubuntu16.04 ,有界面;一、 配置samba服务器1、安装samba;sudo apt-get install samba2、创建共享文件夹并设置权限;sudo mkdir /home/share ,创建文件夹;sudo chmod 777 /home/share ,设置权限;3、修改配置文件;sudo gedit /etc/samba/smb.conf ;4、在文件末尾添加一下内容;5、重启samba服务器 ;sudo /etc/init.d/samba resta原创 2020-07-08 16:07:25 · 893 阅读 · 0 评论 -
在Ubuntu系统上装TeamViewer(纯Ubuntu不是虚拟机)
Ubuntu版本16.04由于物理环境问题,在Ubuntu上安装TeamViewer更方便操作。1、从官网下载ubuntu的deb安装包,进入TeamViewer官网,点击下载,选择Linux;2、选择Ubunut下载;3、用U盘拷贝到Ubuntu系统的Home文件夹下;4、打开终端,执行命令 sudo dpkg -i teamviewer_xxxx.deb(刚刚拷贝的deb文件);若出现:Errors were encountered while processing:teamviewe原创 2020-07-08 14:00:30 · 404 阅读 · 0 评论 -
VirtualBox与Ubuntu安装
电脑环境:win10; 64-bit;一、Virtual Box的下载与安装1、Virtual Box的下载:(1):直接百度Virtual Box进入官网,下载6.0.0版本(目前最高版本);选择【Windows hosts】平台;(2):或者在我的网盘里面直接下载已经下载好的6.0.0版本(我的网盘 -> 安装包 ->04_VirtualBiox);2、VirtualBox的安装:安装过程直接点击下一步即可,可以根据自己的情况修改安装目录。二、Ubuntu的下载与安装1、原创 2020-07-03 18:16:53 · 834 阅读 · 0 评论