mini2440보드에서는 u-boot보다는 supervivi가 기본드로 들어가 있습니다.
때문에 나와 있는자료도 supervivi와 dnw.exe를 사용하는 것으로 되어 있습니다.
일단 u-boot 전에 supervivi에서 완전하게 작동하는 것을 짚어보고 넘어가보고자 합니다.
1. NFS 마운트 하기!!!
<루트 파일 구해서 풀기>
패키지에 첨부된 root_nfs.tgz를 /opt/FriendlyARM/mini2440/root_nfs에 풉니다.
tar xvzf root_nfs.tgz -C /opt/FriendlyARM/mini2440
으로 풀면 됩니다.
<NFS 마운팅 하기>
그리고 NFS Server 패키지는 인스톨 되어 있어야 합니다.
NFS에서 export할 위치를 설정합니다.
#gedit /etc/exports
를 실행하여
/opt/FriendlyARM/mini2440/root_nfs *(rw,sync,no_root_squash)
를 추가합니다.
#/etc/init.d/nfs-kernel-server start를 실행해서 export가 적용되게 합니다.
(ubuntu 9.10에서는 위와 같이 하고, 다른데는 "/etc/init.d/nfs start"으로 실행해야하는 것 같습니다.)
root@ubuntu:/tftpboot# /etc/init.d/nfs-kernel-server start* Exporting directories for NFS kernel daemon... exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/opt/FriendlyARM/mini2440/root_nfs".Assuming default behaviour ('no_subtree_check').NOTE: this default has changed since nfs-utils version 1.0.x[ OK ]* Starting NFS kernel daemon [ OK ]root@ubuntu:/tftpboot#
확인을 위해 다음과 같이 해봅니다.
#mount -t nfs localhost:/opt/FriendlyARM/mini2440/root_nfs /mnt/
#cd /mnt
#ls -al
해보면 제대로 마운팅 되었다면 리스트가 보일 것입니다.
확인이 되었으면
#cd /
#umount /mnt/
를 해서 언마운트 시킵니다.
2. NFS로 Target System Booting 하기!!!
방법은 Supervivi 부트로더가 실행될때 빨리 스페이스키나 다른키를 누릅니다.
단, 엔터를 누르면 부팅됩니다.
그러면 부트로더 프롬프트가 나오는데, 거기서 nfs관련 파라메타를 등록 합니다.
리눅스 상에서 초기화 관련 부분 인 것 같습니다.
param set linux_cmd_line "console=ttySAC0 root=/dev/nfsnfsroot=192.168.11.103:/opt/FriendlyARM/mini2440/root_nfsip=192.168.11.200:192.168.11.103:192.168.11.103:255.255.255.0:ubuntu:eth0:off"
참고로, 192.168.11.200은 local ip 이고, 192.168.11.103은 NFS Server의 IP입니다. ubuntu는 Server name입니다.
console은 ttySAC0로 UART0 포트를 사용합니다.
그리고 루트 이미지는 "/opt/FriendlyARM/mini2440/root_nfs"에 존재합니다.
위의 명령이 끝났으면,
'boot'를 입력하여 리눅스를 재기동 합니다.
캡춰된 실행 수순은 다음과 같습니다.
VIVI version 0.1.4 (root@capcross) (gcc version 2.95.3 20010315 (release)) #0.1.
4 Mon Oct 27 10:18:15 CST 2008
MMU table base address = 0x33DFC000
Succeed memory mapping.
DIVN_UPLL0
MPLLVal [M:7fh,P:2h,S:1h]
CLKDIVN:5h
+---------------------------------------------+
| S3C2440A USB Downloader ver R0.03 2004 Jan |
+---------------------------------------------+
USB: IN_ENDPOINT:1 OUT_ENDPOINT:3
FORMAT: <ADDR(DATA):4>+<SIZE(n+10):4>+<DATA:n>+<CS:2>
NOTE: Power off/on or press the reset button for 1 sec
in order to get a valid USB device address.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Could not found stored vivi parameters. Use default vivi parameters.
Press Return to start the LINUX/Wince now, any other key for vivi
type "help" for help.
Supervivi>
Supervivi>
Supervivi> param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.1
68.11.103:/opt/FriendlyARM/mini2440/root_nfs ip=192.168.11.200:192.168.11.103:19
2.168.11.103:255.255.255.0:ubuntu:eth0:off"
Change linux command line to "console=ttySAC0 root=/dev/nfs nfsroot=192.168.11.1
03:/opt/FriendlyARM/mini2440/root_nfs ip=192.168.11.200:192.168.11.103:192.168.1
1.103:255.255.255.0:ubuntu:eth0:off"
Supervivi> boot
Copy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "console=ttySAC0 root=/dev/nfs nfsroot=192.168.11.103:/op
t/FriendlyARM/mini2440/root_nfs ip=192.168.11.200:192.168.11.103:192.168.11.103:
255.255.255.0:ubuntu:eth0:off"
MACH_TYPE = 782
NOW, Booting Linux......
Uncompressing Linux.............................................................
........................................... done, booting the kernel.
Linux version 2.6.13 (root@capcross) (gcc version 3.4.1) #1 Thu Nov 27 09:49:37
CST 2008
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: QQ2440
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
BUG: mapping for 0x19000000 at 0xd0000000 overlaps vmalloc space
S3C2440: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
S3C2410 Clocks, (c) 2004 Simtec Electronics
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: console=ttySAC0 root=/dev/nfs nfsroot=192.168.11.103:/opt/F
riendlyARM/mini2440/root_nfs ip=192.168.11.200:192.168.11.103:192.168.11.103:255
.255.255.0:ubuntu:eth0:off
irq: clearing subpending status 00000007
irq: clearing subpending status 00000002
PID hash table entries: 512 (order: 9, 8192 bytes)
timer tcon=00000000, tcnt a4ca, tcfg 00000200,00000000, usec 00001e57
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 64MB = 64MB total
Memory: 61056KB available (2515K code, 1032K data, 144K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
USB Power Control, (c) 2004 Simtec Electronics
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C2440: Clock Support, UPLL 48.000 MHz
SCSI subsystem initialized
usbcore: registered new driver hub
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)
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
yaffs Nov 27 2008 09:47:56 Installing.
Initializing Cryptographic API
Console: switching to colour frame buffer device 30x20
S3C24X0 fb0: s3c2410fb frame buffer device initialize done
GPIO L3 bus interface for S3C2440, installed
S3C2410 RTC, (c) 2004 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
leds initialized
buttons initialized
qq2440_pwm initialized
s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
nbd: registered device at major 43
DM9000 ethernet driver V1.26 I/O: c481a300, VID: 90000a46
Linux video capture interface: v1.00
ovcamchip: v2.27 for Linux 2.6 : OV camera chip I2C driver
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand: mapped registers at c4880000
s3c2440-nand: timing: Tacls 9ns, Twrph0 39ns, Twrph1 9ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit
)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Bad eraseblock 905 at 0x00e24000
Bad eraseblock 3986 at 0x03e48000
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00030000 : "bootloader"
0x00050000-0x00250000 : "kernel"
0x00250000-0x03ffc000 : "root"
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
usbcore: registered new driver ov511
drivers/usb/media/ov511.c: v1.64 for Linux 2.5 : ov511 USB Camera Driver
usbcore: registered new driver gspca
drivers/usb/media/gspca/gspca_core.c: gspca driver 00.60.00 registered
mice: PS/2 mouse device common for all mice
ts: Compaq touchscreen protocol output
s3c2410 TouchScreen successfully loaded
i2c /dev entries driver
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
s3c2410-sdi s3c2410-sdi: powered down.
s3c2410-sdi s3c2410-sdi: initialisation done.
SBC2440 SOUND driver register
s3c2410-sdi s3c2410-sdi: running at 0kHz (requested: 0kHz).
SBC2440 SOUND driver probe!
SBC2440 UDA1341 audio driver initialized
NET: Registered protocol family 2
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
mmc0: error requesting CID: -110
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2410-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2410-sdi s3c2410-sdi: running at 16875kHz (requested: 25000kHz).
nkey register add card device
s3c2410-sdi s3c2410-sdi: running at 16875kHz (requested: 25000kHz).
mmcblk0: mmc0:8413 SU04G 32KiB
/dev/mmc/blk0: p1
enable_irq(51) unbalanced from c0170b30
IP-Config: Complete:
device=eth0, addr=192.168.11.200, mask=255.255.255.0, gw=192.168.11.103,
host=ubuntu, domain=, nis-domain=(none),
bootserver=192.168.11.103, rootserver=192.168.11.103, rootpath=
Looking up port of RPC 100003/2 on 192.168.11.103
Looking up port of RPC 100005/1 on 192.168.11.103
VFS: Mounted root (nfs filesystem).
Mounted devfs on /dev
Freeing init memory: 144K
[06/Sep/2008:20:13:06 +0000]
Please press Enter to activate this console. MPEG Audio Decoder 0.15.0 (beta) -
Copyright (C) 2000-2003 Robert Leslie et al.
Title: 牽
Artist: 秊쟝老
Year: 2000
Genre: Goa
boa: server version Boa/0.94.13
[06/Sep/2008:20:13:06 +0000] boa: server built Feb 28 2004 at 21:47:23.
[06/Sep/2008:20:13:06 +0000] boa: starting server pid=263, port 80
[root@FriendlyARM /]# ls
bin lib proc usr
dev linuxrc sbin var
etc mnt shanghaitan.mp3 www
home opt tmp
[root@FriendlyARM /]#
위와 같이 NFS가 마운팅 된 내용이 나옵니다.
---------------------------------------------------------------------------------------------------