一.环境介绍 OS:ubuntu bionic 64bit 二.准备工作 2.1 安装必要的开发工具 sudo apt-get install git flex bison build-essential gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu pkg-config libglib2.0-dev libpixman-1-dev libssl-dev -y 2.2 编译qemu wget https://download.qemu.org/qemu-…
大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3.19.4之后发布的内核.4月12日是所有的开源运动爱好者的大日 子,Linux Torvalds宣布了Linux内核4.0的发布,它现在就已经可用了.由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的 硬件支持以及很多有趣的功能都有新的版本,它原本被期望是一次重要版本.但是实…
在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序.在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello.proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val.进一步,还通过cat命令来直接访问/proc/hello和/sys/class/hello/hello/val文件来,以验证驱动程序的正确性.在这一篇文章里,我…
Linux内核移植与启动 Target borad:FL2440 Bootloader:U-boot-2010.09 交叉编译器:buildroot-2012.08 1.linux内核基础知识 首先,磨刀不误砍柴工.在动手进行linux内核移植之前,我们有必要对linux内核进行一定的了解. 1.1 Linux内核启动过程概述 一个嵌入式Linux系统从软件角度看可以分为四个部分:  引导加载程序(Bootloader),Linux内核,文件系统,应用程序. 其中Bootloader是系统启动或…
操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注明出处及原文链接 本文原文链接:https://jiang-hao.com/articles/2018/coding-BuildandInstallOpenDaylightonUbuntu.html 一.环境搭建 1. Java+Apache Maven基本开发环境搭建.详见相应的前面两篇文档: <…
Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环境(一)>中已经简单讲述了通过Qemu模拟直接启动Linux内核,并挂在SD卡根文件系统的方法,这种方法是直接启动内核,与实际应用中ARM板的启动方式:u-boot.kernel.rootfs有些不同.现在就来讲述下通过Qemu搭建通过u-boot启动Linux内核并挂载根文件系统的方法. 1. 开发环…
Linux内核编译是一件简单却费事的事.但是独立的编译linux内核会帮助你很好的理解Linux内核的工作机理. 首先编译linux内核我们需要在当前linux操作系统下安装gcc编译器,因为我是Centos distribution版本 yum install gcc 接下来安装依赖环境: yum install ncurses-devel 现在我们以linux-3.18.1内核为例进行编译,假设我当前系统的版本为2.6.32 那么我首先在Linux内核发布的官网上http:/kernel.o…
扒开系统调用的三层皮(下) 郝智宇 无转载 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 把menu删除: 重新克隆一个新的Menu: 进入Menu,用make rootfs自动编译生成根文件系统,同时还自动启动MenuOS 增加了两个命令:time和time_asm,说明扩展了功能. 二.使用gdb跟踪系统调用内核函数sys_time 1.一直按n单步执…
linux下怎么安装Go开发环境?linux部署golang  0.请自行安装SSH远程工具 1.  SSH远程登录你的linux服务器 2.   yum install mercurial安装 mercurial包 3.  安装git包yum install git 4.  安装gccyum install gcc 5.   然后就可以下载golang的压缩包了wget https://go.googlecode.com/files/go1.2.linux-amd64.tar.gz 下载完成…
本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中, 至于docker如何安装,请参考https://www.cnblogs.com/xingyunqiu/p/11584066.html Jenkins官网文档:https://jenkins.io/zh/doc/ Jenkins插件下载地址:http://ftp.icm.edu.pl/packages/jenkins/plugins/ 使用命令从镜像仓库拉取指定文件,我这里用的是jenkins:lts这个版本:…
(这篇文章是在搭建QEMU环境时,在网上找到了一些教程资料,并在实际操作中遇到的一些问题的整理) 下载Linux内核 下载内核有两种方法,一种是用git直接下载内核代码树,方便后面的内核开发.另一种是直接到内核社区下载稳定版本(详见:https://www.kernel.org/pub/linux/kernel/v4.x/). 下面演示从Linux kernel主线下载代码进行编译. 使用命令:git clone git://git.kernel.org/pub/scm/linux/kernel…
对于caffe的系统一般使用linux系统,当然也有windows版本的caffe,不过如果你一开始使用了windows下面的caffe,后面学习的过程中,会经常遇到各种错误,网上下载的一些源码.模型也往往不能快速的跑起来,因为貌似caffe的官方只提供了linux版本,而且caffe在不断的快速迭代更新中,如果不使用原版的话,后面编译出现什么问题,自己怎么错的,自己都不知道.本篇博文主要讲解快速搭建caffe环境: 电脑系统:ubuntu 14.04 显卡:GTX 850 在ubuntu下要完…
背景 基于 QEMU 的仿真可以节省 硬件成本. 参考:<qemu-system-arm仿真vexpress-a9踩坑记>.<在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境> 我们在这一讲主要以搭建仿真环境为主. host平台 :Ubuntu 16.04 qemu 3.0.0 arm-linux-gcc : v7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b…
Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从Apache2.0协议开源. 开发者可以搭建他们的应用仅仅一次,就能保证让这个应用保持一致的跑在任何地方.运营人员可以将他们的服务器配置一边,就能跑任何应用. Docker官网:http://www.docker.com/ 在Redhat上安装Docker 确保系统上有curl命令 # yum in…
ubuntu apache2下目录结构 原文:http://blog.csdn.net/jibcy/article/details/8060651 在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它的httpd.conf(位于/etc/apache2目录)是空的!进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单,它…
http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是linux下就没有source insight这么优秀的工具了,但是也有不少的替代品,但觉绝对部分人会选择vim+ctags+cscope的组合,还有部分人或选择wine中的source insight或选择navigatror,当然对于代码阅读来说vim+ctags+cscope的组合还是比较好的一…
宿主机:Ubuntu16.04 x64(Linux内核4.4.0) 交叉编译工具链:gcc-arm-linux-gnueabiarm-linux-gcc:4.4.3QEMU:2.5.0Linux kernel:4.4.1busybox:1.25.1 一.准备1.创建工作目录armv7/,进入该目录2.下载内核源码文件linux-4.4.1.tar.xz3.下载busybox源码文件busybox-1.25.1.tar.bz24. http://files.cnblogs.com/files/pe…
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置   1.Tomcat的下载 地址:https://tomcat.apache.org/download-80.cgi 下载上图标示文件即可. 然后解压到一个方便的文件夹即可.   2.Tomcat的启动 如果你的Tomcat的JDK配置好的话,理论上这一步可以直接把Tomcat启动,如果Tomcat没有配置好的下,可以参考我的另一篇博文: Linux(Ubuntu 16)…
64位Ubuntu系统下ROP攻击 基础知识 ROP攻击 ROP全称为Retrun-oriented Programmming(面向返回的编程)是一种新型的基于代码复用技术的攻击,攻击者从已有的库或可执行文件中提取指令片段,构建恶意代码. ROP攻击同缓冲区溢出攻击,格式化字符串漏洞攻击不同,是一种全新的攻击方式,它利用代码复用技术. ROP的核心思想:攻击者扫描已有的动态链接库和可执行文件,提取出可以利用的指令片段(gadget),这些指令片段均以ret指令结尾,即用ret指令实现指令片段执行…
ubuntu apache2下目录结构 在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它的httpd.conf(位于/etc/apache2目录)是空的!进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单,它把各个设置项分在了不同的配置文件中,看起来复杂,但仔细想想设计得确实很合理. 严格地说,Ubuntu的Apa…
本系列文章主旨在于使用docker来搭建实际可用的基础服务,具体到每一步的操作和设置. 关于docker的原理.前世今生的内容,园子里已经有太多的文章了,此处就不再赘述. 要使用docker,当然第一步就是把它装到机器上,今天第一篇就讲docker自身的安装. 本文使用的服务器配置如下: CPU: 8核 内存: 16G 硬盘: 50G+400G双硬盘 系统: Ubuntu 18.04.1 LTS 安装步骤如下: 1. 更新Ubuntu所有组件到最新 sudo apt-get update sud…
作者:张华  发表于:2016-02-06版权声明:能够随意转载.转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 使用qemu结合eclipse或者DDD等gdb的图形前端,跟踪协议栈或者文件系统内存管理等都会很方便.就是与硬件驱动相关的跟踪可能差点. 编译内核 下载Linux Kernel源代码,并编译生成压缩的kernel镜像(/bak/linux/linux-2.6/arch/x86_64/boot/bzIma…
linux内核版本依赖 kernel version >= 3.8 可以使用如下命令查看 uname -a | awk '{split($3, arr, "-"); print arr[1]}' 操作系统依赖, 如下版本都可以 Disco 19.04 Cosmic 18.10 Bionic 18.04 (LTS) Xenial 16.04 (LTS) 首次安装需要卸载旧的版本docker 卸载旧版本 较旧的Docker版本称为docker或docker-engine sudo a…
前言 本文主要介绍如果使用 qemu 和 unicorn 来搜集程序执行的覆盖率信息以及如何把搜集到的覆盖率信息反馈到 fuzzer 中辅助 fuzz 的进行. AFL Fork Server 为了后面介绍 afl 的 qemu 模式和 unicorn 模式, 首先大概讲一下 afl 的 fork server 的实现机制.afl 与 fork server 的通信流程如图所示 首先 afl-fuzz 调用 init_forkserver 函数 fork 出一个新进程作为 fork server…
一.首先我们要分析影响odoo 服务器 性能的因素 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少.odoo单进程模式下对 CPU 要求并不高,但是为了支持多并发,需要开启 workers,一般 CPU(核)的数量和​work 数量为 works = 2 * cpu(核) + 1 内存 内存太小,系统进程将被…
核心流程 首先,本文主要讲述如何编译Linux内核并在qemu虚拟机上运行.这里针对的架构是aarch64. 本文的实验平台是Ubuntu 16.04. 为了达成目标,我们需要有qemu.buildroot和linux安装包或源码. 首先确保qemu-system-aarch64命令可用,可以通过在命令行执行qemu-system-aarch64 --version判断. 下载buildroot源码,链接见下文平台工具.假设其绝对路径保存在变量BUILD_ROOT_PATH中.执行以下命令 cd…
用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依赖 更新系统 $ sudo apt-get update 更新依赖 $ sudo apt-get install make g++ libssl-dev 2.接下来,就可以下载安装nodeJS了, 下载最新版本 https://nodejs.org/en/download/current/ Sour…
今天在ubuntu系统下进行程序调试的时候出现以下错误信息: [ %] Linking CXX executable ../test_coco /usr/local/lib/libgsl.so: undefined reference to `cblas_ztrsv' /usr/local/lib/libgsl.so: undefined reference to `cblas_scasum' /usr/local/lib/libgsl.so: undefined reference to `c…
自己的开发环境是Ubuntu, 对于很多优秀的软件但是又没有Linux版本这件事,还是有点遗憾的.比如最近遇到一个问题,在分析某个网站的请求路径和cookie时就遇到了问题.本来Chome浏览器自带的开发者工具对我这种后台开发程序来说足够了,但是有个场景问题难住了:当网页有链接打开一个新的页面,而且这个新打开的页面是在另一个标签页中打开,那么原来页面的控制台不能记录这个请求数据.我在google找了半天没找到好的办法,有个不是办法的办法是在chrome地址栏里输入chrome://net-int…
进入自己喜欢的目录,前面步骤和windows基本一致,只简单描述下 执行 dotnet new 然后执行 dotnet restore 然后执行 dotnet run 第一次未编译,会自动编译,然后可以看到程序已经成功执行了. 编译后会生成bin的目录,具体内容如下 可以看到在bin/Debug/dnxcore50/ubuntu.14.04-x64目录下生成可执行的helloworld文件,可以直接执行 是不是帅呆了,比以前mono来的给力多了吧.不过精彩的还在后面. 手动编译 先删除刚才编译好…