![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 64
Huskar_Liu
这个作者很懒,什么都没留下…
展开
-
自动化标准Makefile与lds
makefile原创 2024-04-02 23:06:30 · 527 阅读 · 0 评论 -
C语言中的宏MACRO的用途
c macro原创 2024-04-02 22:28:11 · 266 阅读 · 0 评论 -
ubuntu16.04安装vscode那些事
vscode原创 2024-04-02 18:28:47 · 665 阅读 · 0 评论 -
ubuntu16.04安装vim那些事
linux原创 2024-04-02 15:05:57 · 149 阅读 · 0 评论 -
shell脚本编写纪要
linux原创 2024-04-02 12:18:00 · 89 阅读 · 0 评论 -
CR, LF的区别
Dos和windows采用回车+换行CR/LF表示下一行,而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS系统)则采用回车符CR表示下一行.CR,回车控制符。用符号’\r’表示, 十进制ASCII代码是13, 十六进制代码为0x0D;LF,换行控制符。使用’\n’符号表示, ASCII代码是10, 十六制为0x0A.所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示。一般操作系统上的运行库会自动原创 2021-09-18 18:02:16 · 1061 阅读 · 0 评论 -
busybox制作的rootfs,启动脚本修改定制
对于busybox做的rootfs,linuxrc 是一个link,指向busybox/sbin/init是一个link,指向busybox。追根溯源,流程大致如下: init程序(linuxrc) -> busybox -> /etc/inittab -> /etc/init.d/rcS直接在/etc/init.d/rcS脚本文件末尾添加需要的脚本代码。我们可以修改/...原创 2019-04-13 15:27:11 · 1520 阅读 · 0 评论 -
利用busybox制作zedboard使用的rootfs
FHS(Filesystem Hierarchy Standard)标准介绍/bin 必备的用户命令,例如ls、cp等/sbin 必备的系统管理员命令,例如ifconfig、reboot等/dev 设备文件,例如mtdblock0、tty1等/etc 系统配置文件,包括启动文件,例如inittab等/lib 必要的链接库,例如C链接库、内核模块/home 普通用户主目录/root r...原创 2019-04-13 20:16:41 · 666 阅读 · 0 评论 -
利用shell脚本自动化制作ramdisk.image.gz
制作过程涉及到多条命令,而且参数复杂,为了方便执行,而且避免错误,最好先把需要执行的各条命令,写成一个脚本,然后直接运行这个脚本。脚本操作,这是好的习惯。(1)制作ramdisk.image.gz# cd ~/ramdisk# dd if=/dev/zero of=./ramdisk16M.image bs=1024 count=16384以dd命令建立一个了一个16384KB文件系...原创 2019-04-15 10:44:38 · 577 阅读 · 0 评论 -
利用readelf工具查看elf文件的信息(解决not found 错误)
命令如下:# arm-linux-gnueabihf-readelf -a linux_hello.elf可以打印出ELF全部的信息。如果我们只是想看看elf包含了哪些共享库,我们可以用如下命令:# arm-linux-gnueabihf-readelf -a linux_hello.elf | grep “Shared”这样,就过滤掉其他的line,只显示包含关键字“Shared”的l...原创 2019-04-15 11:29:59 · 5025 阅读 · 0 评论 -
make menuconfig的配置原理
当我们在执行make menuconfig这个命令时,系统到底帮我们做了哪些工作呢?首先系统会读取arch/$ARCH/目录下的Kconfig文件生成整个配置界面选项(Kconfig是整个linux配置机制的核心)内核默认会读取linux内核根目录下.config文件作为内核的默认选项。针对板子的默认配置选项,存放在arch/$ARCH/configs下,对于arm来说就是arch/arm/...原创 2019-04-15 19:37:44 · 5853 阅读 · 0 评论 -
如何移植用于zedboard的kernel
1) 如何下载?https://github.com/Xilinx/linux-xlnx/releases下载xilinx官方linux源码。这里下载2017.4版本。里面是xilinx_zynq_defconfig或者下载digilent的官方源码。https://github.com/Digilent/linux-digilent/releases下载4.4版本。从4.4版本以后,...原创 2019-04-15 21:56:37 · 357 阅读 · 0 评论 -
利用SYSFS和SHELL脚本操作GPIO
linux下面有一个通用的GPIO操作接口,那就是 “/sys/class/gpio” 方式。首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入Device Drivers —> GPIO Support —> /sys/class/gpio/… (sysfs interface)。通过/sys/文件接口操作IO端口 ...原创 2019-04-18 09:07:22 · 1298 阅读 · 0 评论 -
LINUX SHELL下利用SYSFS加载PL侧bitstream
xlnx-linux2017.4版本。首先,make menuconfig我们需要选择device driver --> char device --> xilinx devcfg选中这个选项后,才会编译生成.o文件。然后make all然后make uImage替换掉ZED上的内核,进入SHELL,首先# ls -l /dev我们会在下面发现设备文件xdevcfg...原创 2019-04-20 13:02:27 · 715 阅读 · 0 评论 -
修改rcS启动定制功能,后台运行脚本,新建子SHELL进程。
除了在rcS中编写了启动所需的必须功能命令后,我们还可以添加自己的定制功能。方法如下:首先,在/usr/bin下,编写各个定制功能的脚本。注意修改权限chmod a+x在脚本里把需要执行的命令步骤写好。在rcS中,运行各个脚本。我们知道,在SHELL中运行命令时,SHELL是被占用的,会等待子进程的返回,SHELL才能再次进入WAITFORCMD状态。但是如果我们的运行脚本里面是一个...原创 2019-04-20 13:26:37 · 831 阅读 · 0 评论 -
移植linux到zedboard过程中杂项错误总结
(1)Direct firmware load failed with error -2查看-2代表的错误码可知,-2代表找不到文件。固件必须放在/lib/firmware下面。在driver/base/firmware_class.c文件中定义合法路径。(2)modinfo: can’t open ‘/lib/modules//modules.dep’: No such file or ...原创 2019-04-20 14:37:04 · 1568 阅读 · 0 评论 -
嵌入式linux下使用vi编辑SD卡上的文件内容
如果zedboard挂载的rootfs是存放在SD卡上,那么修改的文件内容不会丢失。由于没有鼠标工具,在串口终端下,就只能使用vi工具修改。注意:有些版本的内核是有BUG的,所以,在vi编辑完成后,虽然我们使用“:wq”保存并退出了,但是此时不一定flush到SD卡中去了。如果此时掉电或者重启,可能内容并没改过来。为了确保flush了,我们在退出vi后,再一次用vi打开文件看一下就可以了。...原创 2019-04-12 16:21:14 · 505 阅读 · 0 评论 -
zedboard移植(uboot配置PL侧,uEnv.txt中设置变量,DTB取消chosen,rootfs挂载到SD卡EXT4分区)
官方镜像在zedboard上可以跑通。然后进行修改工作。(1)修改uboot。下载uboot2013.4,修改zynq_common.h和zynq_zed.h。使之加载PL侧bit文件。(2)生成boot.bin抽取官方的zynq_fsbl.elf和自己生成的uboot_2013_4.elf。利用bootgen工具和BIF文件,用BAT脚本生成BOOT.bin。(3)修改uEnv....原创 2019-04-12 14:25:52 · 1387 阅读 · 0 评论 -
vmware ubuntu 和 windows 如何共享文件夹
以前大多是使用ftp,samba甚至是nfs(在windows上装microsoft service for unix就可以实现nfs)来实现的,采用vmware自带的shared folder方式比使用网络协议实现文件传输要方便得多,并且对于新手来说,用cp命令拷贝文件比用ftp和smbmount命令要简单得多1.安装vmtools for linux: 选择vmware workstat...原创 2018-06-08 20:37:37 · 899 阅读 · 0 评论 -
ubuntu下查看权限
ubuntu下查看权限的命令为: ls -l filenamels -ld folderubuntu下设置权限的命令为: 一共有10位数其中: 最前面那个 - 代表的是类型中间那三个 rw- 代表的是所有者(user)然后那三个 rw- 代表的是组群(group)最后那三个 r– 代表的是其他人(other)然后我再解释一下后面那9位数:r 表示文件可以被读(r...原创 2018-06-08 23:54:01 · 7699 阅读 · 0 评论 -
python默认程序的修改
安装完成之后,你在终端中输入python,输出的信息里面会提示是2.7版本的,也就是说默认打开的并不是刚才安装好的3.5,所以还需要我们重新修改一下链接。方法如下: 第一步:先备份原来的链接(在对系统执行删除之前进行备份是个好的习惯)。在ternimal下输入命令: 1 sudo cp /usr/bin/python /usr/bin/python_bak 第二步:删除原来默...原创 2018-06-09 02:02:38 · 704 阅读 · 0 评论 -
dpkg: 处理软件包 xxxxxxxx (–configure)时出错:
dpkg: 处理软件包 xxxxxxxx (–configure)时出错:可能时把apt搞乱了,网上有方法我的ubuntu是16.04版本,今天安装软件各种突然安装不上,有如下提示: /×××××××××××××××××××××××××× dpkg: 处理软件包 python-crypto (–configure)时出错: 子进程 已安装 post-installation 脚本 ...原创 2018-06-09 02:06:45 · 4949 阅读 · 0 评论 -
vmware 找不到共享文件夹
如果在安装好 VMware Tools 并在设置里面设定好共享目录之后仍然找不到 /mnt/hgfs 默认挂载目录,那么尝试以下步骤:1 确认VMware Tools 和共享目录设定已经完成: 2 查一查有没有共享文件夹 $ vmware-hgfsclient 应该要能够看到设置的共享文件夹名称显示出来。3 安装软件包。 $ sudo apt-get install open-vm...原创 2018-06-09 22:26:30 · 15740 阅读 · 0 评论 -
ramdisk制作
制作空ramdisk.image的方法:dd if=/dev/zero of=ramdisk.image bs=1024 count=8192其中count=8192代表的ramdisk的大小,目前设置为8Mmke2fs -F ramdisk.image -L “ramdisk” -b 1024 -m 0tune2fs ramdisk.image -i 0chmod a+rw...原创 2018-06-29 19:02:24 · 1166 阅读 · 0 评论 -
NFS那些事
ubuntu安装NFSSERVER&#sudo apt-get install nfs-kernel-server 安装NFSSERVER。 &#sudo gedit /etc/exports 修改导出配置。 加入: /home/lz/nfsd *(rw, sync, no_root_squash, no_subtree_check) *表示any client。...原创 2018-06-30 00:58:55 · 327 阅读 · 0 评论 -
TFTP那些事
首先在windows端,配置TFTP服务器。 下载 tftpd32.exe,安装后,设置为仅支持tftp server和tftp client。 base directory设置为C:\tftpd bind IP 设置为192.168.1.11.tftpd是一个轻量级SERVER,并不在系统中注册服务。所以使用时,必须保持tftpd32.exe打开,关掉程序时,tftp server也就...原创 2018-06-30 11:08:50 · 321 阅读 · 0 评论 -
如何查看编译后Image是否包含调试信息?
方法一,查看编译选项有Makefile可以看Makefile,如果编译选项中包含“-g”,说明编译后是包含调试信息的。如U-Boot可通过根目录下的config.mk文件,DBGFLAGS是否赋值:1DBGFLAGS= -g其中DBGFLAGS最后是赋值给CFLAGS。方法二,命令查看如要查看u-boot镜像是否包含调试信息,可用命令:1readelf –S u-boot | gr...原创 2019-04-01 11:09:26 · 397 阅读 · 0 评论 -
Ubuntu16.04中使用SDK2017.4的工具链,编译UBOOT,KERNEL
Ubuntu16.04中,使用SDK2017.4的工具链,编译UBOOT,KERNEL等。首先在/opt/Xilinx下,安装SDK2017.4.上官网下载vivado SDK 版本2017.4直接使用指令 (也可以直接右键压缩包解压)%# tar xvzf xxx(你下载的文件名).tar.gz进入你解压缩之后的文件夹 然后执行%# sudo ./xsetup然后把source /o...原创 2019-04-02 15:51:02 · 1195 阅读 · 0 评论 -
linux shell中的多命令执行辅助操作符
辅助运算符用来在多个命令执行时,插入一些后处理操作,为下一个命令的执行,准备号运行环境。在写法上,辅助操作符通常在断句时,和前面的命令形成组合。常见的有如下几类:(I)无条件类(1)";"分隔符无条件执行后面的命令,不做任何后处理。(2)"&"后台符将本条命令转做后台运行,然后执行下一条命令。方式:#command1 &默认情况下,进程是前台进程,这时就把She...原创 2019-04-04 11:28:50 · 559 阅读 · 0 评论 -
linux shell脚本特殊变量用法
$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@“用「”」括起来的情况、以"$1" “$2” … “$n” 的形式输出所有参数。$...原创 2019-04-04 11:45:08 · 351 阅读 · 0 评论 -
mkimage那些事
在编译linux内核时,往往会涉及到以下3个命令:• make Image• make zImage• make uImage那么,这3个命令分别是做什么的?所生成的对象又有什么区别呢?Image为普通的内核映像文件,而zImage为压缩过的内核映像文件(其中的z字母就是压缩的意思)。一般情况下,编译出来的Image大约为4M,而zImage不到2M。uImage它是uboot专用的映像...原创 2019-04-11 18:11:15 · 1002 阅读 · 0 评论 -
linux系统中加载PL侧bit文件
1.在启动脚本中添加创建/dev/xdevcfg节点:if [ ! -e /dev/xdevcfg ]thenmknod /dev/xdevcfg c 259 0fi2.直接用以下命令完成PL Image写入:cat top_sds1000b_fpga.bit > /dev/xdevcfg前提是,linux系统中已经移植了xdevcfg的设备驱动,并且DTB中也有设备节点的描...原创 2019-04-11 18:18:19 · 1800 阅读 · 0 评论 -
利用ubuntu对SD卡分区,生成EXT3、EXT4分区
在虚拟机中,打开ubuntu。插入SD卡,选择将USB挂载到ubuntu而不是windows。在GNOME中,search “disks”找到disks工具后,选择generic usb storage。( 1 )delete掉原有的分区(2)add一个新分区,分配1G的空间,名字为boot,格式为FAT。(3)add一个新分区,分配剩下的空间,名字为rootfs,格式为custom,...原创 2019-04-12 12:18:02 · 1911 阅读 · 0 评论 -
ubuntu修改dash为bash
查看与使用先用命令ls -l /bin/sh 看看结果是: /bin/sh -> dash我们会发现Ubuntu默认采用的是 dash如果要修改默认的sh,可以采用命令sudo dpkg-reconfigure dash然后选择【否】成功后再执行ls -l /bin/sh 看看结果是: /bin/sh -> bash修改成功!...原创 2018-06-08 20:11:48 · 2463 阅读 · 0 评论