原标题:Linux2.4.18核心移植到s3c2410全过程

一.下载核心以及相应补丁:

Linux核心:linux-2.4.18.tar.bz2

补丁:

patch-2.4.18-rmk7.gz

patch-2.4.18-rmk7-swl8.gz

patch-2.4.18-rmk7-swl8-cy2.gz

patch-2.4.18-rmk7-swl8-cy2-lc3.gz

二. 解压缩:

# tar xzvf linux-2.4.18.tar.gz

# gunzip patch-2.4.18-rmk7.gz

# gunzip patch-2.4.18-rmk7-swl8.gz

# gunzip patch-2.4.18-rmk7-swl8-cy2.gz

# gunzip patch-2.4.18-rmk7-swl8-cy2-lc3.gz

三. 打补丁:

# cd linux-2.4.18

# patch -p1 < .. patch-2.4.18-rmk7

# patch -p1 < .. patch-2.4.18-rmk7-swl8

# patch -p1 < .. patch-2.4.18-rmk7-swl8-cy2

# patch -p1 < .. patch-2.4.18-rmk7-swl8-cy2-lc3

四. 修改相关代码:

(1)修改主目录的Makefile

vi linux/Makefiel

a.指定目标平台为ARM:

#ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/.*/arm/ -e s/sa110/arm/)

ARCH := arm

b.指定:

CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-

(我的交叉编译工具放在/usr/local/arm文件夹下)

(2)修改arch目录中的文件

Linux的arch目录存放硬件相关的内核代码,因此,在Linux内核中增加对S3C2410的支持,最主要就是要修改arch目录中的文件。

在arch/arm/Makefile文件中加入:

ifeq ($(CONFIG_ARCH_S3C2410),y)

TEXTADDR = 0xC0008000

MACHINE =

Endif

(3) 在arch/arm/boot/Makefile文件中加入:

ifeq ($(CONFIG_ARCH_S3C2410),y)

ZTEXTADDR = 0x30008000

ZRELADDR = 0x30008000

endif

(4) 修改arch/arm/mm/mm-armv.c文件(arch/arm/mm/目录中的文件完成与ARM相关的MMU处理):

修改:

init_maps->bufferable = 0;

为:

init_maps->bufferable = 1;

五.编译内核:

make menuconfig

一定要选上 :FILE_SYS

CONFIG_DEVFS_FS=y

修改启动命令行:

CONFIG_CMDLINE="root=/dev/mtdblock2 init=/linuxrc console=ttyS0,115200 devfs=mount load_disk=0"

Make dep

Make zImage

运行结果:(成功)

Unressing Linux..................................................... done, booting the kernel.

Linux version 2.4.18-rmk7-swl8 (root@localhost.locamain) (gcc version 2.95.3 20010315 (release)) #1 三 9月 6 15:05:59 CST 2006

CPU: SAMSUNG S3C2410(Arm920T)sid(wb) revision 0

Machine: CyLab LN2410

On node 0 alpages: 16384

zone(0): 16384 pages.

zone(1): 0 pages.

zone(2): 0 pages.

Kernel command line: root=/dev/mtdblock2 load_ramdisk=0 init=/linuxrc console=ttyS0 mem=64M devfs=mount

Console: colour dummy device 80x30

Calibrating delay loop... 96.05 BogoMIPS

Memory: 64MB = 64MB total

Memory: 62668KB available (1402K code, 328K data, 68K init)

Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)

Inode-cache hash table entries: 4096 (order: 3, bytes)

Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)

Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)

Page-cache hash table entries: 16384 (order: 4, 65536 bytes)

POSIX conformance testing by UNIFIX

Linux NET4.0 for Linux 2.4

Based upon Swea University Computer Society NET3.039

Initializing RT netlink ket

Starting kswapd

devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)

devfs: boot_options: 0x1

JFFS version 1.0, (C) 1999, 2000 Axis Communications AB

JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.

l3 S3C2410 Adapter Initialized

ttyS00 at MEM 0xe0000000 (irq = 52) is a S3C2410

ttyS01 at MEM 0xe0004000 (irq = 55) is a S3C2410

een_cpu:c480e000 ,screen_dma:33f01000

Console: switching to colour frame buffer device 80x30

InstalLN2410X TFT 16bpp frame buffer

by redizi, CyberLab 2003

pty: 256 Unix98 ptys configured

Long S3C2410 Touch Screen Driver

Installing S3C2410 RTC

S3C Real Time Clock driver v1.00

block: 128 slots per queue, batch=32

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

eth0: incorrect signature 0x4000

cs89x0: no cs8900 or cs8920 detected. Be sure to disable PnP with SETUP

loop: lod (max 8 devices)

S3C2410 UDA1341 / IIS initialized

NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)

Creating 5 MTD partitions on "Samsung K9D1208V0M":

0x00000000-0x00030000 : "boot"

0x00030000-0x00200000 : "kernel"

0x00200000-0x02000000 : "rootfs"

0x02000000-0x03000000 : "ext-fs1"

0x03000000-0x04000000 : "ext-fs2"

usb.c: registered new driver hub

usb-ohci.c: USB OHCI at membase 0xd9000000, IRQ 26

usb.c: new USB bus registered, assigned bus number 1

hub.c: USB hub found

hub.c: 2 ports detected

