![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
zhang-ge
这个作者很懒,什么都没留下…
展开
-
用make-kpkg制作Ubuntu的内核安装包deb
1 安装make-kpkgsudo apt install kernel-package大概需要安装800M的文件包。2 配置内核在内核源码顶层目录执行:make xxx_defconfig3 编译内核并制作内核deb包在内核源码顶层目录执行:make-kpkg --initrd --revision 001 --append-to-version -20220228 kernel_image kernel_headers 参数说明:--initrd: 生成initramfs-原创 2022-03-28 17:52:26 · 2909 阅读 · 1 评论 -
Ubuntu切换指定版本的内核
本文来源:马春杰杰的博客想切换不同系统内核怎么办?按下面步骤即可:1.查找当前内核id:grep submenu /boot/grub/grub.cfg如下:submenu 'Ubuntu 高级选项' $menuentry_id_option 'gnulinux-advanced-3f5e97d5-cd08-4560-94df-613149aac32e' {将单引号中的id记录下来gnulinux-advanced-3f5e97d5-cd08-4560-94df-613149aac32e。原创 2022-03-28 16:25:24 · 15370 阅读 · 4 评论 -
QEMU搭建arm32的ubuntu20.04虚拟机
1.编译内核#获取内核源码wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/linux-5.4.18.tar.xztar -vxf linux-5.4.18.tar.xz#编译内核mkdir -p outputKERNEL_OUT=$PWD/outputcd linux-5.4.18export ARCH=armexport CROSS_COMPILE=/usr/local/arm/gcc-arm-11.2-2022.02-x原创 2022-03-23 15:57:14 · 4650 阅读 · 18 评论 -
解决Linux编译内核生成的initrd.img过大
编译内核安装模块会默认把.ko模块也编进去,导致出来的initrd.img会有800M左右的大小,无法开机。这时就需要改一下安装模块时的命令了。把sudo make modules_install 改为sudo make ARCH=arm64 O=$KERNEL_OUT INSTALL_MOD_STRIP=1 modules_install INSTALL_MOD_PATH=~/modules/如果是编译成deb包的,就输入sudo make ARCH=arm64 O=$KERNEL_OUT IN原创 2022-03-20 19:46:56 · 2278 阅读 · 2 评论 -
QEMU安装x86_64_ubuntu20.04虚拟机
1.安装使用qemu安装ubuntu20.04:#制作镜像dd if=/dev/zero of=emu_ubuntu20.04_x86.img bs=1M count=10240mkfs.ext4 emu_ubuntu20.04_x86.img#安装qemu-system-x86_64 -m 2048 -smp 2 -nographic -boot d -hda qemu_ubuntu20.04_x86.img -cdrom ubuntu-20.04.4-live-server-amd64.i原创 2022-03-19 13:08:53 · 3407 阅读 · 0 评论 -
Ubuntu安装指定版本的内核
以下介绍两种方法更新ubuntu的内核版本:1.检查当前系统安装的内核版本uname -sr2.在 Ubuntu中升级内核2.1.要升级 Ubuntu 的内核,打开 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 并选择列表中需要的版本(此文使用的内核是 5.4.18)。2.2. 接下来,根据你的系统架构下载 .deb 文件:wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.180/a原创 2022-03-19 11:44:23 · 10240 阅读 · 3 评论 -
Linux下制作bin文件,并对其进行截取、合并、修改
1.生成全是0的bin文件dd if=/dev/zero of=all_0x00.bin bs=1 count=10242.生成全是FF的bin文件tr '\000' '\377' < /dev/zero | dd of=all_0xff.bin bs=1 count=1024 > /dev/null3.合并bin文件cat all_0x00.bin all_0xff.bin > all.bin4.分割bin文件dd if=all.bin bs=1 count=512原创 2022-01-04 16:48:01 · 4493 阅读 · 0 评论 -
Win10家庭版开启远程桌面
一、Win10家庭版是不支持远程桌面的,但是可以借助开源工具开启此功能。github上有对应的开源程序:https://github.com/stascorp/rdpwrap二、从Release中下载最新的版本:RDP Wrapper Library v1.6.2,此版本已停止更新,后续更新只需要更新rdpwrap.ini即可,安装步骤:1.解压后,先管理员权限执行install.bat.2.然后管理员权限执行RDPConf.exe.3.出现下图中绿色的部份,说明可以正常使用:原创 2021-12-18 11:12:47 · 12430 阅读 · 7 评论 -
WSL安装ftp服务器并配置frp内网穿透(适用于Linux平台)
1.ftp服务器安装sudo apt install vsftpd2.ftp服务器配置vim /etc/vsftpd.conf# 按以下的配置修改listen=YESlisten_ipv6=NOanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESdirmessage_enable=YESuse_loc原创 2021-12-05 12:28:03 · 3348 阅读 · 0 评论 -
Linux下使用wget下载ftp服务器上的文件
使用wget命令下载ftp服务器上的文件和文件夹:wget ftp://ip:port/file --ftp-user=name --ftp-password=password -r解释:ip:服务器ipport:服务器端口name:ftp用户password:ftp用户密码-r:递归下载原创 2021-12-04 00:42:49 · 6588 阅读 · 0 评论 -
ubuntu20.04配置安装frp内网穿透
1.frp GitHub网址https://github.com/fatedier/frp2.下载wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz3.安装#解压缩tar -vxzf frp_0.38.0_linux_amd64.tar.gzcd frp_0.38.0_linux_amd64#复制执行文件sudo cp frpc frps /usr/bi原创 2021-12-02 10:24:08 · 19679 阅读 · 0 评论 -
you-get常用命令
you-get常用命令1.安装you-getpip install you-get1.查看可以下载的视频信息、分辨率等信息you-get -i 视频url2.执行视频格式you-get you-get --format=视频格式 视频url3.连续下载多个视频you-get you-get --playlist 视频url...原创 2021-08-08 11:01:13 · 2160 阅读 · 0 评论 -
WSL安装ROS2报错:libQt5Core.so.5: cannot open shared object file
1.WSL-Ubuntu20.04安装ROS2后报错:error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory2.解决方法执行以下命令:sudo apt-get install libqt5core5asudo strip --remove-section=.note.ABI-tag /lib/x86_64-linux-gnu/l.原创 2021-08-01 22:56:59 · 5089 阅读 · 0 评论 -
Ubuntu开发环境搭建实用方法(持续更新中...)
1.离线安装PackagesUbuntu packages下载的需要的packages的对应的版本安装:sudo dpkg -i xxx.deb原创 2021-06-24 14:56:11 · 701 阅读 · 0 评论 -
rootfs.img文件扩容
使用qemu模拟Ubuntu时,如果rootfs.img刚开始制作的时候并不是太大,用着用着会发现rootfs.img的空间不够用的情况,可以采用下面的方法对img文件进行扩容。1.使用下面命令给img文件追加空间#给img文件追加5G空间qemu-img resize rootfs.img +5G2.扩容文件系统分区分区e2fsck -f rootfs.imgresize2fs rootfs.img上面两部执行完后即完成了rootfs.img的扩容,进入系统后就会发现空间变大了。附录:原创 2021-06-15 22:42:43 · 2774 阅读 · 1 评论 -
cmake常用配置
1.设置编译参数#THIS FILE IS AUTO GENERATED FROM THE TEMPLATE! DO NOT CHANGE!set(CMAKE_SYSTEM_NAME Generic)set(CMAKE_SYSTEM_VERSION 1)cmake_minimum_required(VERSION 3.17) # specify cross compilers and toolsset(CMAKE_C_COMPILER arm-none-eabi-gcc)set(CMAKE_原创 2021-06-14 12:39:44 · 1039 阅读 · 2 评论 -
linux内核调试和性能优化
Linux内核调试和性能优化原创 2021-06-14 11:05:15 · 3303 阅读 · 1 评论 -
使用宏扩展打印函数
开发过程中为了便于移植,通常需要对打印函数进行重命名,以TI的CCS6编译器为例,可采用如下方法:1、CCS6开启VA_ARGS__宏的支持:CCS Build --> C6000 Compiler --> Advanced Options --> Language Options --> Language Mode --> Relaxed paring(non-strict ANSI)2、使用宏重命名打印函数extern void my_print(fmt,原创 2021-06-02 21:05:39 · 219 阅读 · 0 评论 -
Linux用户空间操作gpio
1.sysfs读写IO 最常见的读写GPIO方式,通过操作/sys/class/gpio目录下的export、unexport、gpio{N}/direction, gpio{N}/value等文件来实现。不过此方法已过 时,已被Linux官方抛弃。 以nvidia NX的核心板为例:1.1.内核源码GPIO相关#define TEGRA194_MAIN_GPIO_PORT_A 0#define TEGRA194_MAIN_GPIO_PORT_B 1#define TEGRA194_MA原创 2021-02-08 15:58:26 · 820 阅读 · 0 评论 -
解决ubuntu20.04双系统grub界面笔记本无法使用外接usb键盘的问题
1.进入bios界面.2.使能支持所有的usb_device.3.上面的步骤操作完有可能会在进入grub界面时,可以使用笔记本自带的键盘,但是无法使用外接的usb键盘。原因:Bios的Fast boot没有关闭所致。解决方法:Bios关闭Fast boot....原创 2021-02-01 11:07:49 · 1930 阅读 · 0 评论 -
使用eclipse与jLink V8调试exynos 4412 u-boot
使用eclipse与jLink V8调试exynos 4412 u-boot 首先说一下我实验室的网络环境:一台搭载ubuntu系统的公用Linux服务器,数台客户机使用ssh连接到服务器。我个人的开发环境:使用Mac OS X系统,ssh远程连接Linux服务器。USB转串连接4412开发板,USB经jLink连接开发板,暂时别无其它线缆连接。 这里我就以Mac系统为例,说一下软硬件环境搭建,windows与Linux下搭建方法基本相同。 首先准备软...转载 2020-11-25 16:58:17 · 284 阅读 · 0 评论 -
devm_xxx机制
前言 devm是内核提供的基础机制,用于方便驱动开发者所分配资源的自动回收。参考内核文档devres.txt。总的来说,就是驱动开发者只需要调用这类接口分配期望的资源,不用关心释放问题。这些资源的释放会在device对象销毁时自动释放。devres使用 不同的内核模块提供了对应的devm_xxx接口,如下(不仅仅这些):MEM devm_kmalloc() devm_kzalloc() devm_kcalloc() devm_kmalloc_array() dev...原创 2020-11-24 19:00:45 · 1388 阅读 · 0 评论 -
LCD驱动(FrameBuffer)分析
【驱动】LCD驱动(FrameBuffer)分析 背景知识在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此LCD的应用很有实际意义!LCD工作的硬件需求:要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C24...转载 2020-11-24 11:35:54 · 595 阅读 · 0 评论 -
Win10安装Ubuntu20.04双系统报错 [Errno 5] Input/output error
解决Win10安装Ubuntu20.04双系统复制文件出错的问题1.使用工具Ubuntu20.04启动盘制作工具:Rufus 3.12Ubuntu20.04镜像文件:ubuntu-20.04.1-desktop-amd64.iso2.问题产生bios进入ubuntu20.04启动盘,在安装过程中进行到复制文件时,报错如下:[Errno 5] Input/output error此个别错误往往由有缺陷的CD/DVD光盘或CD/DVD驱动器导致,或者由有缺陷的硬盘导致。清洁CD/DVD、用低速刻录原创 2020-11-11 22:10:49 · 2020 阅读 · 4 评论 -
嵌入式linux开发常用操作
嵌入式linux开发常用命令1.ubuntu交叉编译器环境变量设置vim /etc/profileexport PATH=$PATH:/usr/local/arm/gcc-arm-none-eabi-9-2019-q4-major/binexport PATH=$PATH:/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin2.使用grep搜索指定字符串grep "字符串" * -nR...原创 2020-11-09 09:56:46 · 731 阅读 · 0 评论 -
Ubuntu18.04和Win10双系统的默认启动顺序
修改Ubuntu18.04和Win10双系统的默认启动顺序1.grub.cfg文件进入Ubuntu18.04系统,Ubuntu18.04的系统引导程序是grub,在终端打开/boot/grub/grub.cfg文件:sudo gedit /boot/grub/grub.cfg2.修改set_default的值set_default的值代表了系统启动的选项,其值从0开始,依次对应grub启动界面的启动列表。0代表默认启动的是启动系统界面第一个,我的电脑一共有4个,Windows在第三个,所以改原创 2020-09-22 19:36:32 · 770 阅读 · 3 评论 -
Ubuntu18.04 开机自动挂载硬盘
ubuntu18.04系统除了安装盘外,如果有多个盘符,开机时是不会自动挂载的。对于win10和ubuntu18.04双系统来说,有时需要去其他盘中查看文件,如果在ubuntu18.04中不自动挂载,那么每次查看文件都要先去执行挂载命令,比较麻烦。下面来配置ubuntu18.04开机自动挂载盘符。1.在ubuntu18.04中查看硬盘信息:$ sudo fdisk -l2.创建/mnt/d目录:$ sudo mkdir /mnt/d3.查看磁盘分区的UUID,确定要挂载的磁盘的UUID:$原创 2020-09-04 15:34:18 · 1714 阅读 · 0 评论 -
ubuntu18.04使用systemd设置开机自启动程序
ubuntu-18.04 LTS版本改用了systemd来管理系统服务systemd 默认从目录 /etc/systemd/system/ 读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录 /lib/systemd/system/,真正的配置文件存放在这个目录。一般系统管理员手工创建的单元文件建议存放在 /etc/systemd/system/ 目录下面。接下来开始设置开机自启:1、在/etc/目录下创建demo.local(文件名可随意),里面写我们的启动脚本,保存并修改权限vi /转载 2020-09-03 15:40:57 · 1027 阅读 · 0 评论 -
Windows10子系统WSL修改默认安装目录到其他盘
WSL修改默认安装目录到其他盘1.查看WSL分发版本2.导出分发版为tar文件到d盘3.注销当前分发版4.重新导入并安装WSL在d:\wsl-ubuntu20.045.设置默认登陆用户为安装时用户名6.删除tar文件(可选)7.结束1.查看WSL分发版本在Windows PowerShell中输入如下命令:wsl -l --all -v结果如下: NAME STATE VERSION * Ubuntu-20.04 Running 22.导出分发版为tar文件到d盘wsl --expor原创 2020-08-26 09:52:12 · 11864 阅读 · 7 评论 -
ubuntu18.04 LTS 更换apt源为阿里源
WSL-Ubuntu18.04 LTS 更换apt源为阿里源在终端输入命令其他一些apt 命令在终端输入命令$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak$ sudo sed -i 's/security.ubuntu/mirrors.aliyun/g' /etc/apt/sources.list$ sudo sed -i...原创 2019-11-28 22:39:47 · 649 阅读 · 0 评论 -
ubuntu20.04中搭建rt-thread的env环境
ubuntu20.04中搭建rt-thread的env环境报错:python ImportError: No module named requests安装requestspip install requestspip安装报错的解决方法curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.pypip install requests...原创 2020-08-24 11:09:09 · 919 阅读 · 0 评论 -
Beyond Compare 4一直使用方法
1.修改X:\Program Files\Beyond Compare 4\BCUnrar.dll这个文件重命名或者直接删除。2.修改注册表1)在搜索栏中输入 regedit ,打开注册表2) 删除项目:计算机\HKEY_CURRENT_USER\Software\ScooterSoftware\Beyond Compare 4\CacheId...原创 2020-03-31 14:38:27 · 427 阅读 · 0 评论 -
使用 VSCode、arm-none-eabi-gdb、J-Link GDB Server 调试RTThread
1.所需工具(1).Visual Studio Code(VScode)。(2).arm-none-eabi-gcc编译器。(3).JLink_Windows_V664b.exe。(4).Jlink仿真器。2.安装Visual Studio CodeVScode下载地址:https://code.visualstudio.com/。下载windows版本,直接双击即可安装,这个没啥好...原创 2020-03-30 00:04:40 · 8345 阅读 · 0 评论