[PATCH 4/4] doc: ae350: Add Fast Boot description

Rick Chen rick at andestech.com
Wed Dec 7 07:23:34 CET 2022


Descript how to boot Kernel with Fast Boot and record
booting messages here.

Signed-off-by: Rick Chen <rick at andestech.com>
---
 doc/board/AndesTech/ax25-ae350.rst | 140 +++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

diff --git a/doc/board/AndesTech/ax25-ae350.rst b/doc/board/AndesTech/ax25-ae350.rst
index b46f427f4b..01b7159117 100644
--- a/doc/board/AndesTech/ax25-ae350.rst
+++ b/doc/board/AndesTech/ax25-ae350.rst
@@ -522,3 +522,143 @@ Messages of U-Boot SPL boots Kernel on AE350 board
     nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
 
     ~ #
+
+
+Fast-Boot on AE350
+------------------
+In hope of reducing the boot time, Andes U-Boot is implemented with a feature similar to
+U-Boot FALCON mode. The boot flow using this feature, called Fast Boot, initializes memory
+with the U-Boot SPL at the first stage, just like what a regular booting process
+(i.e. Normal Boot) does in the beginning. Instead of jumping to the U-Boot proper (normal mode)
+from OpenSBI before booting kernel, the Fast Boot process jumps directly to kernel to enabl
+shorter boot time.
+
+
+Fast-Boot flow
+--------------
+U-Boot SPL --> openSBI --> Linux Kernel
+
+How to run Fast-Boot on AE350
+-------------------------------
+1. Copy Kernel Image (arch/riscv/boot/Image) into U-Boot root directory.
+2. make ae350_rv[32|64]_spl_fastboot_defconfig and build.
+3. linux.itb will be generated here.
+
+
+Messages of Fast-Boot Kernel on AE350 board
+-------------------------------------------
+U-Boot SPL 2023.01-rc1-00100-gf854773d8a-dirty (Dec 05 2022 - 13:54:20 +0800)
+Trying to boot from RAM
+[    0.000000] OF: fdt: Ignoring memory range 0x0 - 0x1800000
+[    0.000000] Linux version 5.4.192-18651-gf2d0487a5fb8-dirty (rick at atcsqa06) (gcc version 10.3.0 (2022-05-13_nds64le-linux-glibc-v5d-_experimental)) #2 SMP PREEMPT Thu Oct 13 10:39:07 CST 2022
+[    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
+[    0.000000] printk: bootconsole [sbi0] enabled
+[    0.000000] initrd not found or empty - disabling initrd
+[    0.000000] Zone ranges:
+[    0.000000]   DMA32    [mem 0x0000000001800000-0x000000003fffffff]
+[    0.000000]   Normal   empty
+[    0.000000] Movable zone start for each node
+[    0.000000] Early memory node ranges
+[    0.000000]   node   0: [mem 0x0000000001800000-0x000000003fffffff]
+[    0.000000] Initmem setup node 0 [mem 0x0000000001800000-0x000000003fffffff]
+[    0.000000] SBI specification v0.3 detected
+[    0.000000] SBI implementation ID=0x1 Version=0x10000
+[    0.000000] SBI v0.2 TIME extension detected
+[    0.000000] SBI v0.2 IPI extension detected
+[    0.000000] SBI v0.2 RFENCE extension detected
+[    0.000000] SBI SRST extension detected
+[    0.000000] SBI v0.2 HSM extension detected
+[    0.000000] percpu: Embedded 16 pages/cpu s28120 r8192 d29224 u65536
+[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 252500
+[    0.000000] Kernel command line: console=ttyS0,38400n8 debug loglevel=7 earlycon=sbi
+[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
+[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
+[    0.000000] Sorting __ex_table...
+[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
+[    0.000000] Memory: 994544K/1024000K available (4565K kernel code, 290K rwdata, 1655K rodata, 7083K init, 189K bss, 29456K reserved, 0K cma-reserved)
+[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
+[    0.000000] rcu: Preemptible hierarchical RCU implementation.
+[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
+[    0.000000]  Tasks RCU enabled.
+[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
+[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
+[    0.000000] NR_IRQS: 72, nr_irqs: 72, preallocated irqs: 0
+[    0.000000] plic: mapped 71 interrupts with 1 handlers for 2 contexts.
+[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0]
+[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1bacf917bf, max_idle_ns: 881590412290 ns
+[    0.000091] sched_clock: 64 bits at 60MHz, resolution 16ns, wraps every 4398046511098ns
+[    0.025459] Console: colour dummy device 40x30
+[    0.039116] Calibrating delay loop (skipped), value calculated using timer frequency.. 120.00 BogoMIPS (lpj=600000)
+[    0.070377] pid_max: default: 32768 minimum: 301
+[    0.086700] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
+[    0.109186] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
+[    0.160697] rcu: Hierarchical SRCU implementation.
+[    0.181706] smp: Bringing up secondary CPUs ...
+[    0.195674] smp: Brought up 1 node, 1 CPU
+[    0.213734] devtmpfs: initialized
+[    0.247406] random: get_random_u32 called from bucket_table_alloc.isra.0+0x74/0xb8 with crng_init=0
+[    0.282986] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
+[    0.312829] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
+[    0.339998] NET: Registered protocol family 16
+[    0.607366] v5dmac f0c00000.dma: Atcdmac300 DMA Controller (cpy,slave), 8 channels
+[    0.647193] Advanced Linux Sound Architecture Driver Initialized.
+[    0.674732] clocksource: Switched to clocksource riscv_clocksource
+[    0.872703] NET: Registered protocol family 2
+[    0.889217] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
+[    0.932178] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
+[    0.958401] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
+[    0.983903] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
+[    1.008992] TCP: Hash tables configured (established 8192 bind 8192)
+[    1.030897] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
+[    1.051467] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
+[    1.075246] NET: Registered protocol family 1
+[    1.097767] RPC: Registered named UNIX socket transport module.
+[    1.116128] RPC: Registered udp transport module.
+[    1.130363] RPC: Registered tcp transport module.
+[    1.145122] RPC: Registered tcp NFSv4.1 backchannel transport module.
+[    8.899871] workingset: timestamp_bits=62 max_order=18 bucket_order=0
+[    9.091511] NFS: Registering the id_resolver key type
+[    9.107526] Key type id_resolver registered
+[    9.120225] Key type id_legacy registered
+[    9.132533] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
+[    9.152713] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
+[    9.383847] io scheduler mq-deadline registered
+[    9.398487] io scheduler kyber registered
+[    9.418464] ATCGPIO100 module inserted
+[    9.437279] faradayfb_main: faradayfb_probe() ...
+[    9.494962] Console: switching to colour frame buffer device 40x30
+[   10.642421] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
+[   10.689547] printk: console [ttyS0] disabled
+[   10.704113] f0300000.serial: ttyS0 at MMIO 0xf0300020 (irq = 9, base_baud = 1228800) is a 16550A
+[   10.731684] printk: console [ttyS0] enabled
+[   10.731684] printk: console [ttyS0] enabled
+[   10.757732] printk: bootconsole [sbi0] disabled
+[   10.757732] printk: bootconsole [sbi0] disabled
+[   10.957472] loop: module loaded
+[   10.980597] atcspi200 f0b00000.spi: Andes SPI driver.
+[   10.997877] tun: Universal TUN/TAP device driver, 1.6
+[   11.016613] ftmac100: Loading version 0.2 ...
+[   11.040706] ftmac100 e0100000.mac eth0: irq 19, mapped at (____ptrval____)
+[   11.062414] ftmac100 e0100000.mac eth0: generated random MAC address 02:b3:ca:d8:86:9a
+[   11.089307] i2c /dev entries driver
+[   11.107427] atciic100 f0a00000.i2c: Andes i2c bus driver.
+[   11.138486] ftsdc010g f0e00000.mmc: using dma0chan0 for DMA transfers
+[   11.452749] ftsdc010g f0e00000.mmc: mmc0 - using hw SDIO IRQ
+[   11.608849] mmc0: new SDHC card at address 5048
+[   11.652622] mmcblk0: mmc0:5048 SD16G 14.5 GiB
+[   11.681174] ftssp010 card registered!
+[   11.710825]  mmcblk0: p1 p2
+[   11.753339] NET: Registered protocol family 10
+[   11.785663] Segment Routing with IPv6
+[   11.798553] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
+[   11.827247] NET: Registered protocol family 17
+[   11.841395] NET: Registered protocol family 15
+[   11.866431] ALSA device list:
+[   11.876385]   #0: ftssp_ac97 controller
+[   12.011649] Freeing unused kernel memory: 7080K
+[   12.026235] This architecture does not have kernel memory protection.
+[   12.045926] Run /init as init process
+Sysinit starting
+Mon Sep 26 16:26:43 CST 2022
+
+/root #
-- 
2.17.1



More information about the U-Boot mailing list