Skip to content

Instantly share code, notes, and snippets.

@ssvb
Created January 24, 2016 09:03
Show Gist options
  • Save ssvb/67ebb38e8f8f2b9b5ee6 to your computer and use it in GitHub Desktop.
Save ssvb/67ebb38e8f8f2b9b5ee6 to your computer and use it in GitHub Desktop.
Work-in-progress U-Boot bootloader (still linked with the libdram blob) booting 32-bit Linux kernel on Pine64+ board
U-Boot SPL 2016.01-00352-ge77e0e4-dirty (Jan 24 2016 - 10:26:33)
DRAM:DRAM driver version: V1.0
DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3)
DRAM clk = 672 MHz
DRAM zq value: 3b3bbb
DRAM single rank full DQ OK
DRAM size = 1024 MB
DRAM init ok
1024 MiB
Trying to boot from MMC
U-Boot 2016.01-00352-ge77e0e4-dirty (Jan 24 2016 - 10:26:33 +0200) Allwinner Technology
CPU: Allwinner A64 (SUN50I)
DRAM: 1 GiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
368 bytes read in 136 ms (2 KiB/s)
## Executing script at 43100000
** File not found sun50i-a64-pine64_plus.dtb **
5347 bytes read in 161 ms (32.2 KiB/s)
** File not found uImage **
3133416 bytes read in 325 ms (9.2 MiB/s)
## Booting kernel from Legacy Image at 42000000 ...
Image Name: Linux-4.4.0-rc8-67285-gd884688-d
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3133352 Bytes = 3 MiB
Load Address: 40008000
Entry Point: 40008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
Loading Kernel Image ... OK
Loading Device Tree to 49ffb000, end 49fff4e2 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.4.0-rc8-67285-gd884688-dirty (ssvb@i7) (gcc version 4.7.4 (Gentoo 4.7.4 p1.4, pie-0.5.5) ) #1 SMP Sun Jan 24 09:47:08 EET 2016
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Pine64+
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] PERCPU: Embedded 12 pages/cpu @ef7c0000 s17472 r8192 d23488 u49152
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260608
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait panic=10
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 1032992K/1048576K available (4302K kernel code, 199K rwdata, 1276K rodata, 284K init, 258K bss, 15584K reserved, 0K cma-reserved, 262144K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc057aa98 (5579 kB)
[ 0.000000] .init : 0xc057b000 - 0xc05c2000 ( 284 kB)
[ 0.000000] .data : 0xc05c2000 - 0xc05f3e60 ( 200 kB)
[ 0.000000] .bss : 0xc05f6000 - 0xc0636a1c ( 259 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=4
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] of_fixed_factor_clk_setup Fixed factor clock <pll6d2> must have a clock-div property
[ 0.000000] Architected cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000023] Switching to timer-based delay loop, resolution 41ns
[ 0.000193] Console: colour dummy device 80x30
[ 0.000226] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000243] pid_max: default: 32768 minimum: 301
[ 0.000353] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000368] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001119] CPU: Testing write buffer coherency: ok
[ 0.001414] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.001480] Setting up static identity map for 0x40008280 - 0x400082d8
[ 0.003248] Brought up 1 CPUs
[ 0.003262] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.003271] CPU: All CPU(s) started in SVC mode.
[ 0.004011] devtmpfs: initialized
[ 0.006354] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[ 0.006660] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.006929] pinctrl core: initialized pinctrl subsystem
[ 0.007907] NET: Registered protocol family 16
[ 0.008262] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.010325] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.010338] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.019589] SCSI subsystem initialized
[ 0.020171] usbcore: registered new interface driver usbfs
[ 0.020250] usbcore: registered new interface driver hub
[ 0.020325] usbcore: registered new device driver usb
[ 0.020509] pps_core: LinuxPPS API ver. 1 registered
[ 0.020520] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.020559] PTP clock support registered
[ 0.021753] clocksource: Switched to clocksource arch_sys_counter
[ 0.034460] NET: Registered protocol family 2
[ 0.035133] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.035274] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.035507] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.035585] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.035643] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.035857] NET: Registered protocol family 1
[ 0.036266] RPC: Registered named UNIX socket transport module.
[ 0.036278] RPC: Registered udp transport module.
[ 0.036286] RPC: Registered tcp transport module.
[ 0.036295] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.037998] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.053839] NFS: Registering the id_resolver key type
[ 0.053889] Key type id_resolver registered
[ 0.053899] Key type id_legacy registered
[ 0.054970] bounce: pool size: 64 pages
[ 0.055237] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.055259] io scheduler noop registered
[ 0.055276] io scheduler deadline registered
[ 0.055325] io scheduler cfq registered (default)
[ 0.058053] a64-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.135054] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.138761] console [ttyS0] disabled
[ 0.158923] 1c28000.uart0: ttyS0 at MMIO 0x1c28000 (irq = 26, base_baud = 1500000) is a U6_16550A
[ 0.681716] console [ttyS0] enabled
[ 0.686469] CAN device driver interface
[ 0.690699] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.697259] ehci-platform: EHCI generic platform driver
[ 0.702591] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.708787] ohci-platform: OHCI generic platform driver
[ 0.714661] sun6i-rtc 1f00000.rtc: rtc core: registered rtc-sun6i as rtc0
[ 0.721448] sun6i-rtc 1f00000.rtc: RTC enabled
[ 0.726080] i2c /dev entries driver
[ 0.730141] sunxi-mmc 1c0f000.mmc0: No vqmmc regulator found
[ 0.736113] sunxi-mmc 1c0f000.mmc0: Got CD GPIO
[ 0.771750] sunxi-mmc 1c0f000.mmc0: base:0xf085a000 irq:25
[ 0.778398] usbcore: registered new interface driver usbhid
[ 0.783985] usbhid: USB HID core driver
[ 0.788728] NET: Registered protocol family 17
[ 0.793213] can: controller area network core (rev 20120528 abi 9)
[ 0.799466] NET: Registered protocol family 29
[ 0.803936] can: raw protocol (rev 20120528)
[ 0.808215] can: broadcast manager protocol (rev 20120528 t)
[ 0.813906] can: netlink gateway (rev 20130117) max_hops=1
[ 0.819812] Key type dns_resolver registered
[ 0.824243] Registering SWP/SWPB emulation handler
[ 0.830299] sun6i-rtc 1f00000.rtc: setting system clock to 1970-01-01 04:00:33 UTC (14433)
[ 0.839951] Waiting for root device /dev/mmcblk0p1...
[ 0.897574] mmc0: host does not support reading read-only switch, assuming write-enable
[ 0.911547] mmc0: new high speed SDHC card at address aaaa
[ 0.917600] mmcblk0: mmc0:aaaa SU08G 7.40 GiB
[ 0.924173] mmcblk0: p1
[ 0.952612] EXT4-fs (mmcblk0p1): couldn't mount as ext3 due to feature incompatibilities
[ 0.961430] EXT4-fs (mmcblk0p1): couldn't mount as ext2 due to feature incompatibilities
[ 1.005107] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 1.013243] VFS: Mounted root (ext4 filesystem) on device 179:1.
[ 1.022154] devtmpfs: mounted
[ 1.025519] Freeing unused kernel memory: 284K (c057b000 - c05c2000)
INIT: version 2.88 booting
OpenRC 0.17 is starting up Gentoo Linux (armv7l)
* Mounting /proc ...
[ ok ]
* Mounting /run ...
* /run/openrc: creating directory
* /run/lock: creating directory
* /run/lock: correcting owner
* Remounting devtmpfs on /dev ...
[ ok ]
* Mounting /dev/pts ...
[ ok ]
* Mounting /dev/shm ...
[ ok ]
* Creating list of required static device nodes for the current kernel ...
Warning: /lib/modules/4.4.0-rc8-67285-gd884688-dirty/modules.devname not found - ignoring
[ ok ]
* Mounting /sys ...
[ ok ]
* Mounting debug filesystem ...
[ ok ]
* Mounting cgroup filesystem ...
[ ok ]
* Setting up tmpfiles.d entries for /dev ...
[ ok ]
* Starting udev ...
[ ok ]
* Generating a rule to create a /dev/root symlink ...
[ ok ]
* Populating /dev with existing devices through uevents ...
[ ok ]
* Waiting for uevents to be processed ...
[ ok ]
* Setting system clock using the hardware clock [UTC] ...
[ ok ]
* Autoloaded 0 module(s)
* Checking local filesystems ...
[ ok ]
* Remounting filesystems ...
[ ok ]
* Updating /etc/mtab ...
* The support for updating /etc/mtab as a file is
* deprecated and will be removed in the future.
* Please run the following command as root on your system.
* ln -snf /proc/self/mounts /etc/mtab
[ ok ]
* Activating swap devices ...
[ ok ]
* Mounting local filesystems ...
[ ok ]
* Loading custom binary format handlers ...
[ ok ]
* Configuring kernel parameters ...
[ ok ]
* Creating user login records ...
[ ok ]
* Wiping /tmp directory ...
[ ok ]
* Setting hostname to pine64 ...
[ ok ]
* Setting terminal encoding [UTF-8] ...
[ ok ]
* Setting keyboard mode [UTF-8] ...
[ ok ]
* Loading key mappings [us] ...
[ ok ]
* Bringing up network interface lo ...
[ ok ]
* Activating additional swap space ...
[ ok ]
* Setting up tmpfiles.d entries ...
[ ok ]
* Initializing random number generator ...
[ ok ]
INIT: Entering runlevel: 3
* Mounting network filesystems ...
[ ok ]
* Starting local ...
[ ok ]
This is pine64.unknown_domain (Linux armv7l 4.4.0-rc8-67285-gd884688-dirty) 04:00:43
pine64 login: root
Password:
Last login: Thu Jan 1 03:59:27 Local time zone must be set--see zic manual page 1970 on ttyS0
pine64 ~ # cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : Generic DT based system
Revision : 0000
Serial : 0000000000000000
pine64 ~ #
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment