Hello. I have had my board since last summer and have successfully run
-
premade sd-images from the the repo tags, usually updating the spl and uboot files as I go.
-
Before I updated to the new v3.82 from the second to last update, I was able to build a custom Armbian image which booted from SD card and had SCSI drivers, specifically SCSI transport FC and the drivers (QLE2xxx) as a module installed and working great to connect to my FC target box.
-
recently in the past few days I updated the spl and uboot to [VF2_v3.8.2] and the board runs and boots th 202310 SD and NVME images just fine.
-
The cw18 ARCH image is really good too. thank you.
-
So I wanted to see if I could build a 6.1.y(31) kernel on the board and it works without a hitch. The instructions are valid, and I only noticed that the [ git checkout command needs to be run in the /linux folder, and not in the …/linux folder. ]
my work flow as best I can remember. I do have the serial to USB monitor.
- downloaded NVME 202310.
- Balena-etcher to NVME drive
- boot vf2 - 0/0 switch settings
- usual resizing of the /root partition - follow guide/your knowledge
(note: thinking of maybe trying to make the /boot partition larger to hold
more kernels, help here? ) - I did run the extras script, but I do not know if I had to yet.
b. sudo chmod +x install_package_and_dependencies.sh
c. sudo ./install_package_and_dependencies.sh
- dependencies
a. sudo apt-get install build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves bison git
- repo
a. sudo git clone GitHub - starfive-tech/linux
- IMPORTANT DIFFERENCE
a. cd linux
b. sudo git checkout VF2_6.1_v3.8.2
- copy current running kernel config file as a starting point
a. sudo cp arch/riscv/configs/starfive_visionfive2_defconfig .config ( makes file )
b. sudo make ARCH=riscv olddefconfig ( copies from running kernel, mostly? ) : NOTE my board crashed setting the architecture on the native board. NOT CROSS COMPILING!
- Config your kernel - leave it alone, install drivers, peruse at your leisure. your call. BE CAREFUL
a. sudo make menuconfig
b. save work ( .config or save many with different settings…)
- Compile 6.1.x kernel
a. make ARCH=riscv -j$(nproc) bindeb-pkg : NOTE my board crashed setting the architecture on the native board. NOT CROSS COMPILING!
COMPILE TIME ( on the vf2 board ): Around 1.5 hrs. ( adding modules later only takes 5 min. when recompiling )
- Debian packages are found in …/linux - one level up from the repo. if you use //home/user/linux, then the *.deb files are in //home/user
a. sudo dpkg -i *.deb
--------------IMPORTANT--------------
b. sudo cp -r ~/linux/debian/linux-image/usr/lib/linux-image-6.1.(x)/* //boot/dtbs
c. sudo reboot
Booted right up for me. kernel 6.1
PROBLEMS:
- desktop if slower than molasses. I added the PVR drivers as a module as dmesg showed it did not load from initramfs. Does load now but make no difference. So now on to the video side I guess. For another post.
STUFF I RUN:
- npm - for uptime-kuma works well.
- usual apache2 web server intranet stuff.
- htmly blog self hosted thing.
- rust stuff / cargo
- want to try the gpio and node.js gpio interfacing.
- 95% command line stuff.
- and golang - gotty
STUFFI DO NOT UNDERSTAND:
-
how to configure the booting of “current” ARMBIAN, SLARM64, DIETPI, and UBUNTU images… not a single one of them will boot at all.
Yes I reset the env defaults. -
NO EFI booting???
ANSWER TO THE TOPIC QUESTION:
yes, there is a 6.1 kernel supporting m.2, and you can make it.
sorry if I made any mistakes/comments welcome.