Linux World

记录Linux系统中常常遇到的问题对应的解决方法

工具
Linux必备工具 Gdb 利用Yocto工程生成debug符号 实现目的 # 嵌入式设备在进行gdb调试时,由于存储容量限制,文件系统中一般不会包含debug版本的libc库,导致总是会提示找不到符号表,如下 (gdb) n Program received signal SIGABRT, Aborted. 0xb6c0fbe6 in ?? () (gdb) bt #0 0xb6c0fbe6 in ?? () #1 0xb6c1ebce in ?? () 如果程序需要依赖多个库,就需要单独去编译每一个依赖的库为debug版本,不太现实,可以利用yocto工程一次性解决,轻松实现目标,生成debug版本的安装包或者debug版本的文件系统。 利用Yocto工程生成debug符号 # 默认SDK包中并不包含debug版本的库和源码文件,为了让gdb找到符号表,需要重新编译SDK,开启debug相关选项,通过如下两步,可以获得一个debug安装包,安装之后,会在原有SDK安装目录下添加debug版本的库和源码文件,这样在执行GDB调试时,指定好相应的目录就能找到符号表了 1、修改conf/local.conf文件 # 新增如下: #debug时添加以下选项 EXTRA_IMAGE_FEATURES ?= "tools-debug ssh-server-openssh" #解决bitbake执行到打包时失败 RDEPENDS_packagegroup-core-standalone-sdk-target_remove = "libatomic-dev" 2、执行如下bitbake命令,生成带debug符号的SDK安装包 # MACHINE=am335x-evm bitbake -c populate_sdk tisdk-base-image 在~/tool/tisdk/build/arago-tmp-external-arm-glibc/deploy/sdk/目录下,会生成arago-2020.09-toolchain-2020.09.sh和arago-2020.09-toolchain-2020.09.sharago-2020.09-armv7a-linux-gnueabi-tisdk.sh两个安装包,如下 qq@ubuntu:~/tool/tisdk/build/arago-tmp-external-arm-glibc/deploy/sdk$ ls -lth total 1.2G -rwxr-xr-x 2 qq qq 646M Apr 2 02:36 arago-2020.09-armv7a-linux-gnueabi-tisdk.sh -rw-r--r-- 2 qq qq 7.
Raspberry
常用 apt源 # 修改/etc/apt/sources.list,去掉自带的源,添加如下源(二选一即可): 清华源 deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi 阿里源 deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib 修改:/etc/apt/sources.list.d/raspi.list,去掉自带的源,添加如下源: deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui 使用代理 apt update -o Acquire::http::proxy="socks5h://192.168.31.181:10808/" raspberry-qt # https://github.com/tranter/raspberry-pi-qt-builds/releases cd / sudo tar xf /home/pi/Qt5.10.1-RaspberryPi3-bin-full.tgz qtchooser -install qt-5.12.2 /usr/local/Qt-5.15.2/bin/qmake https://blog.csdn.net/tianfour/article/details/76068656 youtube-dl # channel_url="https://www.youtube.com/user/channelname/playlists" https://www.youtube.com/channel/UCNT5WLWYnSV30mlKLnPzHTg/playlists https://www.
Ubuntu
目录共享配置 Samba配置 # samba配置后,仍然无法访问 # https://blog.csdn.net/Panda_YinLP/article/details/104687438 访问window共享目录 # sudo mount -t cifs -l //192.168.31.181/raspberry /media/pi/win TFTP配置 # https://linuxhint.com/install_tftp_server_ubuntu/ https://download.samba.org/pub/samba/ NFS挂载 # https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-20-04 将文件系统目录导出 # 解压文件系统 cd /usr/local/ti-sdk-am335x-evm-07.03.00.005/filesystem/ sudo mkdir tisdk-default-image-am335x-evm sudo tar -Jxf tisdk-default-image-am335x-evm.tar.xz -C tisdk-default-image-am335x-evm 修改/etc/exports增加NFS导出目录后,重新加载 # $ vi /etc/exports #增加以下内容 /usr/local/ti-sdk-am335x-evm-07.03.00.005/filesystem/tisdk-default-image-am335x-evm *(rw,nohide,insecure,no_subtree_check,async,no_root_squash) 使NFS目录生效 # $ sudo exportfs -a 查看NFS导出列表 # #查看NFS导出列表 $ showmount -e Export list for ubuntu: /usr/local/ti-sdk-am335x-evm-07. 系统代理和证书 系统代理 # vi ~/.