arm linux-2.6.24.3 移植

现在可以用制作好的交叉编译工具来编译内核,下面简要介绍:
1、下载linux-2.6.24.3.tar.bz2
2、tar -jxvf linux-2.6.24.3.tar.bz2
3、下载需要的补丁, 打补丁,
下载yaffs2
export CVSROOT=:pserver:anonymous@cvs.aleph1.co.uk:/home/aleph1/cvs cvs
logon
(Hit return when asked for a password)
cvs checkout yaffs2
cd yaffs2
打补丁: patch-ker.sh -c kernelpath
系统中制作cramfs时单文件支持大于16M的更改
修改内核中的include/linux/cramfs_fs.h中的
---#define CRAMFS_SIZE_WIDTH 24
+++#define CRAMFS_SIZE_WIDTH 25
make ARCH=arm menuconfig 配置
make ARCH=arm CROSS_COMPILE=arm-linux-
4、制作cramfs的工具作相应更改:
修改mkcramfs原文件中的cramfs_fs.h
---#define CRAMFS_SIZE_WIDTH 24
+++#define CRAMFS_SIZE_WIDTH 25
经过以上步骤,可以在arch/arm/boot下生成zImage文件,下载到系统中,运行,
系统大小大约1.3M,
启动开始加载内核的时间大概有1~2秒。
linux启动时间 3.885秒,其中udev启动时间比较长,如果不需要udev支持,而是
改用静态的dev的话,
linux启动时间启动时间应该可以缩小到2秒以内。
启动过程如下:

