Regular/riscv64: Difference between revisions

From ALT Linux Wiki
(Initial english version)
 
 
(33 intermediate revisions by 6 users not shown)
Line 1: Line 1:


'''<big>Regular image builds for SoC with RISC-V (rv64gc) CPU</big>
{| style="border:1px solid #AAA; background:#F9F9FF; width:100px; margin: 0 0 1em 1em; padding:.2em; text-align:left; float: right;" class=noprint
'''
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint
|}
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''
|-
| __TOC__
| __TOC__
|-
|-
| [[:en:Regular|English]]
| [[:ru:Regular/riscv64|Русский]]
|}
|}
<div id="intro"></div>
= '''Overview''' =
Regular image builds are intended to test and develop the RISC-V (rv64gc) [https://en.altlinux.org/Ports/riscv64 port] of the [https://en.altlinux.org/Sisyphus Sisyphus] repository.


To learn more about regular image builds one could refer to [https://en.altlinux.org/Regular this article].
[[Regular|Regular image]] builds are intended for testing and development of the [[Ports/riscv64|RISC-V (rv64gc) port]] of [[Sisyphus]] repository.
 
Additional information:
* on Regular images: [[Regular]];
* on riscv64 Sisyphus port: [[Ports/riscv64]];
* [[#Feedback]].


To make a bug report or discuss any suggestions please refer to the [[#Feedback|"Feedback"]] section on this page.
The images are intended to be run in qemu without modification and written according to the instructions to removable storage devices for sequent loading on target boards. Аfter booting from one of the images below, use the following credentials to login:


To enter the system, after the boot with one of the images listed below, please use the following username/password:
  login: root
<br>
  password: altlinux
'''<tt>login: root</tt>'''
<br>
'''<tt>password: alt</tt>'''


In the case of the developer image ('''builder''') it is recommended to '''change the password'''.
For images with graphics the user will be asked to complete the initial setup in a graphical setup wizard at the first boot. During configuration, you can set the timezone, root password, password for connecting to VNC (if launched via VNC), create a new user, etc. On boards without a graphics adapter the graphical setup wizard must be run via VNC.


== HiFive Unleashed ==
== '''Direct download links'''<ref>These are links to builds marked as '''tested'''. There are a few more  [http://nightly.altlinux.org/sisyphus-riscv64/snapshots snapshots] </ref> ==
Two types of the images for the [https://www.sifive.com SiFive's] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] board currently available:


* Minimal system with systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar link] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* jeos-systemd: [http://nightly.altlinux.org/sisyphus-riscv64/tested/regular-jeos-systemd-latest-riscv64.img.xz riscv64] <ref>Without GUI </ref>
* Minimal system for developer (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar link] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
<br>
The instructions on how to run these images on HiFive Unleashed in [[#How to run on HiFive Unleashed|this section]].


== QEMU ==
* lxqt: [http://nightly.altlinux.org/sisyphus-riscv64/tested/regular-lxqt-latest-riscv64.img.xz riscv64]
The images for the [https://www.qemu.org QEMU] listed below:
 
* Minimal system with systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* mate: [http://nightly.altlinux.org/sisyphus-riscv64/tested/regular-mate-latest-riscv64.img.xz riscv64]
* Minimal system for developer (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img link] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
<br>
The instructions on how to run these images on QEMU in [[#How to run on QEMU|this section]].


= '''How to run on QEMU''' =
* xfce: [http://nightly.altlinux.org/sisyphus-riscv64/tested/regular-xfce-latest-riscv64.img.xz riscv64]
In order to run the image on the QEMU system one need to follow these steps:


'''Step 1.''' Install QEMU with riscv64 support. For example, in the case of ALT x86_64 system: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].
== QEMU ==


'''Step 2.''' Get the [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/kernel-image-qemu-un-def-4.19.6-alt5.noarch.rpm Linux kernel for QEMU] and install it:
The img.xz images must be unpacked and run according to the instructions: [[Ports/riscv64/QEMU]].
<source lang="shell">rpm --install <kernel package>.rpm</source>
After that, the Linux kernel for QEMU could be found at /usr/share/qemu-riscv64/vmlinux.


'''Step 3.''' Download one of the images for QEMU listed ([[#QEMU|above]]) and just replace <IMAGE> to the path of just downloaded qcow2 image:
== HiFive Unmatched and Unleashed ==
<source lang="shell">
$ qemu-system-riscv64 -nographic -machine virt \
                      -kernel /usr/share/qemu-riscv64/vmlinux \
                      -m 2G -smp cpus=4,threads=2,maxcpus=8 \
                      -drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \
                      -append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \
                      -netdev user,id=eth0 -device virtio-net-device,netdev=eth0
</source>


= '''How to run on HiFive Unleashed''' =
Images write in instructions are available on the board pages: [[HiFive Unmatched]] and [[HiFive Unleashed]].  
This instruction assumes that the user is working on the computer with ALT Sisyphus installed on it.
In order to run the image on the HiFive Unleashed one need to follow these steps:


'''Step 1.''' [[#HiFive Unleashed|Download]] minimal system image with systemd, which is a ''tar'' archive with rootfs. To install the system one could choose between two options: [[#Automatic install on ALT Sisyphus|automatic install on ALT Sisyphus]] or [[#Manual install|manual]].
== VNC ==
Connecting via VNC (not the vnc provided by the qemu emulator) requires :


== Automatic install on ALT Sisyphus ==
* enable vnc mode in alterator-setup by uncommenting or adding a line to /etc/alterator-setup/config:
'''Step 2.''' Install the [http://sisyphus.ru/ru/srpm/Sisyphus/alt-rootfs-installer alt-rootfs-installer].


'''Step 3.''' Run the <tt>alt-rootfs-installer</tt>. This script will automatically install the system on microSD card. For example, to install <tt>regular-builder-alpha20190329-riscv64.tar</tt> image on <tt>/dev/sdX</tt> with log output to <tt>/home/user/alt-rootfs-installer.log</tt>:
<source lang="shell">ALTERATOR_SETUP_VNC=1</source>
<source lang="shell">
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \
                      --media=/dev/sdX \
                      --target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log
</source>
<br>
After this procedure the /dev/sdX disk will contain two partitions. The first partition will contain bbl bootloader with Linux kernel, which is statically linked with bbl. The second partition will contain root file system.


Now, microSD card is ready to use with HiFive Unleashed.
or add a --vnc=1 argument for alt-rootfs-installer when it writes to a removable storage device.


== Manual install ==
* connect via a serial port and wait for information about the address and VNC connection password:
'''Step 2.''' Untar the /boot directory from the archive from ''step 1''. For example, in the case of minimal system image with systemd:
<source lang="shell">
<source lang="shell">
$ tar -xf regular-jeos-latest-riscv64.tar ./boot
localhost login: ALTERATOR SETUP === VNC access enabled
ALTERATOR SETUP === VNC Password="cobra-angel"
ALTERATOR SETUP === Default network device: "eth0"
ALTERATOR SETUP === IPv4: "10.0.2.15/24"
ALTERATOR SETUP === IPv6: "fec0::bee1:6f2d:ce4a:9c1d/64
fe80::6a0:ddd0:df03:e44d/64"
PORT=5900
</source>
</source>
The ./boot/vmlinuz will contain symlink to the Linux kernel.


'''Step 3.''' Create the GPT table with two partitions on the microSD card:
To connect to a serial console (usually /dev/ttyUSB1) using GNU/screen use the command below:
* The first partition must contain specific GUID 2E54B353-1271-4842-806F-E436D6AF6985
* The second partition is a typical Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4
The example command for <tt>/dev/sdX</tt>:
<source lang="shell">
<source lang="shell">
$ sgdisk -g --clear \
$ screen /dev/ttyUSB1 115200
        --new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \
        --new=2:264192:    --change-name=2:root      --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
        "/dev/sdX"
</source>
</source>


'''Step 4.''' Write the bbl+Linux kernel to the first partition of microSD:
* connect via vnc using the remote-viewer vnc client from the virt-viewer package:
<source lang="shell">
<source lang="shell">$ remote-viewer vnc://<ip_address>:<Port></source>
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress
</source>


'''Step 5.''' Create filesystem on second partition of microSD. Mount it and untar the archive with rootfs:
== Feedback ==
<source lang="shell">
$ mkfs.ext4 /dev/sdX2
$ mount /dev/sdX2 /mnt
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/
$ umount /dev/sdX2
</source>


Now, microSD is ready to use with HiFive Unleashed.
'''• Bug reports''' are tracked at [https://bugzilla.altlinux.org ALT Linux Team bugzilla] (see also: [[BugTracking]]):
* In the case of any issue with a package choose product ''Sisyphus''.
* In the case of an issue with the images choose product ''Regular'' .


= '''Feedback''' =
'''IMPORTANT''':
'''• Bug reports''' submission form at [https://bugzilla.altlinux.org bugzilla].
* set platform field (drop-down list at the right) to ''riscv64'';
* In the case of any issue with a package please choose ''Sisyphus''.
* assign the issue to <tt>iv@altlinux.org</tt>.
* In the case of an issue with the images please choose ''Regular''.


Set ''riscv64'' as a platform (drop-down list at the right). In the field "''Assign to''" set <tt>arei@altlinux.org</tt>.
'''• Mailing list:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]
<br>
'''• IRC''' channel [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] at [https://freenode.net/ freenode].
<br>
'''• Mailing list:''' riscv-devel@lists.altlinux.org


{{Category navigation|title=Regular|category=Regular|sortkey=*}}
[[Category:Sisyphus]]
[[Category:Sisyphus]]
[[Category:Regular]]
[[Category:RISC-V]]
[[ru:Regular/riscv64]]

Latest revision as of 13:09, 29 June 2022

Русский

Regular image builds are intended for testing and development of the RISC-V (rv64gc) port of Sisyphus repository.

Additional information:

The images are intended to be run in qemu without modification and written according to the instructions to removable storage devices for sequent loading on target boards. Аfter booting from one of the images below, use the following credentials to login:

 login: root
 password: altlinux

For images with graphics the user will be asked to complete the initial setup in a graphical setup wizard at the first boot. During configuration, you can set the timezone, root password, password for connecting to VNC (if launched via VNC), create a new user, etc. On boards without a graphics adapter the graphical setup wizard must be run via VNC.

Direct download links[1]

QEMU

The img.xz images must be unpacked and run according to the instructions: Ports/riscv64/QEMU.

HiFive Unmatched and Unleashed

Images write in instructions are available on the board pages: HiFive Unmatched and HiFive Unleashed.

VNC

Connecting via VNC (not the vnc provided by the qemu emulator) requires :

  • enable vnc mode in alterator-setup by uncommenting or adding a line to /etc/alterator-setup/config:
ALTERATOR_SETUP_VNC=1

or add a --vnc=1 argument for alt-rootfs-installer when it writes to a removable storage device.

  • connect via a serial port and wait for information about the address and VNC connection password:
localhost login: ALTERATOR SETUP === VNC access enabled
ALTERATOR SETUP === VNC Password="cobra-angel"
ALTERATOR SETUP === Default network device: "eth0"
ALTERATOR SETUP === IPv4: "10.0.2.15/24"
ALTERATOR SETUP === IPv6: "fec0::bee1:6f2d:ce4a:9c1d/64
fe80::6a0:ddd0:df03:e44d/64"
PORT=5900

To connect to a serial console (usually /dev/ttyUSB1) using GNU/screen use the command below:

$ screen /dev/ttyUSB1 115200
  • connect via vnc using the remote-viewer vnc client from the virt-viewer package:
$ remote-viewer vnc://<ip_address>:<Port>

Feedback

• Bug reports are tracked at ALT Linux Team bugzilla (see also: BugTracking):

  • In the case of any issue with a package choose product Sisyphus.
  • In the case of an issue with the images choose product Regular .

IMPORTANT:

  • set platform field (drop-down list at the right) to riscv64;
  • assign the issue to iv@altlinux.org.

• Mailing list: riscv-devel@lists.altlinux.org

  1. These are links to builds marked as tested. There are a few more snapshots
  2. Without GUI