在确保你安装好git后,我们就能够通过git来下载linux kernel了,这时要先说一下linux的版本号分类。在 Linux 内核官网上(https://www.kernel.org/),我们常常看到例如以下的版本号分类:如上图,这里就有三个版本号,分别为:mainline 、stable、l...
分类:
系统相关 时间:
2014-08-25 21:02:44
阅读次数:
266
之前的32位系统中,无论是对内存还是寄存器,映射统一使用的是ioremap_nocache这个接口,但是在64位系统中,就要做区分了,因为使用iomap_nocache做映射的地址在64位系统中使用memcpy时会发生对齐错误导致kernel panic,因此,如果在64位系统中,我们要对一个映射后的虚拟地址做memcpy操作,就要使用iomap_wc来做映射。这两个映射接口的定义在arch/ar...
分类:
其他好文 时间:
2014-08-24 20:54:43
阅读次数:
643
前言:今天我们就根据BusyBox+linux内核定制一个属于自己的Linux,还可以加上dropbear和nginx来实现远程登录和web服务器功能。要想定制一个小型的Linux系统首先要对Linux开机启动流程有所了解。POST-->BootSequence(MBR)-->BootLoader-->kernel-->/sbin/initPOST:..
分类:
系统相关 时间:
2014-08-24 19:35:03
阅读次数:
398
linux 3.4.103 内核移植到 S3C6410 开发板
这个星期几乎就搭在这里面了,一开始感觉很不值得,移植这种浪费时间的事情,想立马搞定,然后安安静静看书 & coding.
坑爹的事情就是一个多星期的时间搭进去了,还是没成功。我把我的移植失败的经验留下来做为笔记,为下次做准备,也让和我一起做移植的道友少走弯路.大家一起共同分享经验,营造更好的开发环境。
...
分类:
系统相关 时间:
2014-08-24 13:00:02
阅读次数:
601
一、内核定时器定义:struct timer_list { struct list_head entry; unsigned long expires; void (*function)(unsigned long); unsigned long data; struc...
分类:
系统相关 时间:
2014-08-24 11:30:02
阅读次数:
241
+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++1. Shell概述 Shell定义: Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以...
分类:
系统相关 时间:
2014-08-24 09:07:32
阅读次数:
289
目的给一个新的主机提供一个微型的linux内核,并在上面运行服务。手动制作一个tiny-linux,内核可以从官网站点下载下来,我这里已经预备了一个:放在/usr/src目录下,解压并创建了一个软连接ln–svlinux-3.13.6linuxcd/usr/src/[root@libinsrc]#lsdebugkernelslinuxlinux-3.13..
分类:
系统相关 时间:
2014-08-24 04:09:32
阅读次数:
416
所有的list函数见 include/linux/list.h自己从 include/linux/list.h 拷贝了一些函数到自己的list.c中, 然后练习了一下。没有别的目的,就是想熟练一下。毕竟linux内核代码中试用了大量的list函数。文件:list.c 1 #include 2 ...
分类:
系统相关 时间:
2014-08-24 00:21:31
阅读次数:
301
最近在做64位代码移植,代码中到处充斥着类型转换,到处报编译警告和错误,比如以下使用:
unsigned int ret=0,*p=NULL;
p = (unsigned int *)malloc(sizeof(4));
ret = (unsigned int )p;
以上这段代码,在32位编译系统中没问题,但是在64位编译系统中就会报错,说是类型转换size不一样,因为在64位,所有指针...
分类:
其他好文 时间:
2014-08-23 23:01:01
阅读次数:
264