
linux
xld_1992
路漫漫其修远兮,吾将上下而求索
展开
-
fdisk命令对mmc分区格式化并shell脚本自动化
1. fdisk /dev/mmcblk0Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list kn...原创 2019-11-26 18:07:44 · 2855 阅读 · 0 评论 -
linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法
运行shell脚本时出现:syntax error near unexpected token `$'\r“的错误,一般是格式的问题,比如直接从txt文档拷贝过来的内容;解决方法:sed -i 's/\r//g' test.shsed遵循简单的工作流:读取(从输入中读取某一行) 执行(在某一行上执行sed命令) 显示(把结果显示在输出中)默认是显示修改后内容,不会修改原文件,除非...原创 2019-11-26 11:34:23 · 1983 阅读 · 1 评论 -
linux设备支持ntfs类型U盘笔记
1.内核配置:内核需要添加FUSE: File systems -----> <*> FUSE (Filesystem in Userspace) support2.下载ntfs-3g源码包与编译:(1)从http://www.tuxera.com/community/ntfs-3g-download下载的ntfs-3g源码包;(...原创 2019-03-05 18:20:33 · 557 阅读 · 0 评论 -
linux账号管理笔记
1.新建账号:添加 test 用户名的账号,并把账号放入 developer 组:sudo useradd -g developer test -d /home/test添加密码:sudo passwd test删除账号:sudo userdel test使用adduser命令效果会更好;2.新建用户组:sudo groupadd developer:新建deve...原创 2019-02-13 10:27:55 · 256 阅读 · 0 评论 -
linux下tty, ttyn, pts, pty, ttySn, console理解
这一下涉及很多概念:终端,伪终端,虚拟终端,控制终端,串行终端,控制台,……。历史原因这些概念有些模糊,我也理不太清楚。就我直观对dev下设备而言来稍微解释下:/dev/tty控制终端,即当前用户正在使用的终端,是一个映射,指向当前所使用的终端(例如/dev/tty1,/dev/pts/0)。往/dev/tty下写数据总是写到当前终端。/dev/ttyn虚拟终端,例如ubuntu不启动...转载 2019-01-12 11:10:43 · 384 阅读 · 0 评论 -
linux 打印输出重定向的问题
一、应用场景:当我们要调试一台基于linux设备时,如果出现问题,但是没有串口查看信息,这个时候就可以考虑使用telnet登入到设备,并用串口打印信息重定向到telent窗口的方案;二、源码实现:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl...原创 2019-01-12 10:58:07 · 1270 阅读 · 0 评论 -
tftp环境搭建笔记
一.安装tftp所需要的软件:tftp客户端软件:sudo apt-get install tftp-hpa tftp服务端:sudo apt-get install tftpd-hpa进程守护程序:sudo apt-get install xinetd二.在跟目录下创建tftpboot目录:sudo mkdir /tftpboot修改权限:chmod -R 777 /t...原创 2018-12-16 12:52:40 · 422 阅读 · 0 评论 -
busybox编译笔记
1.下载busybox-1.20.1.tar.bz2.解压:tar jxvf busybox-1.20.1.tar.bz3.配置:(1)进入解压后的文件busybox-1.20.1:cdbusybox-1.20.1(2)进行默认配置:make defconfig(3)个别修改配置:make menuconfigBusybox Setting ----->...原创 2018-12-03 21:45:51 · 918 阅读 · 0 评论 -
vsftpd 配置说明
Vsftpd.conf配置:anonymous_enable=YES#允许匿名访问local_enable=YES#允许本地用户访问(/etc/passwd中的用户)write_enable=YES#允许写入权限,包括修改,删除local_umask=022#本地用户文件上传后的权限是-rw-r-r#anon_umask=077#匿名用户上传后权限是-rw...转载 2019-03-04 10:45:54 · 783 阅读 · 0 评论 -
设备树之GPIO和中断实例
概述设备树不仅仅描述常规硬件信息,还可以描述中断,GPIO,DMA,PINCTRL,时钟,电源管理等内核基础设施信息及其使用情况,下面重点介绍中断,GPIO等结点属性中断控制器对于中断控制器结点,它提供如下属性:interrupt-controller 表明自己的身份为中断控制器interrupt-cells该属性与#address-cells属性相似,它声明了设备结点int...转载 2019-04-17 09:24:43 · 4889 阅读 · 0 评论 -
Linux下GBK文件编码批量转换UTF-8命令
使用iconv 转换Iconv语法:iconv -f encoding -t encoding inputfile单个文件转换:$ iconv -f GBK -t UTF-8 file1 -o file2批量转换:$ find default -type d -exec mkdir -p utf/{} \;$ find default -type f -exec iconv...转载 2019-04-26 16:19:37 · 3592 阅读 · 0 评论 -
awk 学习
awk命令形式:awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file[-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value' ' 引用代码块BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符// ...转载 2019-05-08 11:10:37 · 154 阅读 · 0 评论 -
Linux 内存映射函数 mmap()函数笔记
1.所需头文件:<sys/mman.h>2.函数原型:void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset)(1)start:要映射到的内存区域的起始地址,通常都是用NULL(NULL即为0)。NULL表示由内核来指定该内存地址 ;(2)length:要映射的内存...转载 2019-05-22 16:30:09 · 238 阅读 · 0 评论 -
kmalloc、vmalloc、malloc、calloc的区别
1.kmalloc和vmalloc是分配的是内核的内存,malloc、calloc分配的是用户的内存;2.kmalloc保证分配的内存在物理上是连续的,vmalloc保证的是在虚拟地址空间上的连续,malloc不保证任何东西;3.kmalloc能分配的大小有限,vmalloc和malloc能分配的大小相对较大;4.内存只有在要被DMA访问的时候才需要物理上连续;5.vmalloc比...转载 2019-06-08 15:47:35 · 1110 阅读 · 1 评论 -
xargs命令详解
一、为什么要用xargs:linux的命令中很多的命令的设计是先从命令行参数中获取参数,然后从标准输入中读取,xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数;二、xargs的一些有用的选项:1. -d 选项默认情况下xargs将其标准输入中的内容以空白(包括空格、Ta...转载 2019-07-05 22:40:47 · 12335 阅读 · 0 评论 -
Linux vi/vim使用方法 总结
vi/vim 基本使用方法vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command ...转载 2019-07-06 09:55:21 · 323 阅读 · 0 评论 -
SMP多核启动
在 Linux系统中,对于多核的ARM芯片而言,在Biotron代码中,每个CPU都会识别自身ID,如果ID是0,则引导Bootloader和 Linux内核执行,如果ID不是0,则Biotron一般在上电时将自身置于WFI或者WFE状态,并等待CPU0给其发CPU核间中断或事件(一般通过SEV指令)以唤醒它。一个典型的多核 Linux启动过程如图20.6所示。被CPU0唤醒的CPUn可以...转载 2019-09-21 09:44:56 · 1223 阅读 · 0 评论 -
Linux驱动调试中的Debugfs的使用简介
Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14)在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结点进行...转载 2018-12-03 18:38:31 · 1141 阅读 · 0 评论 -
zynq 文件系统中加载PL fpga.bit笔记
1.在启动脚本中添加创建/dev/xdevcfg节点:if [ ! -e /dev/xdevcfg ]then mknod /dev/xdevcfg c 259 0fi2.直接用以下命令完成PL Image写入:cat top_sds1000b_fpga.bit > /dev/xdevcfg...原创 2018-12-03 18:10:38 · 5050 阅读 · 0 评论 -
关于热插拔usb hotplug /proc/sys/kernel mdev udev busybox
如何使用busybox精简版本udev程序--mdev动态创建插入的u盘和鼠标等设备busybox的mdev是一个精简了的udev管理程序,它可以间接的以hotplug方式被内核调用,进而在arm平台上/dev目录下动态创建设备 节点,因为hotplug会被内核发送uevent之前调用,所以如果动态可插拔设备很多,很频繁,那么每次内核都会调用elf格式的用户空间的 hotplug,生成一个独立...转载 2018-12-03 17:32:55 · 652 阅读 · 0 评论 -
转载:linux+arm 网卡故障调试:ethtool&phy寄存器读写
Linux+arm 网卡故障调试:ethtool&phy寄存器读写两个工具一个是ethtool工具,一个是源码编译的可以读phy寄存器的工具phyreg。两者结合使用,事半功倍。ethtool 可以查看和设置网卡的工作状态,比如查看设置网卡的链接 自协商,10/100/1000M,双工半双工的工作状态。ethtool的交叉编译工具,转载 2017-10-12 10:00:00 · 5264 阅读 · 3 评论 -
Linux /etc/profile文件详解
linux /etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西,学习Linux要了解Linux profile文件的相关原理,这里对则以文件进行具体分析。这里修改会对所有用户起作用。 1、Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自...转载 2018-10-25 09:31:43 · 420 阅读 · 0 评论 -
Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法
Ubifs产生背景: 无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一。真正开始开发于2007年,并于2008年10月第一次加入稳定版本于Linux核心2.6.27版。UBIFS最早在2006年由IBM与Nokia的工程师Thomas Gl...转载 2018-10-25 11:22:12 · 3131 阅读 · 0 评论 -
内核中修改和保存defconfig的方法
1. 要修改在arch/arm/configs下的文件xxx_defconfig2. make xxx_defconfig 会生成.config文件。3. make menuconfig 修改配置后保存4. make savedefconfig 生成defconfgi文件5. cp defconfig arch/arm/configs/xxx_defconfig 保存这样保存的defco...转载 2018-10-24 10:43:10 · 2065 阅读 · 0 评论 -
虚拟机ubuntu使用笔记之samba安装
一.调整ubuntu屏幕分辨率: xrandr:查看当前支持的分辨率组合; xrandr -s 1920x1200 :设置当前的屏幕分辨率;二.开通root用户: sudo passwd root :为root设置密码;三.samba配置和安装:1.samba的安装:sudo apt-get install samba2.创建两个共享目录:mkdir ...原创 2018-11-18 19:13:55 · 192 阅读 · 0 评论 -
cmake使用笔记
一.设置cmake版本:CMAKE_MINIMUM_REQUIRED (VERSION 2.8),根据当前cmake版本设置,版本一般不低于2.8;二.cmake中预定义的一些变量:PROJECT_SOURCE_DIR、CMAKE_SOURCE_DIR、_SOURCE_DIR、CMAKE_CURRENT_SOURCE_DIR :工程的根目录CMAKE_SYSTEM_NAME:即目标机...原创 2018-11-16 15:50:06 · 542 阅读 · 0 评论 -
uboot添加自定义命令
1.在./common文件夹下新建xx.c命令文件;需要用到的结构体为:U_BOOT_CMD(name,maxargs,repeatable,command,"usage","help")name:命令名,非字符串,但在U_BOOT_CMD中用“#”符号转化为字符串maxargs:命令的最大参数个数repeatable:是否自动重复(按Enter键是否会重复执行)command:该命...原创 2018-11-16 20:31:40 · 402 阅读 · 0 评论 -
ubuntu命令创建用户无法登入问题
ubuntu在命令行新建用户后无法进入桌面的原因在命名行模式下 用useradd新建一个用户后 在图形界面输入密码无法登陆 这是因为未对新建的用户进行任何配置 用adduser命令新建用户即可进入桌面下面说一下useradd 和 adduser的区别ubuntu创建新用户命令(useradd和adduser)的使用方法和区别在Ubuntu中创建新用户,通常会用到两个命令:useradd和...转载 2018-11-22 22:30:46 · 6002 阅读 · 0 评论 -
uboot中添加新型号步骤以及编译方法
一、添加新型号的支持:1.在board.cfg 添加需要支持的型号;2.在include/configs下添加支持新型号的.h文件;二、uboot编译方法:1.配置编译的环境变量:export PATH=$PATH:编译器路径export CROSS_COMPILE=arm-linux-gnueabihf-2.清理相关配置:make clean:删除大多数的编译生成文...原创 2018-11-20 10:06:24 · 843 阅读 · 0 评论 -
Windows上使用SecureCRT软件连接Linux终端 — 解决问题;The remote system refused the connection
如果你遇到这个问题,说明你的Linux系统里面没有安装openssh-server1.安装:sudo apt-get install openssh-server;2.查看是否安装:root@ubuntu:~$ ps -e | grep ssh一般会出现sshd代表安装成功:3834 ? 00:00:00 sshd3.重启:ssh-agent restart4.如果无效...转载 2018-11-25 10:53:33 · 261 阅读 · 0 评论 -
嵌入式arm linux 文件系统登入密码的修改笔记
1.设置登录时需要用户和用户密码,在/etc/inittab文件中添加:::respawn:/sbin/getty -L ttyPS0 115200 vt100 或 ::respawn:-/bin/login2.设置登录时不需要用户和用户密码,在/etc/inittab文件中添加:ttyPS0::respawn:-/bin/ash3.用MD5修改用户密码,例如修改root的密码...原创 2018-12-04 10:41:12 · 3565 阅读 · 0 评论 -
gdb调试笔记
一、gdb服务端配置:(1)设置被搜索文件的路径:set solib-search-path /home/ti-sdk-am335x/filesystem/lib:/home/ti-sdk-am335x/filesystem/usr/lib(根据具体情况设置)(2)设置被搜索文件路径的前缀:set solib-absolute-prefix /home/ti-sdk-am3...原创 2018-12-04 16:04:52 · 250 阅读 · 0 评论 -
ARM内核及其设备树编译
1.清除旧的编译生成文件:make cleanmake clean:删除大多数的编译生成文件,但会保留配置文件。make mrproper:删除所有的编译生成文件,同时删除配置文件以及各种备份文件。make distclean:删除所有的编译生成文件,同时删除配置文件以及各种备份文件和补丁文件,清除最完整。如果是第一次编译,需要配置环境变量:make ARCH=arm CROSS_...原创 2018-11-30 14:34:23 · 847 阅读 · 0 评论 -
基于linux的ARM设备升级,烧写Nand flash总结
一.uboot 模式下:1.SD烧写:if fatload mmc 0 0x100000 rootfs.cramfs; then nand erase 0x1600000 0x1400000;nand write 0x100000 0x1600000 ${filesize};mw.b 0x100000 0x0 ${filesize}; fi2.U盘烧写:if fatload usb...原创 2018-11-30 16:42:05 · 1526 阅读 · 0 评论 -
linux下文件系统的启动过程
1.Linux内核启动过程中,运行的第一个程序是init程序,通常是根目录下的linuxrc,而这是一个指向/bin/busybox 的链接,也就是说,系统起来后运行的第一个程序就是busybox本身。2. linuxrc 会解析/etc/inittab内容,运行相关子进程;比如会运行etc/inittab配置文件里面/etc/init.d/rcS这个脚本!3.rcS脚本中会运行moun...原创 2018-11-30 17:53:17 · 547 阅读 · 0 评论 -
编译arm平台的ethtool
1.下载ethtool源代码: 敲命令从网站下载:git clone git://git.kernel.org/pub/scm/network/ethtool/ethtool.git2. 编译步骤: (1)执行脚本:./autogen.sh (2)配置:./configure --host=arm-linux CC=arm-xilinx-linux-gnuea原创 2017-10-27 10:02:05 · 3554 阅读 · 0 评论