Hi All.
I'm newbie on OMAP-L138 Platform. I have some questions.
i'm develop Linux OS for OMAP-138 Device. so, i'm using OMAP-L138 LCDK.
now i have preblem nand file-system download and it's working.
Kindly guide me.
[Environment]
-Ubuntu 14.04 64bit
-CCSv6
-mcsdk 1_01_00_02 , Arago tool chains
[ Question ]
1. How make file-system file? (JFFS2, UBIFS) -> my ways are corrected?
-> UBIFS or JFFS2 file systems are same problem (kernel panic)
2. kenel panic's reason. why my file-system incorrect behavior?
-> need modify sources? (uboot , kernel, file-system or others)
-> or i missed change point?
3. newest "OMAP-L138 Reference guide" is exist? or see other platform's guide? (ex .. AM18XX....)
[DESCRIPTION]
I'm using Default SDK's Source (u-boot, Kernel, file-system)
changes are kernel config
- MMC/SD Use -> Disable
- MTD Settings Enable (for JFFS2 , UBIFS)
other's are not changed ( Default source )
Make file-system and Download (using NFS)
my reference guide : http://processors.wiki.ti.com/index.php?oldid=82894
-Make Filesystem
host $ mkfs.jffs2 -e 128KiB -r ./filesys -o /tftpboot/rootfs.jffs2
-Download
target $ tftp -r rootfs.jffs2 -g 192.168.10.100
target $ flash_eraseall /dev/mtd3
target $ nandwrite -p /dev/mtd3 rootfs.jffs2
- Board Reset and Setting u-boot environment
u-boot > setenv bootcmd 'nand read.e 0xc1180000 0x400000 0x400000; nboot.e 0xc0700000 0 0x400000; bootm'
u-boot > setenv bootargs mem=120M console=ttyS2,115200n8 root=/dev/mtdblock3 rw rootfstype=jffs2 ip=dhcp eth=${ethaddr}
[ Boot Log ]
NAND: 512 MiB
MMC: davinci: 0
Bad block table found at page 262080, version 0x01
Bad block table found at page 262016, version 0x01
In: serial
Out: serial
Err: serial
Net: DaVinci-EMAC
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x400000, size 0x400000
4194304 bytes read: OK
Loading from nand0, offset 0x400000
Image Name: Linux-3.3.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2403008 Bytes = 2.3 MiB
Load Address: c0008000
Entry Point: c0008000
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Linux-3.3.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2403008 Bytes = 2.3 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.3.0 (root@ubuntu) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 PREEMPT Thu May 12 13:23:10 6
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: AM18x/OMAP-L138 lcdk board
Memory policy: ECC disabled, Data cache writeback
BUG: mapping for 0x80000000 at 0xfffe0000 out of vmalloc space
DaVinci da850/omap-l138/am18x variant 0x1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 30480
Kernel command line: mem=120M console=ttyS2,115200n8 root=/dev/mtdblock3 rw rootfstype=jffs2 ip=dhcp eth=00:00:00:0
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 120MB = 120MB total
Memory: 116724k/116724k available, 6156k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc8000000 - 0xff000000 ( 880 MB)
lowmem : 0xc0000000 - 0xc7800000 ( 120 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc0475000 (4532 kB)
.init : 0xc0475000 - 0xc04a0000 ( 172 kB)
.data : 0xc04a0000 - 0xc04d1780 ( 198 kB)
.bss : 0xc04d17a4 - 0xc04eeaac ( 117 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 148.88 BogoMIPS (lpj=744448)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc0362ed0 - 0xc0362f28
gpiochip_add: registered GPIOs 0 to 31 on device: DaVinci
gpiochip_add: registered GPIOs 32 to 63 on device: DaVinci
gpiochip_add: registered GPIOs 64 to 95 on device: DaVinci
gpiochip_add: registered GPIOs 96 to 127 on device: DaVinci
gpiochip_add: registered GPIOs 128 to 143 on device: DaVinci
DaVinci: 144 gpio irqs
print_constraints: dummy:
NET: Registered protocol family 16
EMAC: MII PHY configured
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
Advanced Linux Sound Architecture Driver Version 1.0.24.
Switching to clocksource timer0_1
musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
musb-hdrc musb-hdrc: dma type: dma-cppi41
MUSB255 controller's USBSS revision = 4ea11003
Waiting for USB PHY clock good...
musb-hdrc musb-hdrc: USB OTG mode controller at fee00000 using DMA, IRQ 58
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 227
io scheduler noop registered (default)
da8xx_lcdc da8xx_lcdc.0: GLCD: Found VGA_Monitor panel
Console: switching to colour frame buffer device 80x30
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
console [ttyS2] enabled
brd: module loaded
ahci ahci: forcing PORTS_IMPL to 0x1
ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x01e18000-0x01e19fff] port 0x100 irq 67
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xcc (Micron NAND 512MiB 3,3V 16-bit)
Bad block table found at page 262080, version 0x01
Bad block table found at page 262016, version 0x01
Creating 4 MTD partitions on "davinci_nand.1":
0x000000000000-0x000000020000 : "u-boot env"
0x000000020000-0x0000000a0000 : "u-boot"
0x0000000a0000-0x0000004a0000 : "kernel"
0x0000004a0000-0x000020000000 : "filesystem"
davinci_nand davinci_nand.1: controller rev. 2.5
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask ffffff7f
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[7]: device davinci_mdio-0:07, driver SMSC LAN8710/LAN8720
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 1
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.0/input/input0
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
omap_rtc: RTC power up reset detected
omap_rtc: already running
i2c /dev entries driver
watchdog watchdog: heartbeat 60 sec
cpuidle: using governor ladder
cpuidle: using governor menu
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
ata1: SATA link down (SStatus 0 SControl 300)
soc-audio soc-audio.0: ASoC: Failed to create card debugfs directory
_regulator_get: 1-0018 supply IOVDD not found, using dummy regulator
_regulator_get: 1-0018 supply DVDD not found, using dummy regulator
_regulator_get: 1-0018 supply AVDD not found, using dummy regulator
_regulator_get: 1-0018 supply DRVDD not found, using dummy regulator
asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
ALSA device list:
#0: DA850/OMAP-L138 EVM
TCP cubic registered
NET: Registered protocol family 17
console [netcon0] enabled
netconsole: network logging started
davinci_emac davinci_emac.1: using random MAC addr: f6:24:98:2f:43:1b
omap_rtc omap_rtc: setting system clock to 2013-11-06 05:19:42 UTC (1383715182)
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:07, id=7c0f1)
PHY: davinci_mdio-0:07 - Link is Up - 100/Full
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 192.168.10.1, my address is 192.168.10.98
IP-Config: Complete:
device=eth0, addr=192.168.10.98, mask=255.255.255.0, gw=192.168.10.1,
host=192.168.10.98, domain=private, nis-domain=(none),
bootserver=192.168.10.1, rootserver=192.168.10.1, rootpath=
mtd->read(0x100 bytes from 0x0) returned ECC error
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x9975 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x75ca instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xd9e7 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0x13aa instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0x6578 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0xf8fe instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0x1347 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0xe07b instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0xb91f instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0x7169 instead
Further such events for this erase block will not be printed
mtd->read(0x1ff08 bytes from 0xf8) returned ECC error
Old JFFS2 bitmask found at 0x00012ca8
You cannot use older JFFS2 filesystems with newer kernels
mtd->read(0x100 bytes from 0x20000) returned ECC error
...................
CLEANMARKER node found at 0x00360000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x00380000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x003a0000 has totlen 0xc != normal 0x0
...................
CLEANMARKER node found at 0x054a0000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x054c0000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x054e0000 has totlen 0xc != normal 0x0
VFS: Mounted root (jffs2 filesystem) on device 31:3.
Freeing init memory: 172K
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt
I have Kernel Panic Problem.
my build and download steps are as follows
- u-boot / kernel source is not modify. (only changes are kernel config use Menu-Config)
- make file-systems are as follows.
-> UBIFS
host $ mkfs.ubifs -m 2048 -e 128KiB -c 1000 -x lzo -r ./filesys ./ubifs_128M.img
host $ ubinize -o ubi.img -m 2048 -p 128KiB -s 512 ubinize.cfg
"ubinize.cfg"
[ubifs]
mode=ubi
image=ubifs_128M.img
vol_id=3
vol_size=125MiB
vol_type=dynamic
vol_name=filesystem
vol_flags=autoresize
-> JFFS2
host $ mkfs.jffs2 -lqnp –e 128 -r target -o /tftpboot/rootfs.jffs2
U-Boot > | setenv bootcmd 'nand read.e 0xc1180000 0x400000 0x400000; nboot.e 0xc0700000 0 0x400000; bootm' | ||||||
U-Boot > | setenv bootargs mem=120M console=ttyS2,115200n8 root=/dev/mtdblock3 rw rootfstype=jffs2 ip=dhcp eth=${ethaddr} | ||||||