12 2018 档案

摘要:条件有三: 1.需要在软件包的Makefile中添加宏定义Package/$(package-name)/preinst和Package/$(package-name)/prerm 2.需要一个启动脚本,并且需要有执行权限(曾尝试过直接将脚本放置在target/linux/$(chip-series 阅读全文
posted @ 2018-12-29 20:01 Jello 阅读(7151) 评论(0) 推荐(0) 编辑
摘要:答: 1.复制:alt+6 2.剪切:ctrl+k 3.粘贴:ctrl+u 4.自由剪切: ctrl+6指定起始剪切位置,按上下左右键来选中内容,然后按下ctrl+k即可自由剪切 5.撤销: alt+u 阅读全文
posted @ 2018-12-29 14:25 Jello 阅读(10809) 评论(0) 推荐(2) 编辑
摘要:答:使用dd命令,示例如下: dd if=/dev/mmcblk0 of=mbr.bin bs=512 count=1 解析: bs表示指定输入输出的块大小为512个字节 count表示指定读取输入的块数目为1 那么上述命令的作用即为读取sd卡的512个字节到mbr.bin文件中 阅读全文
posted @ 2018-12-29 14:21 Jello 阅读(1033) 评论(0) 推荐(0) 编辑
摘要:答:vim+xxd 使用方法如下: 1.vim -b file.txt 2.在vim的命令行模式下对文件进行16进制转换 输入:%!xxd 3.在vim的命令行模式下回到正常格式 输入:%!xxd -r 阅读全文
posted @ 2018-12-29 13:52 Jello 阅读(2393) 评论(0) 推荐(0) 编辑
摘要:答:使用md工具 md.b $address $count (从地址$address处显示$count个字节的数据,b=byte,8位) md.w $address $count (从地址$address处显示$count个字的数据,w=word,16位) md.l $address $count 阅读全文
posted @ 2018-12-29 13:49 Jello 阅读(2427) 评论(0) 推荐(0) 编辑
摘要:答:1.打包好之后是放在build_dir/target-$(cross-compile-toolchan-name)/linux-$(chip-series-name)_$(chip-arch)/tmp目录下; 2.接着就会将tmp目录下的目标复制到bin/target/$(chip-series 阅读全文
posted @ 2018-12-29 13:00 Jello 阅读(1425) 评论(0) 推荐(0) 编辑
摘要:答:把变量中的内容当成命令来执行 阅读全文
posted @ 2018-12-28 16:40 Jello 阅读(755) 评论(0) 推荐(0) 编辑
摘要:答:在软件包的Makefile中定义一个宏Package/package-name/config 举例:笔者自己制作了一个名为hello的软件包,但是这个软件包依赖busybox中的ifdown define Package/hello/config select BUSYBOX_DEFAULT_I 阅读全文
posted @ 2018-12-28 13:24 Jello 阅读(745) 评论(0) 推荐(0) 编辑
摘要:答:Trim函数原型如下: 去掉字符串s中首部以及尾部与字符串cutset中每个相匹配的字符,如: s="hello yes",cutset="he",那么s的结果为:"ello yes" 阅读全文
posted @ 2018-12-27 17:01 Jello 阅读(8585) 评论(0) 推荐(0) 编辑
摘要:答:实现命令行参数的解析 阅读全文
posted @ 2018-12-27 16:28 Jello 阅读(796) 评论(0) 推荐(0) 编辑
摘要:背景:有时候碰到一个commit包含了好几个文件的修改,但是我只需要其中一个文件的修改内容,那么这时候就需要以下方法来生成这一个文件对应修改内容的补丁 答:git format-patch "参照的commit-id" filename “参照的commit-id"新commit id之前的旧com 阅读全文
posted @ 2018-12-27 12:07 Jello 阅读(2499) 评论(0) 推荐(0) 编辑
摘要:答:操作步骤如下: 1. git log "filename" (如:git log README) 2. git reset "commit-id" "filename" (如: git reset 12edd3a README) 阅读全文
posted @ 2018-12-27 11:53 Jello 阅读(5345) 评论(0) 推荐(0) 编辑
摘要:在openwrt下软件包的依赖关系由DEPENDS:=来指定 第一种依赖关系类型为只有将依赖的软件包手动选上,当前的软件包就会自动被选中,用法为DEPENDS:=package_name 第二种依赖关系类型为如果当前的软件包被选中,那么将会自动把依赖的软件包选上,用法为DEPENDS:=+packa 阅读全文
posted @ 2018-12-27 11:37 Jello 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:答:最大的不同就是"configs/boardname_defconfig"中的选项都可以在make menuconfig中进行配置,而"include/configs/boardname.h"中的选项是与开发板相关的一些特性,在make menuconfig中是找不到这些选项的 阅读全文
posted @ 2018-12-26 18:08 Jello 阅读(886) 评论(0) 推荐(0) 编辑
摘要:链接地址在此: https://elinux.org/images/2/2a/Schulz-how-to-support-new-board-u-boot-linux.pdf 阅读全文
posted @ 2018-12-26 17:35 Jello 阅读(721) 评论(0) 推荐(0) 编辑
摘要:答:介绍两种方法,第一种自动生成(当然使用自动的啦),第二种手动生成 第一种方法: 1.在软件包的Makefile中让此项写成这样PKG_MIRROR_HASH:=skip (如果不加上skip,那么在第三步填充哈希值时会直接删除"PKG_MIRROR_HASH:="这一行) 2.下载软件包(如软件 阅读全文
posted @ 2018-12-26 15:19 Jello 阅读(3043) 评论(0) 推荐(0) 编辑
摘要:答:$(notdir $(var)) 阅读全文
posted @ 2018-12-24 18:13 Jello 阅读(2645) 评论(0) 推荐(0) 编辑
摘要:答:如使用以下命令编译nxp的layerscape系列芯片相关的uboot: make package/boot/uboot-layerscape/prepare make package/boot/uboot-layerscape/compile 阅读全文
posted @ 2018-12-21 18:06 Jello 阅读(2361) 评论(0) 推荐(0) 编辑
摘要:答:make target/linux/install V=s (此操作也会将最终镜像打包好,V=s会输出日志) 拓展 清空内核: make target/linux/clean V=s 解压内核: make target/linux/prepare V=s 阅读全文
posted @ 2018-12-21 14:57 Jello 阅读(5263) 评论(0) 推荐(0) 编辑
摘要:1.仅打包 tar -cvf hello.tar hello (输出文件大小为10240) 2.打包后压缩成gzip压缩格式 tar -czvf hello.tar.gz hello (输出文件大小为194) 3.打包后压缩成bzip2压缩格式 tar -cjvf hello.tar.bz2 hel 阅读全文
posted @ 2018-12-21 10:45 Jello 阅读(2100) 评论(0) 推荐(0) 编辑
摘要:答:用来调试 阅读全文
posted @ 2018-12-20 23:26 Jello 阅读(1613) 评论(0) 推荐(0) 编辑
摘要:1.生成一个空的2MiB文件 dd if=/dev/zero of=rootfs.ext4 bs=1024 count=2048 (指定每一块大小为1024字节,一共又2048块,那么就是2048 * 1024 B = 2MiB) 2.对生成的文件进行格式化 mkfs.ext4 rootfs.ext 阅读全文
posted @ 2018-12-20 18:03 Jello 阅读(8400) 评论(0) 推荐(0) 编辑
摘要:1.基本用法如下: ptgen [-v] -h <heads> -s <sectors> -o <outputfile> [-a 0..4] [-l <align kB>] [[-t <type>] -p <size>...] 2.各选项解析 -v: 指定是否打印调试信息,可选 -h: 指定起始磁头 阅读全文
posted @ 2018-12-19 20:35 Jello 阅读(1357) 评论(0) 推荐(0) 编辑
摘要:1.这个变量是在什么地方定义的? 答:系统定义的 2.这个变量在什么场景下使用? 答:在解析命令行参数时会用到 3.这个变量存在的意义? 在每调用一次getopt()或getopt_long()类似函数时此值会递增1 阅读全文
posted @ 2018-12-19 18:38 Jello 阅读(564) 评论(0) 推荐(0) 编辑
摘要:1.登陆ubuntu虚拟机 2.vi /etc/default/grub,改变如下内容: 改变前: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改变后: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv 阅读全文
posted @ 2018-12-18 16:04 Jello 阅读(1748) 评论(0) 推荐(0) 编辑
摘要:将sd卡的某个分区下的某个目录里的某个文件加载到内存的某个地址,示例如下: ext4load mmc 0:1 0xa0000000 /bin/vi 阅读全文
posted @ 2018-12-18 15:34 Jello 阅读(3559) 评论(0) 推荐(0) 编辑
摘要:列出sd卡的第一个分区里/bin目录下的内容,示例如下: ext4ls mmc 0:1 /bin 阅读全文
posted @ 2018-12-18 15:31 Jello 阅读(2882) 评论(0) 推荐(0) 编辑
摘要:答:/etc/wgetrc 这个文件里可以指定代理,如: http_proxy = http://myproxy.com:8080 阅读全文
posted @ 2018-12-16 17:06 Jello 阅读(1616) 评论(0) 推荐(0) 编辑
摘要:答:在/etc/apt/apt.conf 这个配置文件里可以指定使用代理,如: Acquire::https::proxy "http://myproxy.com:8080/"; 阅读全文
posted @ 2018-12-16 17:01 Jello 阅读(1925) 评论(0) 推荐(0) 编辑
摘要:1.背景 ubuntu18.04 64bit 2.安装方法如下: 2.1.获取源码 curl -o wget-1.20.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.20.tar.gz 2.2.解压源码 tar xvf wget-1.20.tar.gz 2.3.切 阅读全文
posted @ 2018-12-16 17:00 Jello 阅读(3374) 评论(0) 推荐(0) 编辑
摘要:答:K-邻近算法,英文为K-nearest neighbor(KNN),就是计算要测试对象与k个样本对象之间的距离,通过距离的大小来对测试对象进行分类 阅读全文
posted @ 2018-12-15 22:16 Jello 阅读(261) 评论(0) 推荐(0) 编辑
摘要:答: step 1: 以最高权限同步所有的缓存到磁盘中 sync sync step2: 执行以下命令指示内核对内存进行调整 echo 3 > /proc/sys/vm/drop_caches 解析:3表示清空所有缓存(pagecache、dentries 和 inodes) 2表示清空 dentr 阅读全文
posted @ 2018-12-15 18:08 Jello 阅读(5689) 评论(0) 推荐(0) 编辑
摘要:答:执行以下命令即可,生成的密钥对在~/.ssh下,会生成两个文件,一个id_rsa和id_rsa.pub,前者是私钥,后者是公钥 ssh-keygen -t rsa -C "your_email@example.com" (红色部分记得替换成自己的噢) 阅读全文
posted @ 2018-12-15 11:59 Jello 阅读(5229) 评论(0) 推荐(0) 编辑
摘要:答:./script/diff > defconfig 那么如何恢复添加的配置项呢? step 1:cat defconfig>>.config step 2:make defconfig 阅读全文
posted @ 2018-12-14 18:42 Jello 阅读(523) 评论(0) 推荐(0) 编辑
摘要:答:使用curl的-u选项,使用方法如下 阅读全文
posted @ 2018-12-12 10:21 Jello 阅读(537) 评论(0) 推荐(0) 编辑
摘要:答: sudo apt-get install python-pip (如果没有安装pip的话,需要这一操作) pip install pycrypto 阅读全文
posted @ 2018-12-11 18:10 Jello 阅读(5762) 评论(1) 推荐(0) 编辑
摘要:答:1.可以重新定义同名函数或变量而编译时不报错 阅读全文
posted @ 2018-12-11 16:33 Jello 阅读(545) 评论(0) 推荐(0) 编辑
摘要:1.完整的错误信息如下: E: Release file for http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease is not valid yet (invalid for another 11d 10min 50s 阅读全文
posted @ 2018-12-10 15:56 Jello 阅读(7657) 评论(0) 推荐(0) 编辑
摘要:1.安装openssh-server sudo apt-get install openssh-server 2.启动ssh服务 sudo service ssh start 3.检测是否启动了ssh服务 ps aux|grep sshd 4. 自行编辑/etc/ssh/sshd_config配置o 阅读全文
posted @ 2018-12-10 14:55 Jello 阅读(4819) 评论(0) 推荐(0) 编辑
摘要:答:笔者遇到的这种情况是由于分区表未与nor flash的物理擦除块边界对齐而导致的,因此调整分区表即可解决此问题 阅读全文
posted @ 2018-12-07 17:46 Jello 阅读(643) 评论(0) 推荐(0) 编辑
摘要:1.注意:内核源码版本为4.9 2.首先注意关键字符串"partitions found on MTD device 这句话在drivers/mtd/mtdpart.c的parse_mtd_partitions()中出现 3.mtd_device_parse_register()调用了parse_m 阅读全文
posted @ 2018-12-07 16:26 Jello 阅读(1305) 评论(0) 推荐(0) 编辑
摘要:注意内核版本为4.9 在drivers/mtd/ubi/debug.h中加入DEBUG的定义,如下 #ifndef __UBI_DEBUG_H__#define __UBI_DEBUG_H__#define DEBUG 1 (新增)void ubi_dump_flash(struct ubi_dev 阅读全文
posted @ 2018-12-07 14:39 Jello 阅读(611) 评论(0) 推荐(0) 编辑
摘要:比如要打开某个驱动中的dev_dbg,那么需要在驱动文件.c中这些行"<linux/device.h>"或者"<linux /platfom_device.h>"(device.h包含platform_device.h)之前定义DEBUG 如:drivers/mtd/spi-nor/spi-nor. 阅读全文
posted @ 2018-12-07 13:37 Jello 阅读(3232) 评论(0) 推荐(0) 编辑
摘要:答案:修改内核文件include/linux/printk.h (内核版本为4.9) 修改前 #define CONSOLE_LOGLEVEL_DEFAULT 7 /* anything MORE serious than KERN_DEBUG */ 修改后 #define CONSOLE_LOGL 阅读全文
posted @ 2018-12-07 13:21 Jello 阅读(2288) 评论(0) 推荐(0) 编辑
摘要:答案:在bootargs中加入loglevel=8即可(在进入linux的过程中会输出任何log信息) 阅读全文
posted @ 2018-12-07 12:40 Jello 阅读(1162) 评论(0) 推荐(0) 编辑
摘要:分析:出现此错误的原因是redis版本过高导致的,因此降低redis版本即可 解决: pip install -U redis==2.10.6 阅读全文
posted @ 2018-12-06 20:23 Jello 阅读(3330) 评论(0) 推荐(0) 编辑
摘要:seek=N : 跳过N个输出块 skip=N : 跳过N个输入块 注意:sd卡的每个扇区的大小统一为512个字节 阅读全文
posted @ 2018-12-04 18:46 Jello 阅读(408) 评论(0) 推荐(0) 编辑
摘要:1.答: expr 2. expr的用法: jello=$(expr 1 \* 3) //乘法,注意1和expr之间有空格,1与转换符\之间有空格,3和*之间有空格 jello=$(expr 1 / 3) // 除法,注意空格 jello=$(expr 1 + 3) //加法,注意空格 jello= 阅读全文
posted @ 2018-12-04 17:45 Jello 阅读(291) 评论(0) 推荐(0) 编辑
摘要:1.获取最新包 ./scripts/feeds update -a 2.安装包 ./scripts/feeds install -a 3.配置 make menuconfig 4.编译 make -j10 V=s V=s: 表示输出编译过程中的信息 -j10: 以10个线程并行编译,加快编译速度 阅读全文
posted @ 2018-12-04 12:09 Jello 阅读(904) 评论(0) 推荐(0) 编辑
摘要:答:输入cat /tmp/sysinfo/board_name即可获取 阅读全文
posted @ 2018-12-04 12:04 Jello 阅读(2089) 评论(0) 推荐(0) 编辑
摘要:1.openwrt的默认方案(squashfs + jffs2) sysupgrade脚本直接调用default_do_upgrade更新设备树、内核、根文件系统,那么它是如何保存旧配置的呢?请看default_do_upgrade(定义在package/base-files/files/lib/u 阅读全文
posted @ 2018-12-03 15:17 Jello 阅读(2751) 评论(0) 推荐(0) 编辑