想起第一次在串口打出一个字符的时候,那种心情,简直激动得快要爆了,这里先将我学习ARM中的整个过程简单总结一下,以后再详细的针对每个知识点写写东西。...9,学习ARM汇编与C语言的混合编程,GCC内联汇编,掌握参数传递方式和ARM过程调用标准(APCS)即可。...13,当第12步完成后,你可以尝试用你的bootloader从PC的TFTP服务器下载Linux内核镜像到开发板,然后启动Linux。...(但是最主要的就是,获取Linux内核镜像,初始化硬件环境,运行Linux)。...虽然刚毕业几个月,工作中也没有接触ARM9,但是我有时间就会坚持学习ARM9这款CPU,希望有朝一日,在接触新的ARM处理器时,也能快速入手。
一.命令分类 Linux命令分为两类,具体为内部命令和外部命令 内部命令: 指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,命令help查看所有内部命令的详情,如cd、type...enable -n command 关闭内部命令 4.hash -l 显示hash缓存 -d 清楚具体缓存命令路径 -r 删除所有命令路径 5.alias 定义别名 ualias取消别名 四.命令执行过程...ls命令执行过程: 下面进行简单分析: 1、shell不断询问是否有键盘输入,用户以enter结束键盘输入后,shell程序以空格为分隔符,得到”ls”,”-l”,”*.c”,三个字符串。
环境:centos 6.4 x64 先下载mysql安装包 打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic 再选择 下载完毕后,...得到安装包 mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz 此包不再需要make编译源代码(真是扛扛的),之前的mysql-5.6.4.tar.gz包是源码包,需要先...software目录下(可以改为你需要的目录,这里只是演示) ssh登录到centos6.4,开始执行以下命令 1.解压tar包 cd /software tar -xzvf mysql-5.6.21-linux-glibc2.5...-x86_64.tar.gz mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21 2.添加用户与组 groupadd mysql useradd -r
arm的一些概念(ARM7、Cortex-M的区别) ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构。...ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间...ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。
Nginx安装过程(Linux) 1、 在安装nginx之前,要安装其他的一些相关软件,包括gcc、openssl、pcre和zlib,这里分别来解释一下这些都是什么东西: 1.1 GCC...是一个用于linux系统下编程的编译器,是一个用于编程开发的自由编译器。...上用命令下载) 3、 解压 tar -zxvf nginx-1.5.9.tar.gz 4、 make 编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件) make install...安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方) 5、 安装后在linux下启动和关闭nginx: 5.1 /root/prog/nginx /sbin/nginx...(/root/prog/nginx/sbin/nginx -t 查看配置信息是否正确) 5.2 停止操作 停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的 步骤1:查询
在linux中静态库是以.a为后缀的文件,共享库是以.so为后缀的文件。静态库和动态库的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。...共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。在Linux系统中,可以用ldd命令查看一个可执行程序依赖的共享库。...准备工作由于GCC工具链主要是在Linux环境中进行使用,因此本文也将以Linux系统作为工作环境。...\n"); return ;}编译过程1.预处理预处理的过程主要包括以下过程:将所有的#define删除,并且展开所有的宏定义,并且处理所有的条件预编译指令,比如#if #ifdef #elif #else...在Linux系统中,可以用ldd命令查看一个可执行程序依赖的共享库。
从官网下载对应的包 2 在服务器上新建nodejs文件夹: /usr/local/nodejs 3 将下载的文件放到nodejs目录下 4 执行tar -xJvf node-v16.13.1-linux-x64....tar.xz 会得到一个新的文件夹 5 配置环境变量 通过命令vi /etc/profile ,加入以下内容 Nodejs VERSION=v10.15.0 DISTRO=linux-x64...export PATH=/usr/local/nodejs/node-v16.13.1-linux-x64/bin:$PATH 保存退出 6 让profile文件生效 通过命令:source /etc
前言 Linux内核是Linux操作系统的核心,也是整个Linux功能体现的核心,就如同发动机 在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管理、设备管理、网络管理等。...Linux内核是单内核设计,但却采用了微内核的模块化设计, 支持内核线程以及动态装载内核模块的能力。 Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。...如果用户想要使用这些新特性,或想根据自己的系统定制一个更高效,更稳定的内核,就需要手动编译Linux内核。那么如 何编译内核呢?本文将讲解Linux内核编译的详细程。...to/dir只编译一个模块:make path/to/dir/MOD_NAME.ko将编译生成的文件保存至别处:make O=/path/to/somewhere The end 好了,内核编译的过程就是这样了...以上仅为个人总结,如有错漏,大神勿喷~~~ 来源: linux.com/archives/2063>
2 系统调用过程 http://www.linuxidc.com/Linux/2015-04/116546.htm 系统调用是操作系统提供给用户(应用程序)的一组接口,每个系统调用都有一个对应的系统调用函数来完成相应的工作... CALL(sys_rt_tgsigqueueinfo) CALL(sys_perf_event_open) CALL(sys_pk) #我自己加的系统调用 了解了一个系统调用的执行过程就可以试着添加一个自己的系统调用了...声明自己的系统调用函数 在include/linux/syscall.h添加asmlinkage long sys_pk() 用户空间: void pk() { __asm__...3 添加自己的系统调用 了解了一个系统调用的执行过程就可以试着添加一个自己的系统调用了: 内核: 1....声明自己的系统调用函数 在include/linux/syscall.h添加asmlinkage long sys_pk() 用户空间: void pk() { __asm__( "
在Linux中,Boot Loader通常安装在硬盘的MBR (Master Boot Record)或EFI系统分区。...内核初始化的过程包括以下几个步骤: 加载驱动程序:内核会加载与硬件设备对应的驱动程序,并初始化这些设备。驱动程序通常存储在内核模块中,可以在运行时加载和卸载。
linux系统安装过程 大家都知道目前在商业服务器操作系统端,linux操作系统占的比例非常大,但是如果自己要想自己在网络安全系统方面有所作为,必须得把linux操作系统学习好,下面学习啦小编向大家来介绍一下...linux操作的安装教程。...插入Linux 系统安装光盘,重启电脑。进入光盘的欢迎界面。可以直接按回车进行图形下安装(也可以输入 linux text 按回车进入命令行下安装)。 ?...如果这两种方式都没有配置,那么linux会给你配置一个万能的主机名,localhost.localdomain 剩下的几个就不用配置了,默认留空。单击“Next”. ?
概述 ---- 当我们执行rm命令删除一个文件的时候,在操作系统底层究竟会发生些什么事情呢,带着这个疑问,我们在Linux-3.10.104内核下对ext4文件系统下的rm操作进行分析。...源码分析 ---- rm命令是GNU coreutils里的一个命令,在对一个文件进行删除时,它实际上调用了Linux的unlink系统调用,unlink系统调用在内核中的定义如下: SYSCALL_DEFINE1...the inode here */ ... } 为了便于理解,这里简要介绍一下索引节点inode、目录项dentry以及目录项缓存dcache这几个重要概念,更具体的内容可参考Linux...内核分析的相关书籍,如Robert Love的《Linux内核设计与实现》一书。...参考文献 [1] https://www.ibm.com/developerworks/cn/linux/l-cn-usagecounter/ [2] https://digital-forensics.sans.org
在linux中静态库是以.a为后缀的文件,共享库是以.so为后缀的文件。 静态库和动态库的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。...共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。在Linux系统中,可以用ldd命令查看一个可执行程序依赖的共享库。...准备工作 由于GCC工具链主要是在Linux环境中进行使用,因此本文也将以Linux系统作为工作环境。...\n"); return 0; } 编译过程 1....在Linux系统中,可以用ldd命令查看一个可执行程序依赖的共享库。
今日主题:centos安装redis 环境 centos7 redis-5.0.3 安装过程 1、首先检查是否有gcc 环境,输入gcc -v 出现这个表示成功安装了 ?
最常用的Linux关机命令用init、shutdown、halt和reboot等。这些命令都可以达到关机重启的目的,但是每个命令的内部工作过程是不同的。下面就详细了解Linux安全关机的过程。...1.shutdown命令 使用shutdown命令可以安全地关闭Linux系统,有些Linux初学者会使用直接关闭电源的方式来关闭Linux,真是十分危险的,因为Linux与Windows不同,在Linux...后台运行着很多进程,这些进程控制着Linux对系统的各种操作,如果强制关机,可能会造成进程的混乱以致丢失数据。...3.reboot命令 reboot命令的执行过程与halt基本类似,不同的是halt是用于关机,而reboot是关机后引发系统重启。
这是看到有很多人都是在用虚拟机做网站之后找到的部分linux小白入门,希望大家能多多了解一下linux的相关技术,对于优化服务器有着很好的帮助。 说到linux,本人也只是小白级别的。...但是本人并不认为小白就不能写点学习过程。 每个人吧,都有各自的学习方式。有些人想学啥新东西的时候喜欢买几本书,然后啃啃啃。...1、网上搜索,先百度一下linux常用命令。 2、寻找视频教程,看一下老师是如何学习如何使用linux的。这个过程中就会安装各种软件了。这个过程也是非常非常重要的。...接下来我们要买几本书,系统的学习linux。这就把更深层次的原理搞清楚了,在看书的过程中,就把上面三个过程中遇到的各种“莫名其妙”的问题都搞清楚原理了。...下面我也贴一下这个学习过程中用到的东西吧: 1、linux常用命令: 文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../..
服务器出现异常,完全无法访问,ssh登陆都极其缓慢 解决过程 top 查看系统状态,发现 load average 平均负载值非常高,再看排名第一的进程,是一个不认识的进程名:minerd 感觉是被入侵了...、自动运行的能力,担心还会有问题,就继续观察 果然过了一段时间后,资源又被占满,这次就不是 minerd 进程了,是一个名为 klll 的新进程 再次执行 kill 杀掉进程和删除对应文件 补漏过程
尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化。 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了。...这就是 Linux 引导的整个过程。现在让我们深入挖掘一下这个过程,并深入研究一下 Linux 引导过程的一些详细信息。 系统启动 系统启动阶段依赖于引导 Linux 系统上的硬件。...除了可以存储并引导 Linux 映像之外,这些引导监视器还执行一定级别的系统测试和硬件初始化过程。在嵌入式平台中,这些引导监视器通常会涉及第一阶段和第二阶段的引导加载程序。...然后该例程会调用内核,并开始启动内核引导的过程。 当 bzImage(用于 i386 映像)被调用时,我们从 ....结束语 与 Linux 本身非常类似,Linux 的引导过程也非常灵活,可以支持众多的处理器和硬件平台。最初,加载引导加载程序提供了一种简单的方法,不用任何花架子就可以引导 Linux。
(注意:你要安装了交叉编译器才行哦) 修改uboot目录下的Makefile,将 ifeq ($(ARCH),arm) CROSS_COMPILE = arm-Linux- endif 修改成 ifeq...7. kgo:启动没有压缩的linux内核,kgo 0x800000 8. bootm:启动通过UBOOT TOOLS—— mkimage制作的压缩LINUX内核, bootm 3200000; 9 flinfo...所以最好不要在NTFS文件系统上构建内核,或者把内核编译过程中生成的zImage拷贝到非NTFS文件系统上,再调用mkimage处理。...if_changed,uimage) @echo ‘ Image $@ is ready’ 3 EABI 使用AT91SAM9260EK的缺省配置编译内核,制作根文件系统,下载到AT9260单板,启动过程中出现...原因在于:编译内核和busybox使用的编译器是arm-linux-gcc 4.3.2,而这个编译器默认是打开“EABI选项”的,这样编译出来的busybox就是EABI的。
领取专属 10元无门槛券
手把手带您无忧上云