uboot(1.1.4) kernel (2.6.17.13) busybox(1.21)移植
时间:2006-09-19 来源:litroncn
近段时间工作是自己制作编译个arm-linux-gcc-4.0.3至今使用正常,移植了uboot,我的板子本来也是用的uboot但公司不给uboot源码,我不知道这样算不算违反GPL协议.
1. 制作交叉编译工具arm-linux-gcc (4.0.3)顺便也做了支持软件浮点,不过在uboot上编译通过,下载uboot后在板子上不能通过串口打印信息,但编译内核就没有问题,到现在还没有搞定,不过可能是浮点两中标准混在一起使用了.
2. 移植uboot
3. 移植内核2.6.17(包括部分主要驱动)
4. 制作文件系统busybox(1.2.1)
启动信息如下:
U-Boot 1.1.4 (Sep 4 2006 - 13:44:44)
U-Boot code: 33F80000 -> 33F9C0E0 BSS: -> 33FA0190
IRQ Stack: 33f4ff7c
FIQ Stack: 33f4ef7c
RAM Configuration:
Bank #0: 30000000 64 MB
NAND: 64 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
the commandline is noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
zImage magic = 0x016f2818
NOW, Booting Linux......
the commandline in myboot is noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
30000100: 00000005 54410001 00000000 00000000 ......AT........
30000110: 00000000 00000004 54410002 04000000 ..........AT....
30000120: 30000000 00000013 54410009 6e696f6e ...0......ATnoin
30000130: 64727469 6f6f7220 642f3d74 6d2f7665 itrd root=/dev/m
30000140: 6c626474 336b636f 696e6920 6c2f3d74 tdblock3 init=/l
30000150: 78756e69 63206372 6f736e6f 743d656c inuxrc console=t
30000160: 41537974 312c3043 30323531 c0000030 tySAC0,115200...
30000170: 00000000 00000000 c0000178 c0000178 ........x...x...
30000180: c0000180 c0000180 c0000188 c0000188 ................
30000190: c0000190 c0000190 c0000198 c0000198 ................
300001a0: c00001a0 c00001a0 c00001a8 c00001a8 ................
300001b0: c00001b0 c00001b0 c00001b8 c00001b8 ................
300001c0: c00001c0 c00001c0 c00001c8 c00001c8 ................
300001d0: c00001d0 c00001d0 c00001d8 c00001d8 ................
300001e0: c00001e0 c00001e0 c00001e8 c00001e8 ................
300001f0: c00001f0 c00001f0 c00001f8 c00001f8 ................
Uncompressing Linux................................................................. done, booting the kernel.
Linux version 2.6.17.13 (arm@ubuntu) (gcc version 4.0.3) #26 Mon Sep 18 18:40:49 EDT 2006
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: SMDK2410
Memory policy: ECC disabled, Data cache writeback
CPU S3C2410A (id 0x32410002)
S3C2410: core 202.800 MHz, memory 101.400 MHz, peripheral 50.700 MHz
S3C2410 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
Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
irq: clearing subpending status 00000002
PID hash table entries: 512 (order: 9, 2048 bytes)
timer tcon=00500000, tcnt a509, tcfg 00000200,00000000, usec 00001e4c
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62780KB available (1640K code, 371K data, 76K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
S3C2410: Initialising architecture
s3c24xx: failed to add board device s3c2410-nand (-17) @c01bbb2c
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics
DMA channel 0 at c4800000, irq 33
DMA channel 1 at c4800040, irq 34
DMA channel 2 at c4800080, irq 35
DMA channel 3 at c48000c0, irq 36
NetWinder Floating Point Emulator V0.97 (double precision)
fuse init (API version 7.6)
yaffs Sep 18 2006 18:35:55 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
S3C2410 RTC, (c) 2004 Simtec Electronics
s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410
s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410
s3c2410-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410
Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)
eth0: CS8900A rev E at 0xe0000300 irq=53, no eeprom , addr: 08: 0:3E:26:0A:5B
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2410-nand: Tacls=1, 9ns Twrph0=4 39ns, Twrph1=1 9ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00020000 : "Bootloader"
0x00020000-0x00030000 : "Param"
0x00030000-0x00130000 : "Kernel"
0x00130000-0x00430000 : "Root Filesystem"
0x00430000-0x04000000 : "Yaffs Filesystem"
mice: PS/2 mouse device common for all mice
TCP bic registered
NET: Registered protocol family 1
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 76K
Warning: unable to open an initial console.
yaffs: dev is 32505860 name is "mtdblock4"
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
Ubuntu login:
1. 制作交叉编译工具arm-linux-gcc (4.0.3)顺便也做了支持软件浮点,不过在uboot上编译通过,下载uboot后在板子上不能通过串口打印信息,但编译内核就没有问题,到现在还没有搞定,不过可能是浮点两中标准混在一起使用了.
2. 移植uboot
3. 移植内核2.6.17(包括部分主要驱动)
4. 制作文件系统busybox(1.2.1)
启动信息如下:
U-Boot 1.1.4 (Sep 4 2006 - 13:44:44)
U-Boot code: 33F80000 -> 33F9C0E0 BSS: -> 33FA0190
IRQ Stack: 33f4ff7c
FIQ Stack: 33f4ef7c
RAM Configuration:
Bank #0: 30000000 64 MB
NAND: 64 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
the commandline is noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
zImage magic = 0x016f2818
NOW, Booting Linux......
the commandline in myboot is noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
30000100: 00000005 54410001 00000000 00000000 ......AT........
30000110: 00000000 00000004 54410002 04000000 ..........AT....
30000120: 30000000 00000013 54410009 6e696f6e ...0......ATnoin
30000130: 64727469 6f6f7220 642f3d74 6d2f7665 itrd root=/dev/m
30000140: 6c626474 336b636f 696e6920 6c2f3d74 tdblock3 init=/l
30000150: 78756e69 63206372 6f736e6f 743d656c inuxrc console=t
30000160: 41537974 312c3043 30323531 c0000030 tySAC0,115200...
30000170: 00000000 00000000 c0000178 c0000178 ........x...x...
30000180: c0000180 c0000180 c0000188 c0000188 ................
30000190: c0000190 c0000190 c0000198 c0000198 ................
300001a0: c00001a0 c00001a0 c00001a8 c00001a8 ................
300001b0: c00001b0 c00001b0 c00001b8 c00001b8 ................
300001c0: c00001c0 c00001c0 c00001c8 c00001c8 ................
300001d0: c00001d0 c00001d0 c00001d8 c00001d8 ................
300001e0: c00001e0 c00001e0 c00001e8 c00001e8 ................
300001f0: c00001f0 c00001f0 c00001f8 c00001f8 ................
Uncompressing Linux................................................................. done, booting the kernel.
Linux version 2.6.17.13 (arm@ubuntu) (gcc version 4.0.3) #26 Mon Sep 18 18:40:49 EDT 2006
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: SMDK2410
Memory policy: ECC disabled, Data cache writeback
CPU S3C2410A (id 0x32410002)
S3C2410: core 202.800 MHz, memory 101.400 MHz, peripheral 50.700 MHz
S3C2410 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
Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
irq: clearing subpending status 00000002
PID hash table entries: 512 (order: 9, 2048 bytes)
timer tcon=00500000, tcnt a509, tcfg 00000200,00000000, usec 00001e4c
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62780KB available (1640K code, 371K data, 76K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
S3C2410: Initialising architecture
s3c24xx: failed to add board device s3c2410-nand (-17) @c01bbb2c
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics
DMA channel 0 at c4800000, irq 33
DMA channel 1 at c4800040, irq 34
DMA channel 2 at c4800080, irq 35
DMA channel 3 at c48000c0, irq 36
NetWinder Floating Point Emulator V0.97 (double precision)
fuse init (API version 7.6)
yaffs Sep 18 2006 18:35:55 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
S3C2410 RTC, (c) 2004 Simtec Electronics
s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410
s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410
s3c2410-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410
Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)
eth0: CS8900A rev E at 0xe0000300 irq=53, no eeprom , addr: 08: 0:3E:26:0A:5B
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2410-nand: Tacls=1, 9ns Twrph0=4 39ns, Twrph1=1 9ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00020000 : "Bootloader"
0x00020000-0x00030000 : "Param"
0x00030000-0x00130000 : "Kernel"
0x00130000-0x00430000 : "Root Filesystem"
0x00430000-0x04000000 : "Yaffs Filesystem"
mice: PS/2 mouse device common for all mice
TCP bic registered
NET: Registered protocol family 1
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 76K
Warning: unable to open an initial console.
yaffs: dev is 32505860 name is "mtdblock4"
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
Ubuntu login:
相关阅读 更多 +