RISC-VのLinuxブート環境を構築したので、次にこれをRTL環境で実行している。Linuxカーネルのブートはうまくいきそうなので、次にルートファイルシステムの読み込みに挑戦する。つまりrootfsの構築だ。
Initrdを導入して、ついにrootfsからファイルを取得することができるようになり始めた。CLINTがないのでタイマー割込みがかからずに途中で動きが止まったが、Spikeとの一致エラーが発生せずに正しく動いているようだ。次はCLINTを実装してタイマー割込みがかかるように改造するところだな。
[ 0.000000] NET: Registered protocol family 38 [ 0.000000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251) [ 0.000000] io scheduler mq-deadline registered [ 0.000000] io scheduler kyber registered [ 0.000000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.000000] 54000000.uart: ttyS0 at MMIO 0x54000000 (irq = 0, base_baud = 230400) is a 16550A [ 0.000000] [drm] radeon kernel modesetting enabled. [ 0.000000] loop: module loaded [ 0.000000] libphy: Fixed MDIO Bus: probed [ 0.000000] e1000e: Intel(R) PRO/1000 Network Driver [ 0.000000] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 0.000000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.000000] ehci-pci: EHCI PCI platform driver [ 0.000000] ehci-platform: EHCI generic platform driver [ 0.000000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.000000] ohci-pci: OHCI PCI platform driver [ 0.000000] ohci-platform: OHCI generic platform driver [ 0.000000] usbcore: registered new interface driver uas [ 0.000000] usbcore: registered new interface driver usb-storage [ 0.000000] mousedev: PS/2 mouse device common for all mice [ 0.000000] usbcore: registered new interface driver usbhid [ 0.000000] usbhid: USB HID core driver [ 0.000000] NET: Registered protocol family 10 [ 0.000000] Segment Routing with IPv6 [ 0.000000] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 0.000000] NET: Registered protocol family 17 [ 0.000000] 9pnet: Installing 9P2000 support [ 0.000000] Key type dns_resolver registered [ 0.000000] debug_vm_pgtable: [debug_vm_pgtable ]: Validating architecture page table helpers [ 0.000000] Freeing unused kernel memory: 220K