首先补丁包来自凌云实验室:
1.先打补丁:
patch -p1 < ../linux-3.0-s3c2440.patch
2.修改
Makefile:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
3.修改补丁的错误:
在/arch/arm/plat-s3c24xx/devs.c
//#ifdef CONFIG_SND_SOC_SAMSUNG_S3C24XX_UDA134X /* UDA1341 add by guowenxue, 2012.03.30 */ //注释掉
.
.
.
//#endif
4.make s3c2410_defconfig
5.裁剪内核,太大内核时,解压内核时出错:
去掉对 SMDK2410/A9M2410 的选中后
│ -> System Type
│ -> S3C2410 Machines
│ -> System Type
│ -> S3C2412 Machines
│ -> System Type │
│ -> S3C2416 Machines
里面的所有全部去掉
这个部分去掉:
-> System Type │
│ -> S3C2440 and S3C2442 Machines
│ [ ] Simtec Electronics ANUBIS │ │
│ │ [ ] Openmoko GTA02 / Freerunner phone │ │
│ │ [ ] Simtec IM2440D20 (OSIRIS) module │ │
│ │ [ ] HP iPAQ rx3715 │ │
│ │ [*] SMDK2440 │ │
│ │ [ ] NexVision NEXCODER 2440 Light Board │ │
│ │ [*] SMDK2440 with S3C2440 CPU module │ │
│ │ [ ] SMDM2440 with S3C2442 CPU module │ │
│ │ [ ] Avantech AT2440EVB development board │ │
│ │ [ ] MINI2440 development board │ │
│ │ [ ] HP iPAQ rx1950
留上面的
│ -> System Type │
│ -> S3C2443 Machines
里面的所有全部去掉
6.make zImage
最后裁剪到:
Data Size: 2300708 Bytes = 2246.79 kB = 2.19 MB
还是比较大,暂时能用了。
7.问题:
一直没有打印信息原来是这个原因
(不同版本内核对应的U-BOOT参数还不一样):
uboot设置的串口参数有问题,如下设置。
setenv bootargs 'console=ttyS0'
save
还好顺利启动了,