Dear summers,
thank you for these information, according to the CT Plus u-boot, kernel loadaddr is 0x40007800, the settings for uEnv.txt are explained in the sun8iw6p1.h file; I've set up my sdcard using a boot partition starting at 8192 (1024*8 <-u-boot-dd-params seek=8) with 30M size, formatted ext2 and a / partition formatted ext4. I'm currently cross-compiling kernel 4.17.2, hopefully everything will be working, I'll report back as soon as I've tested.
EDIT: The system still is not booting, I'm afraid. On my boot partition I have uImage, boot.cmd and uEnv.txt, the partition is marked bootable via fdisk.
Contens of boot.cmd:
$this->bbcode_second_pass_code('', 'setenv bootargs console=ttyS0,115200 console1=tty0 root=/dev/mmcblk0p2 rootwait panic=10
load mmc 0:1 0x40007800 uImage || load mmc 0:1 0x40007800 boot/uImage
bootm 0x40007800')
This is according to the
sunxi u-boot mainline configurationContents of uEnv.txt:
$this->bbcode_second_pass_code('', 'bootdelay=3\0
bootcmd=run setargs_mmc boot_normal\0
console=ttyS0,115200\0
console1=tty0\0
mmc_root=/dev/mmcblk0p2\0
loglevel=8\0
setargs_mmc=setenv bootargs console=${console1} console=${console} root=${mmc_root}
loglevel=${loglevel}\0
boot_normal=fatload mmc 0 40007800 uImage;bootm 40007800\0')
CAVE: Doesn't fatload mean that the boot partition has to be FAT and not ext2 ? (I'll try with ext2load) -> didn't work
->created FAT partition and fs using fatload -> didn't work either
This is according to the sun8iw6p1.h
Output of u-boot:
$this->bbcode_second_pass_code('', 'U-Boot SPL 2018.07-rc2-00131-gac378bb05f (Jul 02 2018 - 18:06:53 +0200)
DRAM: 2048 MiB
Trying to boot from MMC1
U-Boot 2018.07-rc2-00131-gac378bb05f (Jul 02 2018 - 18:06:53 +0200) Allwinner Technology
CPU: Allwinner A83T (SUN8I 1673)
Model: Cubietech Cubietruck Plus
I2C: ready
DRAM: 2 GiB
MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment
Failed (-5)
In: serial
Out: serial
Err: serial
Net: No ethernet found.
starting USB...
USB0: failed to get usb PHY
Port not available.
USB1: failed to get usb@01c1a000 usb PHY
Port not available.
USB2: failed to get usb@01c1b000 usb PHY
Port not available.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
starting USB...
USB0: failed to get usb PHY
Port not available.
USB1: failed to get usb@01c1a000 usb PHY
Port not available.
USB2: failed to get usb@01c1b000 usb PHY
Port not available.
USB is stopped. Please issue 'usb start' first.
starting USB...
USB0: failed to get usb PHY
Port not available.
USB1: failed to get usb@01c1a000 usb PHY
Port not available.
USB2: failed to get usb@01c1b000 usb PHY
Port not available.
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-sunxi
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
starting USB...
USB0: failed to get usb PHY
Port not available.
USB1: failed to get usb@01c1a000 usb PHY
Port not available.
USB2: failed to get usb@01c1b000 usb PHY
Port not available.
No ethernet found.
No ethernet found.
=>')
What can I do to resolve this issue ?
EDIT: I created a boot.cmd file containing:
$this->bbcode_second_pass_code('', 'fatload mmc 0 0x46000000 uImage
fatload mmc 0 0x49000000 sun8i-a83t-cubietruck-plus.dtb
setenv bootargs console=tty0 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
bootm 0x46000000 - 0x49000000')
and created the boot.scr via (sunxi-tools):
$this->bbcode_second_pass_code('', 'mkimage -C none -A arm -T script -d boot.cmd boot.scr')
Copying the boot.scr file to my boot partition, the kernel starts to load, but stops at this point:
$this->bbcode_second_pass_code('', 'U-Boot SPL 2018.07-rc2-00131-gac378bb05f (Jul 04 2018 - 11:49:29 +0200)
DRAM: 2048 MiB
Trying to boot from MMC1
U-Boot 2018.07-rc2-00131-gac378bb05f (Jul 04 2018 - 11:49:29 +0200) Allwinner Technology
CPU: Allwinner A83T (SUN8I 1673)
Model: Cubietech Cubietruck Plus
I2C: ready
DRAM: 2 GiB
MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment
Failed (-5)
In: serial
Out: serial
Err: serial
Net: No ethernet found.
starting USB...
USB0: failed to get usb PHY
Port not available.
USB1: failed to get usb@01c1a000 usb PHY
Port not available.
USB2: failed to get usb@01c1b000 usb PHY
Port not available.
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.scr
300 bytes read in 1 ms (293 KiB/s)
## Executing script at 43100000
6946904 bytes read in 679 ms (9.8 MiB/s)
20355 bytes read in 5 ms (3.9 MiB/s)
## Booting kernel from Legacy Image at 46000000 ...
Image Name: Linux-4.17.2
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 6946840 Bytes = 6.6 MiB
Load Address: 40007800
Entry Point: 40007800
Verifying Checksum ... OK
## Flattened Device Tree blob at 49000000
Booting using the fdt blob at 0x49000000
Loading Kernel Image ... OK
Loading Device Tree to 49ff8000, end 49ffff82 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.17.2 (root@crossbox) (gcc version 7.2.0 (Ubuntu/Linaro 7.2.0-6ubuntu1)) #1 SMP PREEMPT Wed Jul 4 09:50:58 CEST 2018
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Cubietech Cubietruck Plus
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] random: get_random_bytes called from start_kernel+0x90/0x474 with crng_init=0
[ 0.000000] percpu: Embedded 17 pages/cpu @(ptrval) s38600 r8192 d22840 u69632
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 522752
[ 0.000000] Kernel command line: console=ttyS0,115200 console1=tty0 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10
[ 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: 2062252K/2097152K available (10240K kernel code, 981K rwdata, 2488K rodata, 1024K init, 731K bss, 34900K reserved, 0K cma-reserved, 1310720K 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 : 0x(ptrval) - 0x(ptrval) (11232 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 982 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 732 kB)
[ 0.000000] ftrace: allocating 34751 entries in 102 pages
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: 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.000010] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.008007] Switching to timer-based delay loop, resolution 41ns
[ 0.014287] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.024310] Console: colour dummy device 80x30
[ 0.028786] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.039159] pid_max: default: 32768 minimum: 301
[ 0.044249] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.050905] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.058980] CPU: Testing write buffer coherency: ok
[ 0.064442] /cpus/cpu@0 missing clock-frequency property
[ 0.069762] /cpus/cpu@1 missing clock-frequency property
[ 0.075125] /cpus/cpu@2 missing clock-frequency property
[ 0.080443] /cpus/cpu@3 missing clock-frequency property
[ 0.085782] /cpus/cpu@100 missing clock-frequency property
[ 0.091278] /cpus/cpu@101 missing clock-frequency property
[ 0.096793] /cpus/cpu@102 missing clock-frequency property
[ 0.102292] /cpus/cpu@103 missing clock-frequency property
[ 0.107798] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.158019] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.164731] Hierarchical SRCU implementation.
[ 0.189257] smp: Bringing up secondary CPUs ...
[ 0.530241] smp: Brought up 1 node, 1 CPU
[ 0.534268] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.540526] CPU: All CPU(s) started in SVC mode.
[ 0.546539] devtmpfs: initialized
[ 0.560952] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.569002] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.578882] futex hash table entries: 2048 (order: 5, 131072 bytes)
[ 0.586106] xor: measuring software checksum speed
[ 0.691060] arm4regs : 1234.000 MB/sec
[ 0.791160] 8regs : 741.200 MB/sec
[ 0.891266] 32regs : 911.600 MB/sec
[ 0.895448] xor: using function: arm4regs (1234.000 MB/sec)
[ 0.901103] pinctrl core: initialized pinctrl subsystem
[ 0.907552] NET: Registered protocol family 16
[ 0.912630] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.920272] audit: initializing netlink subsys (disabled)
[ 0.926618] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.934683] audit: type=2000 audit(0.870:1): state=initialized audit_enabled=0 res=1
[ 0.942438] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 1.169033] raid6: int32x1 gen() 164 MB/s
[ 1.339211] raid6: int32x1 xor() 129 MB/s
[ 1.509303] raid6: int32x2 gen() 179 MB/s
[ 1.679515] raid6: int32x2 xor() 133 MB/s
[ 1.850033] raid6: int32x4 gen() 155 MB/s
[ 2.020150] raid6: int32x4 xor() 108 MB/s
[ 2.190553] raid6: int32x8 gen() 133 MB/s
[ 2.360630] raid6: int32x8 xor() 89 MB/s
[ 2.364897] raid6: using algorithm int32x2 gen() 179 MB/s
[ 2.370307] raid6: .... xor() 133 MB/s, rmw enabled
[ 2.375179] raid6: using intx1 recovery algorithm
[ 2.380608] SCSI subsystem initialized
[ 2.384634] usbcore: registered new interface driver usbfs
[ 2.390178] usbcore: registered new interface driver hub
[ 2.395838] usbcore: registered new device driver usb
[ 2.405721] Advanced Linux Sound Architecture Driver Initialized.
[ 2.412975] clocksource: Switched to clocksource arch_sys_counter
[ 2.554031] FS-Cache: Loaded
[ 2.557276] CacheFiles: Loaded
[ 2.568737] NET: Registered protocol family 2
[ 2.574208] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[ 2.581883] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 2.589153] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 2.595761] TCP: Hash tables configured (established 8192 bind 8192)
[ 2.602342] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 2.608415] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 2.615227] NET: Registered protocol family 1
[ 2.650580] RPC: Registered named UNIX socket transport module.
[ 2.656594] RPC: Registered udp transport module.
[ 2.661295] RPC: Registered tcp transport module.
[ 2.666032] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.675398] workingset: timestamp_bits=30 max_order=19 bucket_order=0
[ 2.693545] NFS: Registering the id_resolver key type
[ 2.698658] Key type id_resolver registered
[ 2.702838] Key type id_legacy registered
[ 2.727855] ntfs: driver 2.1.32 [Flags: R/W].
[ 2.732301] fuse init (API version 7.26)
[ 2.736916] JFS: nTxBlock = 8192, nTxLock = 65536
[ 2.758849] SGI XFS with security attributes, no debug enabled
[ 2.793571] bounce: pool size: 64 pages
[ 2.797448] io scheduler noop registered
[ 2.801368] io scheduler deadline registered
[ 2.805883] io scheduler cfq registered (default)
[ 2.810587] io scheduler mq-deadline registered
[ 2.815449] io scheduler kyber registered
[ 2.819974] sunxi-rsb 1f03400.rsb: could not find pctldev for node /soc/pinctrl@1f02c00/r-rsb-pins, deferring probe
[ 2.835755] sun8i-a83t-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO driver
[ 2.862634] loop: module loaded
[ 2.866913] libphy: Fixed MDIO Bus: probed
[ 2.871013] tun: Universal TUN/TAP device driver, 1.6
[ 2.876526] PPP generic driver version 2.4.2
[ 2.880972] PPP BSD Compression module registered
[ 2.885761] PPP Deflate Compression module registered
[ 2.890838] PPP MPPE Compression module registered
[ 2.895684] NET: Registered protocol family 24
[ 2.900165] PPTP driver version 0.8.5
[ 2.904400] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.910929] ehci-platform: EHCI generic platform driver
[ 2.916597] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 2.922216] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 2.930216] ehci-platform 1c1a000.usb: irq 29, io mem 0x01c1a000
[ 2.963021] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 2.970147] hub 1-0:1.0: USB hub found
[ 2.974056] hub 1-0:1.0: 1 port detected
[ 2.978506] ehci-platform 1c1b000.usb: EHCI Host Controller
[ 2.984189] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 2
[ 2.992088] ehci-platform 1c1b000.usb: irq 30, io mem 0x01c1b000
[ 3.022979] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
[ 3.029830] hub 2-0:1.0: USB hub found
[ 3.033684] hub 2-0:1.0: 1 port detected
[ 3.038053] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 3.044479] usbcore: registered new interface driver cdc_acm
[ 3.050134] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 3.058317] usbcore: registered new interface driver usb-storage
[ 3.064393] usbcore: registered new interface driver ums-alauda
[ 3.070348] usbcore: registered new interface driver ums-cypress
[ 3.076422] usbcore: registered new interface driver ums-datafab
[ 3.082463] usbcore: registered new interface driver ums_eneub6250
[ 3.088838] usbcore: registered new interface driver ums-freecom
[ 3.094916] usbcore: registered new interface driver ums-isd200
[ 3.100870] usbcore: registered new interface driver ums-jumpshot
[ 3.107022] usbcore: registered new interface driver ums-karma
[ 3.112899] usbcore: registered new interface driver ums-onetouch
[ 3.119067] usbcore: registered new interface driver ums-realtek
[ 3.125133] usbcore: registered new interface driver ums-sddr09
[ 3.131088] usbcore: registered new interface driver ums-sddr55
[ 3.137067] usbcore: registered new interface driver ums-usbat
[ 3.143131] usbcore: registered new interface driver usbserial_generic
[ 3.149689] usbserial: USB Serial support registered for generic
[ 3.155769] usbcore: registered new interface driver option
[ 3.161367] usbserial: USB Serial support registered for GSM modem (1-port)
[ 3.168578] usbcore: registered new interface driver pl2303
[ 3.174213] usbserial: USB Serial support registered for pl2303
[ 3.180868] mousedev: PS/2 mouse device common for all mice
[ 3.186865] i2c /dev entries driver
[ 3.190919] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initialised: dm-devel@redhat.com
[ 3.200008] sunxi-mmc 1c0f000.mmc: could not find pctldev for node /soc/pinctrl@1c20800/mmc0-pins, deferring probe
[ 3.210470] sunxi-mmc 1c10000.mmc: could not find pctldev for node /soc/pinctrl@1c20800/mmc1-pins, deferring probe
[ 3.220885] sunxi-mmc 1c11000.mmc: could not find pctldev for node /soc/pinctrl@1c20800/mmc2-8bit-emmc-pins, deferring probe
[ 3.232568] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.238681] hidraw: raw HID events driver (C) Jiri Kosina
[ 3.246881] usbcore: registered new interface driver usbhid
[ 3.252451] usbhid: USB HID core driver
[ 3.256643] ashmem: initialized
[ 3.261088] u32 classifier
[ 3.263898] Actions configured
[ 3.268049] xt_time: kernel timezone is -0000
[ 3.272436] IPVS: Registered protocols ()
[ 3.276583] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[ 3.284399] IPVS: ipvs loaded.
[ 3.287640] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 3.293894] gre: GRE over IPv4 demultiplexor driver
[ 3.298773] ip_gre: GRE over IPv4 tunneling driver
[ 3.306162] Initializing XFRM netlink socket
[ 3.310642] NET: Registered protocol family 10
[ 3.327441] Segment Routing with IPv6
[ 3.331251] mip6: Mobile IPv6
[ 3.335167] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.342776] NET: Registered protocol family 17
[ 3.347418] NET: Registered protocol family 15
[ 3.351993] l2tp_core: L2TP core driver, V2.0
[ 3.356428] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[ 3.369735] DCCP: Activated CCID 2 (TCP-like)
[ 3.374177] DCCP: Activated CCID 3 (TCP-Friendly Rate Control)
[ 3.380249] sctp: Hash tables configured (bind 512/512)
[ 3.396278] NET: Registered protocol family 21
[ 3.400891] Registered RDS/tcp transport
[ 3.404968] Key type dns_resolver registered
[ 3.409521] ThumbEE CPU extension supported.
[ 3.413881] Registering SWP/SWPB emulation handler
[ 3.420339] Btrfs loaded, crc32c=crc32c-generic
[ 3.437725] sunxi-rsb 1f03400.rsb: RSB running at 3000000 Hz
[ 3.449855] sun8i-a83t-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 3.457458] usb3503 usb-hub: Ports disabled with no control interface
[ 3.484115] usb3503 usb-hub: switched to HUB mode
[ 3.488823] usb3503 usb-hub: usb3503_probe: probed in hub mode
[ 3.498258] hctosys: unable to open rtc device (rtc0)')
EDIT -> -> EDIT:
I finally got it working, not with my compiled custom kernel, but with the one provided in the package.
It took a little work, but this is what I did:
- I copied /boot/zImage to my boot partition
- I adapted my boot.cmd :
$this->bbcode_second_pass_code('', 'fatload mmc 0 0x46000000 zImage
fatload mmc 0 0x49000000 sun8i-a83t-cubietruck-plus.dtb
setenv bootargs console=ttyS0,115200 console1=tty0 earlyprintk root=/dev/mmcblk0p2 rootwait panic=5 ${extra}
bootz 0x46000000 - 0x49000000')
- created the new boot.scr (see above), copied it to my boot partition
Then I inserted the microSDcard into my CT Plus, pressed power button and everything booted just fine.
I think I will create a short howto ouf of this, because now as I have gone through all of this, it seems pretty easy.