Uncompressing Linux.............................................................
Linux version 
2.6 . 24.3  (zjein@localhost.localdomain) (gcc version  4.2 . 3 ) # 21  PR8
CPU: ARM920T [
41129200 ] revision  0  (ARMv4T), cr = c0007177
Machine: IPAQ
- H1940
ATAG_INITRD 
is  deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2410A (id 
0x32410002 )
S3C2410: core 
266.000  MHz, memory  133.000  MHz, peripheral  66.500  MHz
S3C24XX Clocks, (c) 
2004  Simtec Electronics
CLOCK: Slow mode (
1.500  MHz), fast, MPLL on, UPLL on
CPU0: D VIVT write
- back cache
CPU0: I cache: 
16384  bytes, associativity  64 32   byte  lines,  8  sets
CPU0: D cache: 
16384  bytes, associativity  64 32   byte  lines,  8  sets
Built 
1  zonelists  in  Zone order, mobility grouping on. Total pages:  16256
Kernel command line: root
= 31 : 3  console = ttySAC0 time
0.000000 ] The  ' time '  option  is  deprecated and  is  scheduled  for  removal  in
8
0.000000 ] Use  ' printk.time=<value> '  instead
0.000000 ] irq: clearing subpending status  00000002
0.000000 ] PID hash table entries:  256  (order:  8 1024  bytes)
0.000000 ] timer tcon = 00000000 , tcnt d877, tcfg  00000200 , 00000000 , usec
0009
0.000000 ] Console: colour dummy device 8 0x30
0.000000 ] console [ttySAC0] enabled
0.005000 ] Dentry cache hash table entries:  8192  (order:  3 32768  bytes)
0.010000 ] Inode - cache hash table entries:  4096  (order:  2 16384  bytes)
0.025000 ] Memory: 64MB  =  64MB total
0.025000 ] Memory: 62128KB available (2412K code, 236K data, 84K init)
0.030000 ] SLUB: Genslabs = 11 , HWalign = 32 , Order = 0 - 1 , MinObjects = 4 , CPUs = 1 ,
1
0.145000 ] Mount - cache hash table entries:  512
0.145000 ] CPU: Testing write buffer coherency: ok
0.150000 ] net_namespace:  64  bytes
0.160000 ] NET: Registered protocol family  16
0.165000 ] S3C2410: Initialising architecture
0.170000 ] S3C24XX DMA Driver, (c)  2003 - 2004 , 2006  Simtec Electronics
0.175000 ] DMA channel  0  at c4800000, irq  33
0.180000 ] DMA channel  1  at c4800040, irq  34
0.185000 ] DMA channel  2  at c4800080, irq  35
0.190000 ] DMA channel  3  at c48000c0, irq  36
0.200000 ] SCSI subsystem initialized
0.200000 ] usbcore: registered  new   interface  driver usbfs
0.205000 ] usbcore: registered  new   interface  driver hub
0.210000 ] usbcore: registered  new  device driver usb
0.250000 ] NET: Registered protocol family  2
0.300000 ] IP route cache hash table entries:  1024  (order:  0 4096  bytes)
0.305000 ] TCP established hash table entries:  2048  (order:  2 16384
bytes)
0.310000 ] TCP bind hash table entries:  2048  (order:  1 8192  bytes)
0.315000 ] TCP: Hash tables configured (established  2048  bind  2048 )
0.320000 ] TCP reno registered
0.360000 ] NetWinder Floating Point Emulator V0. 97  ( double  precision)
0.365000 ] yaffs Mar  21   2008   14 : 05 : 28  Installing.
0.370000 ] io scheduler noop registered
0.375000 ] io scheduler deadline registered ( default )
0.405000 ] Console: switching to colour frame buffer device 106x43
0.445000 ] s3c2410 - uart. 0 : s3c2410_serial0 at MMIO  0x50000000  (irq  =   70 )
is0
0.455000 ] s3c2410 - uart. 1 : s3c2410_serial1 at MMIO  0x50004000  (irq  =   73 )
is0
0.460000 ] s3c2410 - uart. 2 : s3c2410_serial2 at MMIO  0x50008000  (irq  =   76 )
is0
0.465000 ] loop: module loaded
0.465000 ] PPP generic driver version  2.4 . 2
0.470000 ] PPP Deflate Compression module registered
0.475000 ] usbcore: registered  new   interface  driver zd1201
0.480000 ] usbcore: registered  new   interface  driver rtl8187
0.485000 ] Linux video capture  interface : v2. 00
0.490000 ] Driver  ' sd '  needs updating  -  please use bus_type methods
0.495000 ] S3C24XX NAND Driver, (c)  2004  Simtec Electronics
0.500000 ] s3c2410 - nand s3c2410 - nand: Tacls = 1 , 7ns Twrph0 = 2  15ns, Twrph1 = 1
s
0.505000 ] NAND device: Manufacturer ID:  0xec , Chip ID:  0x79  (Samsung
NAND )
0.510000 ] Scanning device  for  bad blocks
1.040000 ] Creating  4  MTD partitions on  " NAND 128MiB 3,3V 8-bit " :
1.045000 0x00200000 - 0x00400000  :  " boot "
1.050000 0x00400000 - 0x02400000  :  " rootfs "
1.055000 0x02400000 - 0x03000000  :  " config "
1.060000 0x03000000 - 0x08000000  :  " program "
1.065000 ] usbmon: debugfs  is  not available
1.070000 ] s3c2410 - ohci s3c2410 - ohci: S3C24XX OHCI
1.075000 ] s3c2410 - ohci s3c2410 - ohci:  new  USB bus registered, assigned bus
1
1.080000 ] s3c2410 - ohci s3c2410 - ohci: irq  42 , io mem  0x49000000
1.145000 ] usb usb1: configuration # 1  chosen from  1  choice
1.150000 ] hub  1 - 0 : 1.0 : USB hub found
1.150000 ] hub  1 - 0 : 1.0 2  ports detected
1.260000 ] Initializing USB Mass Storage driver...
1.260000 ] usbcore: registered  new   interface  driver usb - storage
1.265000 ] USB Mass Storage support registered.
1.270000 ] usbcore: registered  new   interface  driver usbserial
1.275000 ] drivers / usb / serial / usb - serial.c: USB Serial support registered
fc
1.280000 ] usbcore: registered  new   interface  driver usbserial_generic
1.285000 ] drivers / usb / serial / usb - serial.c: USB Serial Driver core
1.290000 ] drivers / usb / serial / usb - serial.c: USB Serial support registered
f3
1.295000 ] usbcore: registered  new   interface  driver pl2303
1.300000 ] drivers / usb / serial / pl2303.c: Prolific PL2303 USB to serial
adaptr
1.305000 ] mice: PS / 2  mouse device common  for  all mice
1.310000 ] input: s3c2410 - kbd  as   / devices / virtual / input / input0
1.345000 ] S3C24XX RTC, (c)  2004 , 2006  Simtec Electronics
1.345000 ] s3c2410 - rtc s3c2410 - rtc: rtc disabled, re - enabling
1.350000 ] s3c2410 - rtc s3c2410 - rtc: rtc core: registered s3c  as  rtc0
1.355000 ] S3C2410 Watchdog Timer, (c)  2004  Simtec Electronics
1.360000 ] s3c2410 - wdt s3c2410 - wdt: watchdog inactive, reset disabled, irq
d
1.365000 ] usbcore: registered  new   interface  driver hiddev
1.370000 ] usbcore: registered  new   interface  driver usbhid
1.375000 ] drivers / hid / usbhid / hid - core.c: v2. 6 :USB HID core driver
1.380000 ] TCP cubic registered
1.385000 ] Initializing XFRM netlink socket
1.385000 ] NET: Registered protocol family  1
1.390000 ] NET: Registered protocol family  17
1.395000 ] NET: Registered protocol family  15
1.400000 ] ieee80211:  802.11  data / management / control stack, git - 1.1 . 13
1.405000 ] ieee80211: Copyright (C)  2004 - 2005  Intel Corporation
< jketreno@l >
1.410000 ] s3c2410 - rtc s3c2410 - rtc: hctosys: invalid date / time
1.425000 ] VFS: Mounted root (cramfs filesystem)  readonly .
1.430000 ] Freeing init memory: 84K
init started: BusyBox v1.
9.1  ( 2008 - 03 - 03   10 : 40 : 32  CST)
starting pid 
16 , tty  '' ' /bin/mount '
starting pid 
17 , tty  '' ' /sbin/udevd '
cannot open 
/ dev / null
starting pid 
19 , tty  '' ' /sbin/udevadm '
starting pid 
65 , tty  '' ' /etc/init.d/rcS '
starting pid 
66 , tty  '' ' /bin/sh '
3.755000 ] yaffs: dev  is   32505858  name  is   " mtdblock2 "
3.760000 ] yaffs: passed flags  ""
3.765000 ] yaffs: Attempting MTD mount on  31.2 " mtdblock2 "
3.875000 ] Atmel at76x USB Wireless LAN Driver  0.17  loading
3.885000 ] usbcore: registered  new   interface  driver at76_usb

下面将介绍linux rootfs 根文件系统的建立。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值