mice: PS/2 mouse device common for all mice

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP

IP: routing cache hash table of 512 buckets, 4Kbytes

TCP: Hash tables configured (established 4096 bind 4096)

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com

VFS: Mounted root (cramfs filesystem).

Mounted devfs on /dev

Freeing init memory: 68K

console=/dev/console

init started: BusyBox v0.60.3 (2002.05.13-08:36+0000) multi-call binary

Starting pid 16, console /dev/console: '/etc/init.d/rcS'

exec: /usr/etc/rc.local: No such file or directory

Waiting for enter to start '/bin/sh' (pid 19, terminal /dev/console)

Please press Enter to activate this console.

Starting pid 19, console /dev/console: '/bin/sh'

BusyBox v0.60.3 (2002.05.13-08:36+0000) Built-in shell (ash)

Enter 'help' for a list of built-in commands.

# ls

bin etc linuette mnt qt tmp var

dev lib linuxrc proc sbin usr

#

责任编辑:

linux jx2410.tar.gz,Linux2.4.18核心移植到s3c2410全过程相关推荐

  1. LINUX下tar.gz包的安装方法

    LINUX下tar.gz包的安装方法 在tar.gz的东西不多了---- ======================================== 大多以tar.gz 和tar.bz2打包软件 ...

  2. linux下tar gz bz2 tgz z等众多压缩文件的解压方法

    对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见 的压缩文件就只有两种,一是,zip,另一个是.rar. ...

  3. linux下.tar.gz和.gz文件解压详解

    .tar.gz和.gz文件是两种不同的文件,需要区别对待,解压命令当然也不同咯,下面来分享一下他们各自的解压方法. 1. .tar.gz文件,这种文件是tar文件的压缩文件,可以使用tar命令进行解压 ...

  4. linux中.sql.gz文件解压,linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结

    本文介绍了linux下的压缩程式tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar等程式,以及如何使用它们 ...

  5. LINUX解压缩TAR.GZ文件命令

    LINUX解压缩TAR.GZ文件命令 以下介绍如何压缩与解压 .tar.gz 格式的文件 1.压缩命令: 命令格式: tar -zcvf 压缩文件名 .tar.gz 被压缩文件名 可先切换到当前目录下 ...

  6. gz文件解压 linux,linux下.tar.gz和.gz文件解压详解

    .tar.gz和.gz文件是两种不同的文件,需要区别对待,解压命令当然也不同咯,下面来分享一下他们各自的解压方法. 1. .tar.gz文件,这种文件是tar文件的压缩文件,可以使用tar命令进行解压 ...

  7. [转] linux下.tar .gz .tgz .bz2 .bz等解、压包命令详解

    tar命令 [原始位置:http://www.51testing.com/?uid-342316-action-viewspace-itemid-232627」 tar 可以为文件和目录创建档案.利用 ...

  8. linux安装bz2压缩文件,Linux下*.tar.gz/.tar.bz2 文件解压缩安装命令

    Linux tar 命令 在Linux平台,tar是主要的打包工具.tar命令通常用来把文件和目录压缩为一个文件( tarball 或 tar, gzip 和 bzip). Tar选项: c – 创建 ...

  9. linux,rpm, tar, gz, bz, bz2, rar, zip, lha, deb, 解压

    linux下解压命令大全 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------- ...

  10. linux下tar.gz、tar、bz2、zip等命令小结

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的. 生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲ta ...

最新文章

  1. 取消win开机chkdsk is verifying files
  2. AS问题解决系列1—Unable to execute DX错误
  3. 微信红包要哭了...给抢红包设计一个新交互
  4. hdu 5730 Shell Necklace——多项式求逆+拆系数FFT
  5. mysql delete语句_MySQL ------ 触发器(TRIGGER)(二十七)
  6. The credentials you provided during SQL Server 2008 install are invalid
  7. WeTest功能优化第3期:业内首创,有声音的云真机
  8. Java知多少(24)包装类、拆箱和装箱详解
  9. 音乐学院计算机考试内容,中国音乐学院2014年秋季本科考试试卷-计算机基础C
  10. 闪存技术瓶颈仍难以克服 注定只是过客?
  11. 材料的构成 —— 塑料
  12. 实战 TPCC-MySQL 基准测试
  13. 超硬核 Web 前端学霸笔记,学完就去找工作!
  14. 罗永浩直播带货卖了1.1亿,更高级的自我认知【附直播卖货商业计划书PPT】
  15. Spring学习资料
  16. zipEntry.getSize()=-1
  17. js点击第三方广告添加点击事件
  18. 解决win10无法启用文件和打印机共享功能,你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限
  19. 针对豆瓣TOP250电影知识图谱的构建(Python+neo4j)
  20. stream_kws_cnn

热门文章

  1. leetcode日记01
  2. ‘keytool‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  3. Windows找不到文件xxxxx.exe。请确认文件名是否正确后,再试一次
  4. android推动消息点击跳转weex界面
  5. Python的高级图像处理
  6. 泛微e-cology9 browser.jsp SQL注入漏洞
  7. 计算机二级怎么考,怎么学?
  8. 笑着面对上班,这些表情包让你心情愉悦
  9. React项目:Must use import to load ES Module
  10. 【笔记】Git 常用命令速查表