Part of the speedup was from the use of a newer kernel which used systemd to manage the startup after the kernel had finished booting, allowing disabling of lots of user-space services etc. But stripping back the kernel made a significant difference itself.
Take a look at dmesg immediately after booting and it gives you a log of the kernel's boot with timestamps:
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.13xenomai-bone41 (root@parallels-Parallels-Virtual-Platform) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #2 Wed Mar 26 11:41:31 GMT 2014
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 130816
[ 0.000000] free_area_init_node: node 0, pgdat c0822220, node_mem_map c08f4000
[ 0.000000] Normal zone: 1024 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 129792 pages, LIFO batch:31
[ 0.000000] AM335X ES1.0 (neon )
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129792
[ 0.000000] Kernel command line: console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-BONE-BAREAUDI,BB-SPIDEV0 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc ip=
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] allocated 1048576 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[ 0.000000] Memory: 511MB = 511MB total
[ 0.000000] Memory: 506016k/506016k available, 18272k 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 : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf800000 - 0xbfe00000 ( 6 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0762a70 (7531 kB)
[ 0.000000] .init : 0xc0763000 - 0xc0798e94 ( 216 kB)
[ 0.000000] .data : 0xc079a000 - 0xc0825700 ( 558 kB)
[ 0.000000] .bss : 0xc0825700 - 0xc08f36d8 ( 824 kB)
[ 0.000000] NR_IRQS:0 nr_irqs:0 0
[ 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: GPTIMER1 at 24000000 Hz
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] I-pipe, 24.000 MHz clocksource
[ 0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[ 0.000000] Interrupt pipeline (release #3)
[ 0.000000] Console: colour dummy device 80x30
[ 0.000632] Calibrating delay loop... 993.47 BogoMIPS (lpj=969728)
[ 0.029192] pid_max: default: 32768 minimum: 301
[ 0.029294] Security Framework initialized
[ 0.029336] Mount-cache hash table entries: 512
[ 0.034025] Initializing cgroup subsys cpuacct
[ 0.034050] Initializing cgroup subsys memory
[ 0.034095] Initializing cgroup subsys blkio
[ 0.034168] CPU: Testing write buffer coherency: ok
[ 0.034480] Setting up static identity map for 0x804726f0 - 0x8047273c
[ 0.035500] devtmpfs: initialized
[ 0.090796] pinctrl core: initialized pinctrl subsystem
[ 0.090889] rstctl core: initialized rstctl subsystem
[ 0.091171] regulator-dummy: no parameters
[ 0.091414] NET: Registered protocol family 16
[ 0.092045] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.097504] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.097935] platform 49000000.edma: alias fck already exists
[ 0.097951] platform 49000000.edma: alias fck already exists
[ 0.097965] platform 49000000.edma: alias fck already exists
[ 0.098479] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
[ 0.098560] OMAP GPIO hardware version 0.1
[ 0.099078] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
[ 0.099676] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
[ 0.100265] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
[ 0.100504] of_get_named_gpio_flags exited with status 52
[ 0.100521] gpio-rctrl rstctl.3: loaded OK
[ 0.103464] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.104637] cpsw.0: No hwaddr in dt. Using 90:59:af:7e:ca:a7 from efuse
[ 0.104653] cpsw.1: No hwaddr in dt. Using 90:59:af:7e:ca:a9 from efuse
[ 0.112644] bio: create slab <bio-0> at 0
[ 0.118395] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.118536] of_get_named_gpio_flags: can't parse gpios property
[ 0.118662] vmmcsd_fixed: 3300 mV
[ 0.120101] SCSI subsystem initialized
[ 0.120339] usbcore: registered new interface driver usbfs
[ 0.120402] usbcore: registered new interface driver hub
[ 0.120581] usbcore: registered new device driver usb
[ 0.121755] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 0.122334] of_get_named_gpio_flags: can't parse gpios property
[ 0.123189] DCDC1: at 1500 mV
[ 0.123979] vdd_mpu: 925 <--> 1325 mV at 1325 mV
[ 0.124719] vdd_core: 925 <--> 1150 mV at 1125 mV
[ 0.125493] LDO1: at 1800 mV
[ 0.126242] LDO2: at 3300 mV
[ 0.127635] LDO3: 1800 mV
[ 0.128399] LDO4: at 3300 mV
[ 0.129066] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[ 0.129477] omap_i2c 44e0b000.i2c: unable to select pin group
[ 0.129867] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[ 0.129883] omap_i2c 4802a000.i2c: unable to select pin group
[ 0.130208] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
[ 0.131401] omap_i2c 4819c000.i2c: unable to select pin group
[ 0.131528] media: Linux media interface: v0.10
[ 0.131584] Linux video capture interface: v2.00
[ 0.131659] pps_core: LinuxPPS API ver. 1 registered
[ 0.131667] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.132048] Advanced Linux Sound Architecture Driver Initialized.
[ 0.132552] NetLabel: Initializing
[ 0.132563] NetLabel: domain hash size = 128
[ 0.132570] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.132632] NetLabel: unlabeled traffic allowed by default
[ 0.132930] Switching to clocksource ipipe_tsc
[ 0.159486] NET: Registered protocol family 2
[ 0.160054] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.160135] TCP bind hash table entries: 4096 (order: 4, 81920 bytes)
[ 0.160217] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.160279] TCP: reno registered
[ 0.160345] UDP hash table entries: 256 (order: 1, 12288 bytes)
[ 0.160370] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[ 0.160588] NET: Registered protocol family 1
[ 0.160904] RPC: Registered named UNIX socket transport module.
[ 0.160914] RPC: Registered udp transport module.
[ 0.160921] RPC: Registered tcp transport module.
[ 0.160927] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.161120] Trying to unpack rootfs image as initramfs...
[ 0.329749] Freeing initrd memory: 2440K
[ 0.330291] CPU PMU: probing PMU on CPU 0
[ 0.330309] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[ 0.330744] omap2_mbox_probe: platform not supported
[ 0.496540] I-pipe: head domain Xenomai registered.
[ 0.496565] Xenomai: hal/arm started.
[ 0.497625] Xenomai: scheduling class idle registered.
[ 0.497643] Xenomai: scheduling class rt registered.
[ 0.501510] Xenomai: real-time nucleus v2.6.3 (Lies and Truths) loaded.
[ 0.501519] Xenomai: debug mode enabled.
[ 0.501899] Xenomai: starting native API services.
[ 0.501911] Xenomai: starting POSIX services.
[ 0.502039] Xenomai: starting RTDM services.
[ 0.502859] VFS: Disk quotas dquot_6.5.2
[ 0.502914] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.503485] NFS: Registering the id_resolver key type
[ 0.503551] Key type id_resolver registered
[ 0.503560] Key type id_legacy registered
[ 0.503784] fuse init (API version 7.20)
[ 0.504203] Btrfs loaded
[ 0.504293] msgmni has been set to 993
[ 0.505378] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.505392] io scheduler noop registered
[ 0.505400] io scheduler deadline registered
[ 0.505418] io scheduler cfq registered (default)
[ 0.506462] tps65217-bl tps65217-bl: no platform data provided
[ 0.506485] tps65217-bl: probe of tps65217-bl failed with error -22
[ 0.506939] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.508135] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[ 0.508300] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 1.275574] console [ttyO0] enabled
[ 1.279597] omap_uart 48022000.serial: did not get pins for uart1 error: -19
[ 1.287115] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[ 1.295527] [drm] Initialized drm 1.1.0 20060810
[ 1.306085] brd: module loaded
[ 1.312258] loop: module loaded
[ 1.315642] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.322869] at24 2-0054: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.330098] at24 2-0055: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.337315] at24 2-0056: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.344543] at24 2-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.358277] bone-capemgr bone_capemgr.9: Baseboard: 'A335BNLT,0A6A,0414BBBK1670'
[ 1.366029] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
[ 1.373884] bone-capemgr bone_capemgr.9: Skipping disabled cape with part# BB-BONELT-HDMI
[ 1.412271] bone-capemgr bone_capemgr.9: slot #0: No cape found
[ 1.449379] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 1.486488] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 1.523598] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 1.529797] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 1.536357] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
[ 1.544360] bone-capemgr bone_capemgr.9: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
[ 1.554404] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 1.560959] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 1.568952] bone-capemgr bone_capemgr.9: slot #5: 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
[ 1.578924] bone-capemgr bone_capemgr.9: enabled_partno part_number 'BB-BONE-BAREAUDI', version 'N/A', prio '0'
[ 1.589476] bone-capemgr bone_capemgr.9: slot #6: generic override
[ 1.595943] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
[ 1.603953] bone-capemgr bone_capemgr.9: slot #6: 'Override Board Name,00A0,Override Manuf,BB-BONE-BAREAUDI'
[ 1.614281] bone-capemgr bone_capemgr.9: enabled_partno part_number 'BB-SPIDEV0', version 'N/A', prio '0'
[ 1.624270] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 1.630736] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 1.638745] bone-capemgr bone_capemgr.9: slot #7: 'Override Board Name,00A0,Override Manuf,BB-SPIDEV0'
[ 1.648593] bone-capemgr bone_capemgr.9: Skipping loading of disabled cape with part# BB-BONELT-HDMI
[ 1.658311] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.667134] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.675938] bone-capemgr bone_capemgr.9: loader: before slot-6 BB-BONE-BAREAUDI:00A0 (prio 0)
[ 1.684857] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONE-BAREAUDI:00A0 (prio 0)
[ 1.693700] bone-capemgr bone_capemgr.9: initialized OK.
[ 1.700181] OneNAND driver initializing
[ 1.704970] usbcore: registered new interface driver cdc_ether
[ 1.711137] usbcore: registered new interface driver rndis_host
[ 1.717421] usbcore: registered new interface driver cdc_ncm
[ 1.723646] bone-capemgr bone_capemgr.9: loader: before slot-7 BB-SPIDEV0:00A0 (prio 0)
[ 1.732018] bone-capemgr bone_capemgr.9: loader: check slot-7 BB-SPIDEV0:00A0 (prio 0)
[ 1.740301] bone-capemgr bone_capemgr.9: loader: after slot-7 BB-SPIDEV0:00A0 (prio 0)
[ 1.748582] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-SPIDEV0-00A0.dtbo
[ 1.758858] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware 'BB-SPIDEV0-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 1.772499] bone-capemgr bone_capemgr.9: slot #7: dtbo 'BB-SPIDEV0-00A0.dtbo' loaded; converting to live tree
[ 1.783013] bone-capemgr bone_capemgr.9: slot #7: #2 overlays
[ 1.790058] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.798844] bone-capemgr bone_capemgr.9: loader: after slot-6 BB-BONE-BAREAUDI:00A0 (prio 0)
[ 1.807675] bone-capemgr bone_capemgr.9: slot #6: Requesting part number/version based 'BB-BONE-BAREAUDI-00A0.dtbo
[ 1.818512] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware 'BB-BONE-BAREAUDI-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 1.833052] usbcore: registered new interface driver cdc_acm
[ 1.838991] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.847353] Initializing USB Mass Storage driver...
[ 1.852519] usbcore: registered new interface driver usb-storage
[ 1.858798] USB Mass Storage support registered.
[ 1.863763] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 1.870262] musb-hdrc musb-hdrc.0.auto: pdev->id = 0
[ 1.875473] musb-hdrc musb-hdrc.0.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
[ 1.884219] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 1.884231] musb-hdrc: MHDRC RTL version 2.0
[ 1.884238] musb-hdrc: setup fifo_mode 4
[ 1.884254] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 1.884328] musb-hdrc musb-hdrc.0.auto: *** mode=3
[ 1.889350] musb-hdrc musb-hdrc.0.auto: *** power=250
[ 1.895025] musb-hdrc musb-hdrc.1.auto: pdev->id = 1
[ 1.900236] musb-hdrc musb-hdrc.1.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
[ 1.908981] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 1.908991] musb-hdrc: MHDRC RTL version 2.0
[ 1.908997] musb-hdrc: setup fifo_mode 4
[ 1.909009] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 1.909070] musb-hdrc musb-hdrc.1.auto: *** mode=1
[ 1.914086] musb-hdrc musb-hdrc.1.auto: *** power=250
[ 1.919369] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.931399] edma-dma-engine edma-dma-engine.0: allocated channel for 0:19
[ 1.938585] edma-dma-engine edma-dma-engine.0: allocated channel for 0:18
[ 1.946228] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.954460] musb-hdrc musb-hdrc.1.auto: supports USB remote wakeup
[ 1.954530] usb usb1: default language 0x0409
[ 1.954562] usb usb1: udev 1, busnum 1, minor = 0
[ 1.954575] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.961673] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.969218] usb usb1: Product: MUSB HDRC host driver
[ 1.974416] usb usb1: Manufacturer: Linux 3.8.13xenomai-bone41 musb-hcd
[ 1.981333] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 1.991807] edma-dma-engine edma-dma-engine.0: allocated channel for 0:17
[ 1.998987] edma-dma-engine edma-dma-engine.0: allocated channel for 0:16
[ 2.007165] bone-capemgr bone_capemgr.9: slot #7: Applied #2 overlays.
[ 2.014037] bone-capemgr bone_capemgr.9: loader: done slot-7 BB-SPIDEV0:00A0 (prio 0)
[ 2.022300] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 2.031338] usb usb1: usb_probe_device
[ 2.031353] usb usb1: configuration #1 chosen from 1 choice
[ 2.031449] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 2.031557] hub 1-0:1.0: usb_probe_interface
[ 2.031569] hub 1-0:1.0: usb_probe_interface - got id
[ 2.031587] hub 1-0:1.0: USB hub found
[ 2.035541] hub 1-0:1.0: 1 port detected
[ 2.039655] hub 1-0:1.0: standalone hub
[ 2.039665] hub 1-0:1.0: individual port power switching
[ 2.039674] hub 1-0:1.0: no over-current protection
[ 2.039683] hub 1-0:1.0: Single TT
[ 2.039694] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 2.039703] hub 1-0:1.0: power on to power good time: 10ms
[ 2.039726] hub 1-0:1.0: local power source is good
[ 2.039783] hub 1-0:1.0: enabling power on all ports
[ 2.040401] mousedev: PS/2 mouse device common for all mice
[ 2.047588] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 2.055158] i2c /dev entries driver
[ 2.059860] pps_ldisc: PPS line discipline registered
[ 2.065236] Driver for 1-wire Dallas network protocol.
[ 2.071658] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 2.079255] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18) initialised: dm-devel@redhat.com
[ 2.088316] of_get_named_gpio_flags: can't parse gpios property
[ 2.088326] of_get_named_gpio_flags: can't parse gpios property
[ 2.088333] of_get_named_gpio_flags: can't parse gpios property
[ 2.088354] omap_hsmmc mmc.4: of_parse_phandle_with_args of 'reset' failed
[ 2.095565] omap_hsmmc mmc.4: Failed to get rstctl; not using any
[ 2.101960] omap_hsmmc mmc.4: unable to select pin group
[ 2.107713] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
[ 2.114853] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
[ 2.122105] mmc.4 supply vmmc_aux not found, using dummy regulator
[ 2.128650] omap_hsmmc mmc.4: pins are not configured from the driver
[ 2.140871] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 2.140913] hub 1-0:1.0: hub_suspend
[ 2.140938] usb usb1: bus auto-suspend, wakeup 1
[ 2.162351] of_get_named_gpio_flags: can't parse gpios property
[ 2.162361] of_get_named_gpio_flags: can't parse gpios property
[ 2.162369] of_get_named_gpio_flags: can't parse gpios property
[ 2.162398] gpio-rctrl rstctl.3: gpio_rctrl_request eMMC_RSTn
[ 2.168466] omap_hsmmc mmc.5: Got rstctl (gpio:#0 name eMMC_RSTn) label:eMMC_RSTn-CONSUMER
[ 2.177096] gpio-rctrl rstctl.3: gpio_rctrl_deassert eMMC_RSTn
[ 2.183209] omap_hsmmc mmc.5: unable to select pin group
[ 2.188879] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
[ 2.195928] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
[ 2.203050] mmc.5 supply vmmc_aux not found, using dummy regulator
[ 2.209576] omap_hsmmc mmc.5: pins are not configured from the driver
[ 2.242635] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8
[ 2.254292] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[ 2.261577] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single
[ 2.270505] leds-gpio gpio-leds.8: pins are not configured from the driver
[ 2.277708] of_get_named_gpio_flags exited with status 53
[ 2.277719] of_get_named_gpio_flags exited with status 54
[ 2.277730] of_get_named_gpio_flags exited with status 55
[ 2.277739] of_get_named_gpio_flags exited with status 56
[ 2.277751] of_get_named_gpio_flags exited with status 53
[ 2.277903] of_get_named_gpio_flags exited with status 54
[ 2.278014] of_get_named_gpio_flags exited with status 55
[ 2.278105] of_get_named_gpio_flags exited with status 56
[ 2.278387] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.284906] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
[ 2.292044] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 2.299309] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[ 2.305389] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
[ 2.312431] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
[ 2.322027] usbcore: registered new interface driver usbhid
[ 2.327878] usbhid: USB HID core driver
[ 2.332656] ashmem: initialized
[ 2.336206] logger: created 256K log 'log_main'
[ 2.341165] logger: created 256K log 'log_events'
[ 2.346287] logger: created 256K log 'log_radio'
[ 2.351318] logger: created 256K log 'log_system'
[ 2.358192] TCP: cubic registered
[ 2.361745] NET: Registered protocol family 10
[ 2.367112] NET: Registered protocol family 17
[ 2.372034] Key type dns_resolver registered
[ 2.376743] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 2.384778] ThumbEE CPU extension supported.
[ 2.389264] Registering SWP/SWPB emulation handler
[ 2.394948] registered taskstats version 1
[ 2.417358] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 2.427715] mmc0: new high speed SDHC card at address 0007
[ 2.433841] mmcblk0: mmc0:0007 SD8GB 7.42 GiB
[ 2.440426] mmcblk0: p1 p2
[ 2.447454] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 2.453830] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[ 2.466138] libphy: 4a101000.mdio: probed
[ 2.470391] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 2.480075] Detected MACID = 90:59:af:7e:ca:a7
[ 2.484654] cpsw 4a100000.ethernet: NAPI disabled
[ 2.490821] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 2.503682] ALSA device list:
[ 2.506844] No soundcards found.
[ 2.510911] Freeing init memory: 212K
[ 2.564278] mmc1: BKOPS_EN bit is not set
[ 2.573338] mmc1: new high speed MMC card at address 0001
[ 2.582090] mmcblk1: mmc1:0001 MMC02G 1.78 GiB
[ 2.590158] mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 2.601857] mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 2.610090] mmcblk1: p1 p2
[ 2.617737] udevd[98]: starting version 175
[ 2.622297] mmcblk1boot1: unknown partition table
[ 2.636776] mmcblk1boot0: unknown partition table
[ 2.795804] bone-capemgr bone_capemgr.9: failed to load firmware 'BB-BONE-BAREAUDI-00A0.dtbo'
[ 2.804797] bone-capemgr bone_capemgr.9: loader: failed to load slot-6 BB-BONE-BAREAUDI:00A0 (prio 0)
[ 2.814620] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 2.823367] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 2.832118] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
[ 2.845671] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
[ 2.856546] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 2.862763] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 2.869623] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 4.249234] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 6.123370] udevd[344]: starting version 175
[ 8.504431] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 9.814187] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[ 15.479201] net eth0: initializing cpsw version 1.12 (0)
[ 15.486885] net eth0: phy found : id is : 0x7c0f1
[ 15.491864] libphy: PHY 4a101000.mdio:01 not found
[ 15.496887] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 15.508946] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 16.687725] gadget: using random self ethernet address
[ 16.693899] usb0: MAC c6:92:13:9e:d4:94
[ 16.697938] usb0: HOST MAC 90:59:af:7e:ca:a9
[ 16.709623] gadget: Mass Storage Function, version: 2009/09/11
[ 16.715896] gadget: Number of LUNs=1
[ 16.719752] lun0: LUN: removable file: /dev/mmcblk0p1
[ 16.725224] gadget: Multifunction Composite Gadget
[ 16.730373] gadget: g_multi ready
[ 16.733968] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 16.750375] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 2
[ 16.758629] musb-hdrc musb-hdrc.0.auto: supports USB remote wakeup
[ 16.758701] usb usb2: default language 0x0409
[ 16.758734] usb usb2: udev 1, busnum 2, minor = 128
[ 16.758746] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 16.765863] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 16.773417] usb usb2: Product: MUSB HDRC host driver
[ 16.778612] usb usb2: Manufacturer: Linux 3.8.13xenomai-bone41 musb-hcd
[ 16.785530] usb usb2: SerialNumber: musb-hdrc.0.auto
[ 16.846270] usb usb2: usb_probe_device
[ 16.846293] usb usb2: configuration #1 chosen from 1 choice
[ 16.846351] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[ 16.846469] hub 2-0:1.0: usb_probe_interface
[ 16.846481] hub 2-0:1.0: usb_probe_interface - got id
[ 16.846501] hub 2-0:1.0: USB hub found
[ 16.850481] hub 2-0:1.0: 1 port detected
[ 16.854596] hub 2-0:1.0: standalone hub
[ 16.854607] hub 2-0:1.0: individual port power switching
[ 16.854616] hub 2-0:1.0: no over-current protection
[ 16.854626] hub 2-0:1.0: Single TT
[ 16.854637] hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 16.854646] hub 2-0:1.0: power on to power good time: 10ms
[ 16.854670] hub 2-0:1.0: local power source is good
[ 16.854729] hub 2-0:1.0: enabling power on all ports
[ 16.955375] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 16.955426] hub 2-0:1.0: hub_suspend
[ 16.955453] usb usb2: bus auto-suspend, wakeup 1
[ 17.124259] CAUTION: musb: Babble Interrupt Occurred
[ 17.423441] gadget: high-speed config #1: Multifunction with RNDIS
[ 17.632213] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-PRU-BELA', version 'N/A'
[ 17.642504] bone-capemgr bone_capemgr.9: slot #8: generic override
[ 17.648981] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 8
[ 17.656994] bone-capemgr bone_capemgr.9: slot #8: 'Override Board Name,00A0,Override Manuf,BB-BONE-PRU-BELA'
[ 17.667345] bone-capemgr bone_capemgr.9: slot #8: Requesting part number/version based 'BB-BONE-PRU-BELA-00A0.dtbo
[ 17.678167] bone-capemgr bone_capemgr.9: slot #8: Requesting firmware 'BB-BONE-PRU-BELA-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 17.706019] bone-capemgr bone_capemgr.9: slot #8: dtbo 'BB-BONE-PRU-BELA-00A0.dtbo' loaded; converting to live tree
[ 17.717246] bone-capemgr bone_capemgr.9: slot #8: #2 overlays
[ 17.738724] omap_hwmod: pruss: failed to hardreset
[ 17.744110] bone-capemgr bone_capemgr.9: slot #8: Applied #2 overlays.
[ 17.762116] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-BAREAUDI-02', version 'N/A'
[ 17.770755] bone-capemgr bone_capemgr.9: slot #9: generic override
[ 17.777231] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 9
[ 17.785245] bone-capemgr bone_capemgr.9: slot #9: 'Override Board Name,00A0,Override Manuf,BB-BONE-BAREAUDI'
[ 17.795592] bone-capemgr bone_capemgr.9: slot #9: Requesting part number/version based 'BB-BONE-BAREAUDI-00A0.dtbo
[ 17.806449] bone-capemgr bone_capemgr.9: slot #9: Requesting firmware 'BB-BONE-BAREAUDI-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 17.833845] bone-capemgr bone_capemgr.9: slot #9: dtbo 'BB-BONE-BAREAUDI-00A0.dtbo' loaded; converting to live tree
[ 17.845101] bone-capemgr bone_capemgr.9: slot #9: #2 overlays
[ 17.852149] bone-capemgr bone_capemgr.9: slot #9: Applied #2 overlays.
so the kernel takes almost 18s of the boot time, with a whopping 10s taken up with attempting and failing to mount EXT4-fs (mmcblk0p2) (isn't that the Belaboot partition of the SD card?).
There's a lot of room for optimisation there, and quite a few errors too. We could also move some of the time-consuming stuff which isn't required to run Bela (like the g-ether modules) to a module which gets loaded once the rest of the boot has finished.
It seems like the boot time is pretty evenly split between kernel and user space, so I imagine we could get significant speed-ups from both.