2.6.24.3+YAFFS2尝试2410/2240

准备:(后改为2.6.14)
kernel2.6.25:
ftp://ftp.eu.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
YAFFS2:
http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar

cd /usr/src
tar -zxvf linux-2.6
tar -zxvf yaffs2.

vivi

part del kernel
part del root

 

part add kernel 0x00100000 0x00300000 0      SZ_1M*3
part add root 0x00400000 0x03C00000 YAFFS  SZ_1M*60

________________________________________
编译器
export PATH=/usr/local/arm/3.4.1/bin:$PATH

vi ~/.bashrc
export PATH=/usr/local/arm/3.4.1/bin:$PATH
vi Makefile
_________________________________________________
2,修改Makefile
  ARCH = arm
  CROSS_COMPILE = /usr/local/arm/3.4.1/bin/arm-linux-

_________________________________________________
vivi> part show
mtdpart info. (4 partitions)
name              offset        size        flag
------------------------------------------------
vivi            : 0x00000000    0x00020000     0  128k
param           : 0x00020000    0x00010000     0   64k
kernel          : 0x00040000    0x001c0000     0    1M+768k
root            : 0x00200000    0x03cf8000    16   60M+992k
_________________________________________________
 
vi arch/arm/mach-s3c2410/devs.c(老版本)
vim arch/arm/plat-s3c24xx/common-smdk.c
 
    [0] = {
        .name    = "vivi",
        .size    = SZ_128K,
        .offset    = 0,
    },
    [1] = {
        .name    = "param",
        .offset = SZ_128K,
        .size    = SZ_64K,
    },
    [2] = {
        .name    = "kernel",
        .offset = SZ_1M,
        .size    = SZ_1M*3,
    },
    [3] = {
        .name    = "root",
        .offset    = SZ_1M*4,
        .size    = SZ_1M*60,
    }
__________________________________
//vi drivers/mtd/nand/nand_base.c
//查找not recomm.... 把二行去掉(提示)
________________________________
第二步:修改nand flash的参数:
在同一个文件中找到
smdk_nand_info = {
.tacls=20,
.twrph0=60,
.twrph1=20,
...
}
改成
smdk_nand_info = {
.tacls=0,
.twrph0=30,
.twrph1=0,
...
}
___________________________
vi drivers/mtd/nand/s3c2410.c
s3c2410_nand_init_chip()函数,将其中的
chip->ecc.mode=NAND_ECC_SOFT;
改成
chip->ecc.mode=NAND_ECC_NONE;
2440:

修改时钟

       在arch/arm/mach-s3c2440/mach-smdk2440.c中修改smdk2440_map_io如下
    static void __init smdk2440_map_io(void)
{
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
s3c24xx_init_clocks( 12000000);     
s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
}
_________________________
cd yaffs2
./patch-ker.sh c ../linux-2.6.25

cp arch/arm/configs/s3c2410_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux- zImage

_______________________________________________


 [选中]       Lets Yaffs do its own ECC
其他可不修改,设为默认

__________________________________________________________
vivi
param set linux_cmd_line "initrd=0x30800000,0x440000 mem=64M root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"
param save
net tftp 192.168.1.156 0x30008000 zImage
net flash kernel
net tftp 192.168.1.156 0x30008000 root_china.yaffs
net flash root

 

SD卡移植

--------------------------------------------------------------------------------------

wget http://svnweb.openmoko.org/*checkout*/branches/src/target/kernel/2.6.24.x/patches/s3c_mci.patch?rev=4096

#cp s3c_mci.patch linux-2.6.24.3/
#cd linux-2.6.24.3/
#patch -p1 <s3c_mci.patch

vi arch/arm/mach-s3c2410/mach-smdk2410.c

?iis

&s3c_device_sdi,

vi drivers/mmc/host/s3cmci.c

static struct s3c24xx_mci_pdata s3cmci_def_pdata = {
    .do_dma        = 0,
    .gpio_detect    = S3C2410_GPG3,   //add 
    
.set_power    = NULL,
    .ocr_avail    = MMC_VDD_32_33,
};
内核:

File systems  --->
           -*- Native language support  --->
                        <*>   Codepage 437 (United States, Canada)
                        <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)
                         —— simple chinese
结束,看似简单,折腾了几天

mount -t auto /dev/mmcblk0p1 /mnt/sd

---------------------------------------------------------------------------------------
网卡移植:

wget http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz

make armdebug ARCH=arm CROSS_COMPILE=/usr/local/arm/3.4.1/bin/arm-linux- KERNDIR=/usr/src/linux-2.6.24.3

生成rt73.ko
make armdebug ARCH=arm CROSS_COMPILE=/usr/local/arm/3.4.1/bin/arm-linux- KERNDIR=/usr/src/linux-2.6.24.3 install

生成rt73.bin

 cp /lib/firmware/rt73.bin /home/boottmp/lib/firmware

注:无线内核。

1、Networking -->

Wireless LAN -->

[M]Generic IEEE 802.11 Networking Stack (mac80211)

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值