簡體   English   中英

Glitch用Spike引導Linux嗎?

[英]Glitch Booting Linux with Spike?

我使用Spike使用riscv工具引導linux,但是linux引導順序似乎在禁用Bootconsole [early0]時停止。

我嘗試添加內核命令行root = / dev / vda ro console = ttyS0,但是沒有用。 相同的控制台設置在QEMU中起作用。 還檢查.config文件中的CONFIG_HVC_RISCV_SBI = y行。 在那里。 仍然無法超越。

嘗試使用Linux內核版本4.19至5.2。 沒運氣。 我在這里做錯什么了嗎?

我遵循的步驟:

使用Riscv工具鏈編譯的linux使用../configure --host = riscv64-unknown-elf --with-payload = [vmlinux的路徑]編譯riscv-pk使用“ Spike bbl”來啟動峰值圖像。

請讓我知道是否需要更多信息。

抱歉,這是菜鳥。

連接端子輸出

bbl loader
OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
Linux version 4.19.59 (root@AsusFX504) (gcc version 8.2.0 (GCC)) #2 SMP Sat Jul 20 05:11:32 IST 2019
bootconsole [early0] enabled
initrd not found or empty - disabling initrd
Zone ranges:
  DMA32    [mem 0x0000000080200000-0x00000000ffffffff]
  Normal   empty
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000080200000-0x00000000ffffffff]
Initmem setup node 0 [mem 0x0000000080200000-0x00000000ffffffff]
software IO TLB: mapped [mem 0xfa3fe000-0xfe3fe000] (64MB)
elf_hwcap is 0x112d
percpu: Embedded 17 pages/cpu s29912 r8192 d31528 u69632
Built 1 zonelists, mobility grouping on.  Total pages: 516615
Kernel command line: 
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Sorting __ex_table...
Memory: 1988760K/2095104K available (5468K kernel code, 329K rwdata, 1751K rodata, 193K init, 806K bss, 106344K reserved, 0K cma-reserved)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
rcu: Hierarchical RCU implementation.
rcu:    RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0
clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns
Console: colour dummy device 80x25
console [tty0] enabled
bootconsole [early0] disabled

這可能是因為在Linux config啟用了虛擬終端 禁用虛擬終端可能會解決您的問題。

在Linux中, 將menuconfig轉到:-

位置:

  • -> 設備驅動程序
  • -> 角色設備

和Disble 虛擬終端

Symbol: VT [=y]    n                                                                                                                                                                                 
Type  : bool                                                                                                                                                                                          
Prompt: Virtual terminal 

如前所述,原因是啟用了VT,因此內核具有一個虛擬的VT幀緩沖區,該緩沖區根本無處可去,但您不必禁用它。 console=ttyS0也將不起作用,因為SPIKE不會模擬它。 注意,這在HiFive Unleashed上也不起作用,因為串行終端有ttySIF0和ttySIF1。 您想要的是console=hvc0和SPIKE將能夠從那里繼續,例如在您的內核.config中:

CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlyprintk console=hvc0"
CONFIG_CMDLINE_FORCE=y

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM