03 2019 档案

摘要:示例脚本如下: 阅读全文
posted @ 2019-03-29 20:22 Jello 阅读(7572) 评论(0) 推荐(0) 编辑
摘要:1. 安装cron服务(如果不能启动,使用管理员身份运行cygwin) -I 是安装 cron是服务名 -p /usr/sbin/cron 是指定服务程序的目录 -a 后跟运行服务时需要添加的参数,这里运行服务的命令是 /usr/sbin/cron -D 2. 启动服务(如果无法启动,直接输入/us 阅读全文
posted @ 2019-03-29 20:18 Jello 阅读(543) 评论(0) 推荐(0) 编辑
摘要:答: 使用vi工具之间搜索关键字"GCC"即可找出编译该程序的编译器版本号! 阅读全文
posted @ 2019-03-29 17:34 Jello 阅读(3354) 评论(1) 推荐(0) 编辑
摘要:以等待字符串eth0的出现,出现后或者20秒后脚本执行reboot命令的脚本为例,示例如下: 阅读全文
posted @ 2019-03-28 17:54 Jello 阅读(2841) 评论(0) 推荐(0) 编辑
摘要:答: tab 空格数设置为4,加入以下五行到~/.vimrc即可 执行以下命令即可写入: echo -e 'set smartindent\nset tabstop=4\nset shiftwidth=4\nset expandtab\nset softtabstop=4\n' >>~/.vimrc 阅读全文
posted @ 2019-03-27 17:52 Jello 阅读(2135) 评论(0) 推荐(0) 编辑
摘要:答: include/u-boot.mk 阅读全文
posted @ 2019-03-27 15:12 Jello 阅读(260) 评论(0) 推荐(0) 编辑
摘要:1. TF-A的全称是什么? Arm Trusted Firmware 2. TF-A的作用是什么? 在secure world和non-secure world之间切换 3. TF-A涉及到哪几个部分? bl2 + bl31 + bl32 + bl33 bl32=optee-os bl33=u-b 阅读全文
posted @ 2019-03-26 19:18 Jello 阅读(2146) 评论(0) 推荐(0) 编辑
摘要:1. 定位发生Oops的代码 1.1 通过addr2line命令定位 aarch64-openwrt-linux-gnu-addr2line -e vmlinux ffff000008087f00 1.2 查询内核符号表和反汇编信息定位 1.2.1 查询对应函数的地址 aarch64-openwrt 阅读全文
posted @ 2019-03-26 16:05 Jello 阅读(725) 评论(0) 推荐(0) 编辑
摘要:1. 安装依赖的软件和库 apt-cyg install autoconf automake make libncurses-devel (apt-cyg工具的安装方法在此) 2. 获取源码 wget https://fossies.org/linux/misc/minicom-2.7.1.tar. 阅读全文
posted @ 2019-03-26 12:57 Jello 阅读(900) 评论(0) 推荐(1) 编辑
摘要:解决办法: 更新openwrt的feeds,并重新make menuconfig ./script/feeds update -a ./script/feeds install -a 阅读全文
posted @ 2019-03-25 14:24 Jello 阅读(1293) 评论(0) 推荐(0) 编辑
摘要:答: 使用git config --global --edit即可进行修改 阅读全文
posted @ 2019-03-22 19:16 Jello 阅读(1300) 评论(0) 推荐(0) 编辑
摘要:答: 升级git版本即可 centos下升级git的方法在此 阅读全文
posted @ 2019-03-22 19:06 Jello 阅读(308) 评论(0) 推荐(0) 编辑
摘要:1. 安装开发环境 yum install -y curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel 2. 卸载旧版本git yum remove git -y 3. 编译安装新版本git 3.1 阅读全文
posted @ 2019-03-22 19:02 Jello 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:答: 至2019/3/22,支持两种,一种是glibc,另一种是musl-libc(openwrt默认使用musl-libc) 阅读全文
posted @ 2019-03-22 18:36 Jello 阅读(1430) 评论(0) 推荐(0) 编辑
摘要:1. 安装必要软件 su root yum install zlib-devel zlib-static -y 2. 编译openwrt 请参考这里 阅读全文
posted @ 2019-03-22 16:33 Jello 阅读(892) 评论(0) 推荐(0) 编辑
摘要:1. 详细错误信息 [ 11%] Building C object CMakeFiles/fstools.dir/libfstools/overlay.c.o/home/jello/openwrt/build_dir/target-aarch64_generic_glibc/fstools-201 阅读全文
posted @ 2019-03-22 13:46 Jello 阅读(1691) 评论(0) 推荐(0) 编辑
摘要:1. 获取源码 git clone https://github.com/tmux/tmux.git ~/tmux 2. 准备工作 2.1 安装ncurses开发库 yum install ncurses-devel -y 2.2 安装libevent git clone https://githu 阅读全文
posted @ 2019-03-22 12:58 Jello 阅读(583) 评论(0) 推荐(0) 编辑
摘要:答: ctrl+alt+F1 或者ctrl+alt+F2 1.当前处于图形界面时,按ctrl+alt+F2可进入命令行模式 2. 当前处于命令行模式,按ctrl+alt+F1可进入图形界面 阅读全文
posted @ 2019-03-22 12:43 Jello 阅读(4905) 评论(0) 推荐(0) 编辑
摘要:答: yum install openssh-server 阅读全文
posted @ 2019-03-22 11:53 Jello 阅读(308) 评论(0) 推荐(0) 编辑
摘要:1. 用法 minicom -S <script name> -C <log name> 参数解析: -S: 指定要执行的脚本 -C: 指定输出日志文件名 2. 既然可以指定脚本,那么脚本自然有自己固有的语法 3. 脚本示例 如果串口输出了字符串autoboot,那么就退出expect,就会发送空字 阅读全文
posted @ 2019-03-21 22:29 Jello 阅读(3499) 评论(0) 推荐(0) 编辑
摘要:答: sudo apt-get install tftpd-hpa 阅读全文
posted @ 2019-03-21 20:32 Jello 阅读(203) 评论(0) 推荐(0) 编辑
摘要:1. 详细错误如下: tools/Makefile:146: recipe for target '/home/jello/openwrt/staging_dir/target-aarch64_generic_glibc/stam$/.tools_compile_yynyyyyynyyyyynyyn 阅读全文
posted @ 2019-03-21 18:10 Jello 阅读(4222) 评论(0) 推荐(0) 编辑
摘要:1. 详细报错信息 misc/create_inode.c:399:18: error: conflicting types for 'copy_file_range' static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_fil 阅读全文
posted @ 2019-03-21 18:07 Jello 阅读(4252) 评论(0) 推荐(0) 编辑
摘要:答: 是usb的链接电源管理(Link Power Management),这是一个与usb硬件相关的能力,主机就能自动把设备设置成低功耗状态 阅读全文
posted @ 2019-03-20 19:21 Jello 阅读(1727) 评论(0) 推荐(0) 编辑
摘要:答: 一致性随机数生成器(congruential random number generator) 阅读全文
posted @ 2019-03-20 19:07 Jello 阅读(2015) 评论(0) 推荐(0) 编辑
摘要:答: 是一个HISILICON SAS 控制器驱动(HISILICON SAS controller driver) 阅读全文
posted @ 2019-03-20 18:55 Jello 阅读(462) 评论(0) 推荐(0) 编辑
摘要:答: 是一个RAM block内核驱动模块 阅读全文
posted @ 2019-03-20 18:33 Jello 阅读(1159) 评论(0) 推荐(0) 编辑
摘要:答: 是一个xen虚拟机高性能搜索文件系统,它基于共享内存通信协议和共享缓冲区缓存。 阅读全文
posted @ 2019-03-20 18:25 Jello 阅读(341) 评论(0) 推荐(0) 编辑
摘要:1. 全称是什么? 完全公平调度算法(completely fair queuing) 2. 原理是怎样的? 先按照输入输出请求的地址进行排序,然后按排好的次序执行请求 3. 适用场景 适用于旋转式磁盘,因为磁盘寻道需要耗费大量时间,因此cfq将输入输出请求地址排好序就意味着可以减少磁盘旋转的时间, 阅读全文
posted @ 2019-03-20 17:55 Jello 阅读(704) 评论(0) 推荐(0) 编辑
摘要:1. noop是什么? noop是一种输入输出调度算法 2. noop的别称 又称为电梯调度算法 3. noop原理是怎样的? 将输入输出请求放到一个FIFO队列中,然后按次序执行队列中的输入输出请求 4. 适用场景 4.1 在不希望修改输入输出请求先后顺序的场景下; 4.2 在输入输出之下具有更加 阅读全文
posted @ 2019-03-20 17:43 Jello 阅读(1176) 评论(0) 推荐(0) 编辑
摘要:答: 异步内存传输api(asynchronous memory transfer/transform API),这是一种api,用来为应用提供操作DMA的API。 下图是async_tx在架构中所处位置: 阅读全文
posted @ 2019-03-20 17:28 Jello 阅读(510) 评论(0) 推荐(1) 编辑
摘要:答: 一个用户态文件系统框架,属于内核的一种特性。 1.组成部分 fuse.ko(内核模块) + libfuse.*(用户空间库) + fusemount(挂载工具) 2.参考资料 fuse.txt 阅读全文
posted @ 2019-03-20 16:00 Jello 阅读(3254) 评论(0) 推荐(0) 编辑
摘要:答: 是一种内核与用户应用间的双向数据传输方式,用户态使用传统的socketAPI即可使用netlink提供的功能,但是内核态需要使用专门的api来使用netlink。 阅读全文
posted @ 2019-03-20 15:51 Jello 阅读(571) 评论(0) 推荐(0) 编辑
摘要:答:这个与磁盘配额管理(disk quota)有关,内核配置选项为CONFIG_QUOTA,使能此选项意味着可以设置每个用户的硬盘使用限制。 阅读全文
posted @ 2019-03-20 12:14 Jello 阅读(590) 评论(0) 推荐(0) 编辑
摘要:答: 桌面管理接口(Desktop Management Interface)。是用来获取硬件信息的,在内核中有一个配置项CONFIG_DMI用来添加此功能到内核中! 阅读全文
posted @ 2019-03-20 12:01 Jello 阅读(1604) 评论(0) 推荐(0) 编辑
摘要:答: Precise Time Protocol(PTP),这是一种高精度时间同步协议,PTP是在硬件级实现的,因此需要硬件支持才能实现高精度时间同步 阅读全文
posted @ 2019-03-20 11:45 Jello 阅读(1884) 评论(0) 推荐(0) 编辑
摘要:答: make ARCH=<cpu architecture> defconfig 举例如下: make ARCH=arm64 defconfig (编译系统将会去目录arch/arm64/configs下找defconfig文件) 阅读全文
posted @ 2019-03-19 20:01 Jello 阅读(1329) 评论(0) 推荐(0) 编辑
摘要:答: linux每秒脉冲数(linux pulse per second),LinuxPPS 在系统中提供一个编程接口(API)去定义几个PPS源; 一个PPS源就是一个每秒能提供高精度信号的设备,以便于app利用它来调整系统时钟时间(也就是为app提供精准时钟)。 阅读全文
posted @ 2019-03-19 19:32 Jello 阅读(3056) 评论(0) 推荐(0) 编辑
摘要:答: vga仲裁器(vga arbiter),是内核中的一个模块 阅读全文
posted @ 2019-03-19 19:13 Jello 阅读(1234) 评论(0) 推荐(0) 编辑
摘要:答: 地址空间ID(Address Space ID) 阅读全文
posted @ 2019-03-19 18:33 Jello 阅读(974) 评论(0) 推荐(0) 编辑
摘要:答: 处理器间中断(Interprocessor Interrupts) 阅读全文
posted @ 2019-03-19 18:29 Jello 阅读(510) 评论(0) 推荐(0) 编辑
摘要:答: git branch -a --contains <commit id> 阅读全文
posted @ 2019-03-19 15:33 Jello 阅读(2519) 评论(0) 推荐(0) 编辑
摘要:举例如下: 1.某文件jello.txt中有以下行 1111-yes 2222-no 3333-yes-no-no 2.删除jello.txt中每行行首的数字 cat jello.txt | cut -d"-" -f2- 参数解析: -d: 指定分隔符为"-"来切割成多个域; -f: 指定哪些域被显 阅读全文
posted @ 2019-03-19 11:07 Jello 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:答:一共分成两步 一. revert多个commit并生成多个新的commit git revert <old commit>^..<new commit> 二. 使用rebase将多个新的commit合并成一个commit git rebase -i <base commit> 举例: $git 阅读全文
posted @ 2019-03-18 19:18 Jello 阅读(4460) 评论(0) 推荐(0) 编辑
摘要:1. 作用 用来标记分配内核空间内存时的方式 2. 两个标记使用在什么场合? 如果内存不够时,会等待内核释放内存,直到可以分配相应大小的内存,也就意味着会发生阻塞,因此不能使用在中断处理函数中,而GFP_ATOMIC标记正好是用在中断处理函数中的,也就是GFP_ATOMIC用在不能睡眠的场合(中断处 阅读全文
posted @ 2019-03-18 11:19 Jello 阅读(5043) 评论(0) 推荐(0) 编辑
摘要:答:sudo apt-get install subversion -y 阅读全文
posted @ 2019-03-18 11:00 Jello 阅读(1777) 评论(0) 推荐(0) 编辑
摘要:1. 先看看它们长啥样吧!(它们有两种定义,第一种是使能了程序trace功能的宏定义,第二种是普通的宏定义,咱们分析普通宏定义吧) 2. 从宏中我们可以看到__builtin_expect,这是什么? 这是gcc内置的函数,用来进行分支预测 3. 总是听大家说这样做可以优化性能,但是怎么做到的呢? 阅读全文
posted @ 2019-03-15 19:13 Jello 阅读(309) 评论(0) 推荐(0) 编辑
摘要:答:进入命令行模式输入:cs f g <function_name> 阅读全文
posted @ 2019-03-15 17:32 Jello 阅读(927) 评论(0) 推荐(0) 编辑
摘要:Linux Kernel Version 4.14 1. container_of是干什么的? 已知一个结构体中某个成员的首指针,那么就可以通过宏container_of来获得此结构体的首指针 2 先看看container_of是如何定义的吧 解析一下各参数: ptr: 结构体成员的指针 type: 阅读全文
posted @ 2019-03-15 14:57 Jello 阅读(493) 评论(0) 推荐(0) 编辑
摘要:1.为何会出现DPAA1? 1.1 如果没有多核处理器的出现可能就不会出现这个东东了! 1.2 怎么会跟多核处理器扯上关系呢? 1.2.1 先聊聊单核处理器会怎么处理网络包呢? 单核同一时刻只能处理一个网络包即可,处理完上一个接着处理下一个,那么自然处理好的数据包顺序必然和接收到的数据包顺序一致 1 阅读全文
posted @ 2019-03-14 20:28 Jello 阅读(471) 评论(0) 推荐(0) 编辑
摘要:Linux kernel version: 5.0.1 arm64 1.将物理内存划分为若干页,每页的大小为4KiB(可以为8KiB或16KiB),那么如何知道每个页当前是什么情况呢? 那就需要一个结构体来描述每一页的情况,那么就出现了结构体struct page. 2.有若干页,意味着需要若干个s 阅读全文
posted @ 2019-03-13 18:57 Jello 阅读(771) 评论(0) 推荐(0) 编辑
摘要:答:git format-patch <base commit id>..<latest commit id> 如git log输出以下内容: commit 2222222 yes commit 11111111 no commit 0000000 yesorno 那么base commit id= 阅读全文
posted @ 2019-03-12 19:13 Jello 阅读(4265) 评论(0) 推荐(0) 编辑
摘要:答:默认为蓝色,在黑色背景下无法看清楚,因此以以下方法修改; 1.往~/.bash_profile文件中添加以下内容: 嫌麻烦就用以下命令直接写入~/.bash_profile文件中: echo "export LS_COLORS='no=00:fi=00:di=01;33:ln=01;36:pi= 阅读全文
posted @ 2019-03-12 18:15 Jello 阅读(534) 评论(0) 推荐(0) 编辑
摘要:答: 1.获取配色方案 git clone git://github.com/altercation/vim-colors-solarized.git ~/.vim/bundle/vim-colors-solarized (wget https://github.com/altercation/vi 阅读全文
posted @ 2019-03-12 17:25 Jello 阅读(417) 评论(0) 推荐(0) 编辑
摘要:答:grep "jello$" 如:git branch输出以下内容: yes-jello-good yes-jellos yes-jello 那么使用以下命令只能过滤出一行: $git branch | grep "jello$" yes-jello 阅读全文
posted @ 2019-03-12 15:28 Jello 阅读(9756) 评论(0) 推荐(0) 编辑
摘要:答:m2cgen 仓库地址: https://github.com/BayesWitnesses/m2cgen 阅读全文
posted @ 2019-03-11 16:37 Jello 阅读(282) 评论(0) 推荐(0) 编辑
摘要:一.环境介绍 OS:ubuntu bionic 64bit 二.准备工作 2.1 安装必要的开发工具 sudo apt-get install git flex bison build-essential gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu pkg 阅读全文
posted @ 2019-03-10 19:00 Jello 阅读(1920) 评论(1) 推荐(0) 编辑
摘要:1. 分析的linux内核源码版本为4.18.0 2. 与slub相关的内核配置项为CONFIG_SLUB 3. 一切都从一个结构体数组kmalloc_caches开始,它的原型如下: 3.1 这个数组定义在mm/slab_common.c中 3.2 KMALLOC_SHIFT_HIGH是如何定义的 阅读全文
posted @ 2019-03-08 18:29 Jello 阅读(1796) 评论(0) 推荐(0) 编辑
摘要:答:关掉LAN settings中的Automatically detect settings选项和Use automatic configuration script选项,如下图 阅读全文
posted @ 2019-03-08 10:32 Jello 阅读(830) 评论(0) 推荐(0) 编辑
摘要:答: 安装更高版本的clang库(以下是ubuntu18.04下的操作命令,要求clang的版本大于等于7.0,否则就没有clang库中无clang_getCompletionFixIt接口) sudo apt-get install clang-7 sudo update-alternatives 阅读全文
posted @ 2019-03-07 18:35 Jello 阅读(1594) 评论(0) 推荐(0) 编辑
摘要:答:进入YouCompleteMe的安装目录安装一些必要的依赖 比如:笔者将YouCompleteMe安装到了~/.vim/bundle目录下,那么执行以下操作: cd ~/.vim/bundle/YouCompleteMe ./install.py --clang-completer --syst 阅读全文
posted @ 2019-03-07 18:13 Jello 阅读(7487) 评论(0) 推荐(0) 编辑
摘要:1.修改时区 sudo tzselect (按提示选择即可) sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2. 修改时间 sudo date -s 3/7/2019 sudo date -s 17:21:30 阅读全文
posted @ 2019-03-07 17:59 Jello 阅读(6010) 评论(0) 推荐(0) 编辑
摘要:1. 问题详细提示如下: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable) E: Unable to acquire the dpkg frontend loc 阅读全文
posted @ 2019-03-07 17:57 Jello 阅读(18480) 评论(2) 推荐(2) 编辑
摘要:答:getconf GNU_LIBPTHREAD_VERSION 阅读全文
posted @ 2019-03-06 15:22 Jello 阅读(465) 评论(0) 推荐(0) 编辑
摘要:答:chrome+chrome插件tampermonkey+百度网盘直接下载助手脚本 注意: 1.chrome插件从chrome web store下载(插件下载需要能访问google,如果不能访问google,那么可以直接从此地址下载 ) 2.百度网盘直接下载助手脚本从greasyfork网站下载 阅读全文
posted @ 2019-03-04 11:01 Jello 阅读(17278) 评论(0) 推荐(0) 编辑