1. linux核心
: linux 2.6.21,可從
2. 針對arm
的linux2.6.21
裁剪補丁,
2.6.21-at91.patch.gz
3. 交叉編譯器:本文採用arm-linux-gcc3.4.1版本,
busybox-1.9.2
由於arm-linux-gcc-3.4.1
預設的安裝路徑是
/usr/local/
,所以直接將
arm-linux-gcc-3.4.1.tar.bz2
放在根目錄下解壓。
#cd /
#tar jxvf arm-linux-gcc-3.4.1.tar.bz2
使用arm-linux-gcc -v
檢查交叉編譯器是否安裝成功,正常情況下可以顯示出版本資訊,如果看不到,在/root/.bash_profile 檔案中增加
export path=$path:/usr/local/arm/3.4.1/bin
然後重起系統。只有用arm-linux-gcc -version
命令能夠看到交叉編譯器的版本資訊,安裝才算成功。
注:如果不設定
path=$path:/usr/local/arm/3.4.1/bin
,也是可以的,只要設定
cross_compile ?=/usr/local/arm/
3.4.1
/bin/arm-linux-
下,會生成
linux-2.6.21
目錄。
解壓命令:tar jxvf *.bz2
或者tar
zxvf *.gz
2. 進入linux-2.6.21
目錄下,將補丁
2.6.21-at91.patch.gz
拷貝到該目錄下,然後給
linux-2.6.21
打上補丁,只有打上補丁,才能針對arm.
打補丁命令為:zcat 2.6.21-at91.patch.gz |patch
-p1;
3. 將/arch/arm/mach-at91/configs/at91rn9200ek_defconfig
拷貝到linux-2.6.21
目錄下,重新命名為
.config,
命令為cp arch/arm/configs/at91rn9200ek_defconfig .config
4. 修改makefile
開啟核心原**根目錄下的makefile
,找到如下兩行:
arch ?=$(subarch)
cross_compile ?=
修改為:
arch ?=arm
cross_compile ?=/usr/local/arm/
3.4.1
/bin/arm-linux-
5. 若板子上的u-boot
,不支援
zimage
由於我的板子上的u-boot
,不支援
zimage
,另外machine id
不支援at91rm9200ek.
需要作如下修改:
linux-2.6.2
1/arch/arm/mach-at91/board-ek.c 中的
machine_start(at91rm9200ek,"atmel at91rm9200-ek") 改為
machine_start(at91rm9200,"atmel at91rm9200-ek")
6. at91rm9200開發:為
linux2.6.20
新增nor flash mtd驅動
mtd的驅動程式都集中在drivers/mtd裡面。我們需要做的,僅僅是在drivers/mtd/maps下增加自己的分割槽表,網上有參考的**。
配置核心make .config,增加支援ipv6的選項.
另:增加mtd,和相應的檔案系統的支援。
devices drivers --->
memory technology devices (mtd) --->
<*> memory technology device(mtd) support
<*> mtd partitioning support
<*> direct char device access to mtd devices
<*> caching block device access to mtd devices
ram/rom/flash chip drivers --->
<*> detect flash chips by common flash inte***ce(cfi) probe
<*> support for intel/sharp flash chips
file systems --->
miscellaneous filesystems --->
這裡選擇cramfs或者jffs2的支援,這樣檔案就可以被儲存下來。
7. 編譯核心,生成
uimage
$ make clean
$ make zimage
若要生成uimage
就另外在執行以下兩句話
$ /usr/local/arm/3.4.1/bin/arm-linux-objcopy -o binary -s vmlinux linux.bin
$ gzip -v9 linux.bin
$./mkimage -a arm -o linux -t kernel -c gzip -a 0x20008000 -e 0x20008000 -d linux.bin.gz uimage
注:mkimage
是uboot
提供的乙個工具,本文採用
u-boot-1.1.6
,在u-boot-1.1.6
目錄下有乙個tools
目錄,mkimage
就在該目錄下
在裁剪中,如果有什麼不正確的地方可以qq353758205
nginx開啟IPV6支援配置
ipv4日益稀缺,ipv6已經慢慢走上日程,待ipv6在國內普及,使用nginx配置ipv6那是肯定的,看看如何讓nginx支援ipv6以及配置.沒有出現 with ipv6,說明當前的nginx不支援ipv6,所以我們需要重新編譯nginx,配置裡面增加 with ipv6,具體怎麼安裝,我不在囉...
阿里雲ECS centos7 2 支援IPv6
第一部分 第二步 使用命令啟動啟用ipv6,sysctl p 第三步 將 etc modprobe.d disable ipv6.conf 檔案中的內容注釋掉 第四步 在 etc sysconfig network 中修改或新增 networking ipv6 yes 第五部 重啟系統 第二部分 1...
IPv6支援預設將導致使用者系統面臨攻擊威脅
7月22日訊息,一名安全研究人員警告稱,ipv6 使許多系統面臨受到攻擊的危險,因為網路軟體預設地支援 ipv6,但使用者不了解這一情況。據國外 報道稱,ipv6 整合諮詢廠商command information的高管喬 克萊恩解釋說,使用者不知道他們的網路和計算機支援 ipv6,因此不會配置網路...