Hello,
I'm quiet new to arago and the TI SDK, so I have some questions if I understood everything right.
I am using the AM335x-EVM-SK. The real hardware will change a bit, no MMC but a smaller NAND device. I aim to boot within 4 seconds and the image should 200MB or smaller, Qt is also needed. Do you think this is possible?
First some questions about arago. For example, the arago kernel is called ti-staging, that looks like still in development?
My arago builds (e.g. bitbake arago-base-tisdk-image) don't boot to the end and I ran into this
Hit any key to stop autoboot: 1 \0x08\0x08\0x08 0
mmc0 is current device
SD/MMC found on device 0
reading uEnv.txt
** Unable to read file uEnv.txt **
4381168 bytes read in 483 ms (8.6 MiB/s)
24996 bytes read in 34 ms (717.8 KiB/s)
Booting from mmc ...
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Linux-3.8.13-gf3cb62a
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4381104 Bytes = 4.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 80f80000
Booting using the fdt blob at 0x80f80000
Loading Kernel Image ... OK
OK
Using Device Tree in place at 80f80000, end 80f891a3
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.8.13-gf3cb62a (user@APC910-2) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 SMP Sat Aug 31 15:32:56 CEST 2013
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x EVM-SK
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] AM335X ES1.0 (sgx neon )
[ 0.000000] PERCPU: Embedded 9 pages/cpu @c1195000 s13440 r8192 d15232 u36864
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64768
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] Memory: 255MB = 255MB total
[ 0.000000] Memory: 244208k/244208k available, 17936k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc07b3538 (7854 kB)
[ 0.000000] .init : 0xc07b4000 - 0xc080f480 ( 366 kB)
[ 0.000000] .data : 0xc0810000 - 0xc08d4918 ( 787 kB)
[ 0.000000] .bss : 0xc08d4918 - 0xc0e32cb4 (5497 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] \0x09RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] OMAP clocksource: GPTIMER1 at 24000000 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 0.000883] Calibrating delay loop... 478.91 BogoMIPS (lpj=1867776)
[ 0.085710] pid_max: default: 32768 minimum: 301
[ 0.086168] Security Framework initialized
[ 0.086324] Mount-cache hash table entries: 512
[ 0.098513] CPU: Testing write buffer coherency: ok
[ 0.099905] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.099982] Setting up static identity map for 0x8055e1f8 - 0x8055e268
[ 0.102487] Brought up 1 CPUs
[ 0.102514] SMP: Total of 1 processors activated (478.91 BogoMIPS).
[ 0.105434] devtmpfs: initialized
[ 0.122742] omap_hwmod: debugss: _wait_target_disable failed
[ 0.181186] pinctrl core: initialized pinctrl subsystem
[ 0.186742] regulator-dummy: no parameters
[ 0.188903] NET: Registered protocol family 16
[ 0.189663] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.190865] omap-gpmc omap-gpmc: GPMC revision 6.0
[ 0.209507] platform 49000000.edma: alias fck already exists
[ 0.209546] platform 49000000.edma: alias fck already exists
[ 0.209569] platform 49000000.edma: alias fck already exists
[ 0.214689] OMAP GPIO hardware version 0.1
[ 0.238890] DSS not supported on this SoC
[ 0.238959] No ATAGs?
[ 0.238975] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.246596] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.318109] bio: create slab <bio-0> at 0
[ 0.360603] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.362643] vbat: 5000 mV
[ 0.363715] lis3_reg: no parameters
[ 0.373723] SCSI subsystem initialized
[ 0.377802] usbcore: registered new interface driver usbfs
[ 0.378289] usbcore: registered new interface driver hub
[ 0.379062] usbcore: registered new device driver usb
[ 0.384702] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 0.386671] tps65910 0-002d: No interrupt support, no core IRQ
[ 0.392452] vrtc: 1800 mV
[ 0.392862] vrtc: supplied by vbat
[ 0.395911] vio: at 1500 mV
[ 0.396052] vio: supplied by vbat
[ 0.399387] vdd_mpu: 912 <--> 1312 mV at 1262 mV
[ 0.399545] vdd_mpu: supplied by vbat
[ 0.402446] vdd_core: 912 <--> 1150 mV at 1137 mV
[ 0.402596] vdd_core: supplied by vbat
[ 0.405163] vdd3: 5000 mV
[ 0.408046] vdig1: at 1800 mV
[ 0.408191] vdig1: supplied by vbat
[ 0.410757] vdig2: at 1800 mV
[ 0.410891] vdig2: supplied by vbat
[ 0.413420] vpll: at 1800 mV
[ 0.413548] vpll: supplied by vbat
[ 0.416357] vdac: at 1800 mV
[ 0.416513] vdac: supplied by vbat
[ 0.419034] vaux1: at 1800 mV
[ 0.419165] vaux1: supplied by vbat
[ 0.421870] vaux2: at 3300 mV
[ 0.422024] vaux2: supplied by vbat
[ 0.424615] vaux33: at 3300 mV
[ 0.424750] vaux33: supplied by vbat
[ 0.427341] vmmc: 1800 <--> 3300 mV at 3300 mV
[ 0.427492] vmmc: supplied by vbat
[ 0.438982] Switching to clocksource gp_timer
[ 0.565526] NET: Registered protocol family 2
[ 0.567473] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.567689] TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
[ 0.568653] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.568869] TCP: reno registered
[ 0.568902] UDP hash table entries: 256 (order: 2, 20480 bytes)
[ 0.569167] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[ 0.569988] NET: Registered protocol family 1
[ 0.571267] RPC: Registered named UNIX socket transport module.
[ 0.571291] RPC: Registered udp transport module.
[ 0.571304] RPC: Registered tcp transport module.
[ 0.571316] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.574497] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.762191] VFS: Disk quotas dquot_6.5.2
[ 0.762460] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.765187] NFS: Registering the id_resolver key type
[ 0.765671] Key type id_resolver registered
[ 0.765694] Key type id_legacy registered
[ 0.765839] jffs2: version 2.2. (NAND) (SUMMARY) \0xc2\0xa9 2001-2006 Red Hat, Inc.
[ 0.766376] msgmni has been set to 476
[ 0.769867] io scheduler noop registered
[ 0.769893] io scheduler deadline registered
[ 0.769974] io scheduler cfq registered (default)
[ 0.780914] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.788881] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP UART0
[ 1.495059] console [ttyO0] enabled
[ 1.502711] [drm] Initialized drm 1.1.0 20060810
[ 1.539395] brd: module loaded
[ 1.562215] loop: module loaded
[ 1.573318] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.581975] OneNAND driver initializing
[ 1.592593] usbcore: registered new interface driver asix
[ 1.599002] usbcore: registered new interface driver cdc_ether
[ 1.605895] usbcore: registered new interface driver smsc95xx
[ 1.612795] usbcore: registered new interface driver net1080
[ 1.619388] usbcore: registered new interface driver cdc_subset
[ 1.626102] usbcore: registered new interface driver zaurus
[ 1.632689] usbcore: registered new interface driver cdc_ncm
[ 1.640462] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.647619] ehci-omap: OMAP-EHCI Host Controller driver
[ 1.654447] usbcore: registered new interface driver cdc_wdm
[ 1.660564] Initializing USB Mass Storage driver...
[ 1.666306] usbcore: registered new interface driver usb-storage
[ 1.672660] USB Mass Storage support registered.
[ 1.678194] usbcore: registered new interface driver usbtest
[ 1.686525] mousedev: PS/2 mouse device common for all mice
[ 1.698382] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 1.708205] i2c /dev entries driver
[ 1.714569] Driver for 1-wire Dallas network protocol.
[ 1.724707] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.742865] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.751138] usbcore: registered new interface driver usbhid
[ 1.757276] usbhid: USB HID core driver
[ 1.765175] oprofile: no performance counters
[ 1.772243] oprofile: using timer interrupt.
[ 1.777715] TCP: cubic registered
[ 1.781230] Initializing XFRM netlink socket
[ 1.785960] NET: Registered protocol family 17
[ 1.790761] NET: Registered protocol family 15
[ 1.795891] Key type dns_resolver registered
[ 1.800598] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 1.809008] mux: Failed to setup hwmod io irq -22
[ 1.818553] Power Management for AM33XX family
[ 1.824199] Trying to load am335x-pm-firmware.bin
[ 1.829018] ThumbEE CPU extension supported.
[ 1.900440] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 1.906910] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
[ 1.917369] libphy: 4a101000.mdio: probed
[ 1.921635] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
[ 1.930197] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
[ 1.939152] Random MACID = ae:07:af:e7:9d:04
[ 1.950566] input: gpio_buttons.7 as /devices/gpio_buttons.7/input/input0
[ 1.960822] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)[ 1.974175] Waiting for root device /dev/mmcblk0p2...
I could find this thread and it seems to be a known arago bug? Or am I wrong?
http://e2e.ti.com/support/embedded/linux/f/354/t/263058.aspx
Is it possible to use arago for the current stable versions (kernel 3.2 instead of the staging 3.8?).
After arago I tried to use the TI SDK.
I am able to boot both rootfs images (arago-base-tisdk-image-am335x-evm and tisdk-rootfs-image-am335x-evm), okay that is quite easy. Then I had a look how to install Qt to the rootfs, I think increasing the base image is better than shrinking the tisdk-image. When I understand it right, I have to install the Graphics SDK following this Link:
http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide
and afterwards I have to install Qt with the help of following Link
http://processors.wiki.ti.com/index.php/Building_Qt
My first question is, do I really need the Graphics SDK for Qt? I do not need OpenGL/3D, I need Qt just for some simple Applications (Buttons, Lineedit, shwoing an Image and so on...).
The second question is, to improve boot time I thought about a static kernel without any modules, I think this wouldn't be possible if I have to use the Graphics SDK due to the kernel modules omaplfb, pvrsrvkm, and bufferclass_ti?
Best regards
Falk