기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
우선 2009.03.20일자 zImage와 RootFS을 이용해서...
TFTP + NFS 조합으로 부팅할 때는 정상적으로 부팅이 됩니다..
이 상태에서 다음과 같이 플래쉬를 지우고 X Windows Root FS을 라이팅함..
=============================================================================================
Freeing init memory: 272K
udevd version 124 started
INIT: Entering runlevel: 5
Starting Dropbear SSH server: Starting system message bus: dbus.
Starting syslogd/klogd: done
Starting Connection Manager
Starting GPE display manager: gpe-dm
_____ _____ _____ _____ _____
| _ | __| __| | _ |
| | __|__ | | | __|
|__|__|_____|_____|_____|__|.or.kr
(C)2009 aESOP Embedded Forum.
aESOP S3C6410 Embedded Linux Platform.
System : aESOP-S3C6410
Console : s3c_serial0
aESOP-S3C6410 login: root
# flash_eraseall /dev/mtd2
# mount -t yaffs2 /dev/mtdblock2 /mnt/nand
# tar -C /mnt/nand -xvf ~/RootFS_MTD-aesop6410-090320.tar
# sync
# umount /mnt/nand
=============================================================================================
flash_eraseall한 다음 마운트 시키고 나면, lost+found 밖에 남아있지 않고..
tar를 풀고나서 디렉토리와 파일들이 /mnt/nand에 보입니다..
* 문제는 마운트 시키면서 배드블럭이 4군데 있다고 나오고..
zImage-aESOP6410도 Nand에 라이팅하고나서 부팅을 시도하면..
아래 메시지와 같이 중간에 배드블럭 메시지가 나타나고, 마지막에는 커널 패닉이 뜹니다..
이렇다면 지금 낸드의 배드 때문에 제대로 로드가 안되는건가요?
=============================================================================================
U-Boot 1.1.6 (Mar 23 2009 - 12:50:09) for AESOP6410
CPU: S3C6410@666MHz
Fclk = 666MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (ASYNC Mod
e)
Board: AESOP-S3C6410
DRAM: 128 MB
Flash: 0 kB
NAND: 256 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x60000, size 0x200000
2097152 bytes read: OK
Boot with zImage
Starting kernel ...
Uncompressing Linux.............................................................
......................................................... done, booting the kern
el.
Linux version 2.6.21.5-cfs-v19 (jhkim@jhkim-Xeon) (gcc version 4.2.4) #1 Mon Mar
23 12:51:30 KST 2009
CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv6TEJ), cr=00c5387f
Machine: AESOP6410
Ignoring unrecognised tag 0x00000000
Memory policy: ECC disabled, Data cache writeback
CPU S3C6410 (id 0x36410101)
S3C6400: core 666.000 MHz, memory 133.000 MHz, peripheral 66.500 MHz
S3C6400: EPLL 192.000 MHz
S3C24XX Clocks, (c) 2004 Simtec Electronics
CPU0: D VIPT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Built 1 zonelists. Total pages: 28956
Kernel command line: root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,11520
0 init=/init
Trying to install chained interrupt handler for IRQ0
Trying to install chained interrupt handler for IRQ1
Trying to install chained interrupt handler for IRQ32
Trying to install chained interrupt handler for IRQ33
PID hash table entries: 512 (order: 9, 2048 bytes)
timer tcon=00600000, tcnt 103c3, tcfg 00000400,00000000, usec 00001340
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: 114MB = 114MB total
Memory: 111744KB available (3100K code, 445K data, 272K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
s3c6410: Initialising architecture
S3C DMA-pl080 Controller Driver, (c) 2006-2007 Samsung Electronics
Total 32 DMA channels will be initialized.
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
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
NetWinder Floating Point Emulator V0.97 (double precision)
yaffs Mar 23 2009 12:51:27 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
LCD TYPE :: S3C_LMS350DF01 LCD will be initialized
S3C_LCD clock got enabled :: 133.000 Mhz
Window[0]- FB1 : map_video_memory: clear ff600000:0004b000
FB1 : map_video_memory: dma=57000000 cpu=ff600000 size=0004b000
lcd_clock = 133000000, LCD_PIXEL_CLOCK=9896640
Console: switching to colour frame buffer device 40x30
fb-1069855844: frame buffer device
lp: driver loaded but no devices found
ppdev: user-space parallel port driver
s3c-uart.0: s3c_serial0 at MMIO 0x7f005000 (irq = 37) is a S3C
s3c-uart.1: s3c_serial1 at MMIO 0x7f005400 (irq = 38) is a S3C
s3c-uart.2: s3c_serial2 at MMIO 0x7f005800 (irq = 39) is a S3C
s3c-uart.3: s3c_serial3 at MMIO 0x7f005c00 (irq = 40) is a S3C
RAMDISK driver initialized: 8 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
nbd: registered device at major 43
eth0: LAN9215 (rev 0) at 0xc780a000 IRQ 67
eth0: Invalid ethernet MAC address. Please set using ifconfig
Linux video capture interface: v2.00
Request irq 3 for codec
Request irq 4 for preview
S3C FIMC v3.0
AESOP NOR-Flash Driver, (c) 2006 AESOP Embedded
aesop-flash: map_probe() failed
S3C NAND Driver, (c) 2007 Samsung Electronics
S3C NAND Driver is using hardware ECC.
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bi
t)
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x00000000-0x00040000 : "Bootloader"
0x00040000-0x00200000 : "Kernel"
0x00200000-0x10000000 : "File System"
usbmon: debugfs is not available
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 47, io mem 0x74300000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
Loaded s3c-udc version Mar 23 2009 (Slave Mode)
ether gadget: using random self ethernet address
ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: using s3c-udc, OUT ep1-bulk IN ep2-bulk STATUS ep3-int
usb0: MAC 62:67:44:f4:cd:ad
usb0: HOST MAC fa:3e:ba:f4:8f:ed
usb0: RNDIS ready
Registered gadget driver 'ether'
mice: PS/2 mouse device common for all mice
aesop_keypad_init
input: aesop-keypad as /class/input/input0
aesop_keypad_open
Aesop Keypad Initialized!!
platform_driver_register 0
S3C Touchscreen driver, (c) 2007 Samsung Electronics
s3c TouchScreen got loaded successfully : 12 bits
input: s3c TouchScreen as /class/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
res->start : 7e005000 res->end : 7e0050ff<6>s3c2410-rtc s3c2410-rtc: rtc disable
d, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
S3C PWM Driver, (c) 2006-2007 Samsung Electronics
i2c /dev entries driver
s3c2410-i2c s3c2410-i2c: slave address 0x10
pdata c0394540, freq 200000 0..200000
clockin 66500
s3c2410-i2c s3c2410-i2c: bus frequency set to 129 KHz
Parent clock for Camera = 266000000, CAMDIV = 14
s3c2410-i2c s3c2410-i2c: i2c-0: S3C I2C adapter
[s3c_hsmmc_probe]: s3c-hsmmc.0: at 0xc7812000 with irq 56. clk src: sclk_DOUTmpl
l_mmc0
s3c-hsmmc channel-0(EXT): card inserted.
[s3c_hsmmc_probe]: s3c-hsmmc.1: at 0xc7814000 with irq 57. clk src: sclk_DOUTmpl
l_mmc1
Advanced Linux Sound Architecture Driver Version 1.0.14rc3 (Wed Mar 14 07:25:50
2007 UTC).
ASoC version 0.13.2
WM9713/WM9714 SoC Audio Codec 0.12
asoc: AC97 HiFi <-> s3c6400-ac97 mapping ok
ALSA device list:
#0: SMDK6400 (WM9713)
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
s3c2410-rtc s3c2410-rtc: setting the system clock to 2009-03-16 20:18:38 (123723
4718)
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected
yaffs: restored from checkpoint
VFS: Mounted root (yaffs2 filesystem).
Freeing init memory: 272K
Failed to execute /init. Attempting defaults...
mmc1: host does not support reading read-only switch. assuming write-enable.
mmc: major= 254, minor= 0
mmcblk0: mmc1:0001 064MB 2030592KiB
mmcblk0:<7>mmc1: starting CMD18 arg 00000000 flags 00000035
p1
Kernel panic - not syncing: Attempted to kill init!
=============================================================================================
zImage (tftp에서 로드) + RootFS (Nand에서 로드) 하면..
마지막에 위의 메시지처럼 커널 패닉이 나타나고..
zImage (Nand에서 로드) + RootFS (NFS에서 로드) 하면..
root 로그인한 다음에 NFS 서버 응답이 없다고 나옵니다..
Android와 일반 Linux는 init 프로세스의 위치가 다릅니다.
Android의 경우는 /init 이고 일반 Linux는 /sbin/init 입니다.
커널 부트 로그 상으로 보면 현재 init 프로세스를 찾지 못해 발생하는 에러입니다.
u-boot의 bootargs 설정 시 init=/init 항목을 삭제하고 부팅해 보시기 바랍니다.
부트 로그 상으로 Android 부팅을 위한 옵션이 설정되어 있네요..^^