https://www.altlinux.org/api.php?action=feedcontributions&user=Arei&feedformat=atomALT Linux Wiki - Вклад [ru]2024-03-28T10:31:48ZВкладMediaWiki 1.38.2https://www.altlinux.org/index.php?title=Simply_Linux_9&diff=54412Simply Linux 92021-05-27T22:55:24Z<p>Arei: Add riscv64 to the images overview</p>
<hr />
<div> {| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|[[Файл:Download.png|link=http://getalt.org/ru/simply/]]<br />
|-<br />
|'''[https://mirror.yandex.ru/altlinux/p9/images/simply/x86_64/slinux-9.1-x86_64.iso x86_64]''' <small>(~5&nbsp;Гб)</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/i586/slinux-9.1-i586.iso i586] <small>(~4.5&nbsp;Гб)</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-9.1-aarch64.tar.xz RPi 3] <small>[[write/rootfs|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-rpi4-9.1-aarch64.img.xz RPi 4] <small>[[write/rootfs|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-tegra-9.1-aarch64.tar.xz Jetson Nano] <small>[[write/rootfs|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/armh/slinux-mcom02-9.1-armh.img.xz MCom-02 (Салют-ЭЛ24ПМ2)] <small>[[write/rootfs#Запись_образа_img_на_SD-карту|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/riscv/slinux-hifive-unleashed-9.1-riscv64.img.xz HiFive Unleashed] <small>[[write/rootfs#Запись_образа_img_на_SD-карту|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/riscv/slinux-qemu-9.1-riscv64.qcow2c QEMU riscv64] <small>[[Ports/riscv64#QEMU_virt|инструкция]]</small><br />
|-<br />
|'''[https://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/ ftp.altlinux.org]'''<br />
|-<br />
|[https://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/license.ru.html лицензия]<br />
|-<br />
|}<br />
= Simply Linux =<br />
<br />
'''Simply Linux''' — дистрибутив, разработанный [https://www.basealt.ru ООО «Базальт СПО»] на [[Девятая_платформа_(анонс)|Девятой платформе]].<br />
<br />
== Сроки поддержки ==<br />
<div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;">В части обновлений по безопасности (если иное не предусмотрено условиями поставки):<br />
* '''31 декабря 2023 года''' для дистрибутива Simply Linux 9.0, но не ранее полугода с момента выпуска новой версии (10.0).</div><br />
<br />
== Возможности ==<br />
<br />
Simply Linux (Симпли Линукс) — это простая в установке и удобная в работе операционная система, дающая возможность пользователю решать все повседневные задачи, не опасаясь вирусов и не затрачивая время на поиск необходимых программ в сети Интернет и на полках магазинов. Simply Linux — это операционная система для каждого. Она легка в использовании, нетребовательна к ресурсам компьютера, функциональна и надёжна.<br />
<br />
Проект Simply Linux — адаптированная для пользователя операционная система Linux. Идея проекта Simply Linux — заинтересовать пользователя свободным программным обеспечением, показав комфорт и удобство в работе с ним.<br />
<br />
В комплект Simply Linux включено более тридцати полностью русифицированных программ, ориентированных на решение большинства потребностей пользователя. К комплекту приложен широкий спектр драйверов устройств, что значительно упрощает работу с дополнительным оборудованием.<br />
<br />
С правами по использованию дистрибутива можно ознакомиться в [http://ftp.altlinux.org/pub/distributions/ALTLinux/images/p9/simply/license.ru.html лицензионном договоре].<br />
<br />
= Версии программного обеспечения на день релиза =<br />
==9.0==<br />
* рабочая среда Xfce 4.14<br />
* ядро Linux 5.4 (4.9 для [[эльбрус|e2k*]] и Nvidia Jetson Nano, 5.6 для Raspberry Pi 4)<br />
* офисный пакет LibreOffice-still 6.3.5.2 (5.4.3.2 для e2k*)<br />
* веб-браузер Chromium 80 (Firefox ESR 68.6.0 для aarch64, Firefox ESR 52.9 для e2k*)<br />
* среда запуска приложений на Win32 API — WINE 5.0 (только для x86)<br />
* редактор растровой графики GIMP 2.10.12<br />
* редактор векторной графики Inkscape 0.92.4<br />
* Systemd 243.7 (234 для e2k*)<br />
* Xorg 1.20.5 (1.19.6 для e2k*)<br />
* NetworkManager 1.18.4 (1.10.14 для e2k*)<br />
* Thunderbird 68.6.0 (52.9 для e2k*)<br />
* Audacious 3.10.1<br />
* Pidgin 2.13.0<br />
* VLC 3.0.8 (celluloid 0.18 для aarch64 и mipsel)<br />
<br />
==9.1==<br />
* рабочая среда Xfce 4.14 со всеми обновлениями<br />
* ядро Linux 5.10 (4.9 для Nvidia Jetson Nano, 4.4 для MCom-02 (Салют-ЭЛ24ПМ2))<br />
* офисный пакет LibreOffice-still 7.0.5.2<br />
* веб-браузер Chromium 89 для x86, Firefox ESR 78.10.0 для остальных архитектур<br />
* среда запуска приложений на Win32 API — WINE 5.20 (только для x86)<br />
* редактор растровой графики GIMP 2.10.18<br />
* редактор векторной графики Inkscape 1.0.1<br />
* Systemd 246.13<br />
* Xorg 1.20.8<br />
* NetworkManager 1.18.10<br />
* Thunderbird 78.8.0<br />
* Audacious 3.10.1<br />
* Pidgin 2.13.0<br />
* VLC 3.0.11.1 (celluloid 0.18 для aarch64 и mipsel)<br />
<br />
=Поддерживаемые аппаратные платформы=<br />
Simply Linux 9 выпускается для следующих аппаратных платформ:<br />
* [https://ru.wikipedia.org/wiki/X86 x86] — 32-разрядные процессоры Intel и AMD;<br />
* [https://ru.wikipedia.org/wiki/X86-64 x86_64] — 64-разрядные процессоры Intel и AMD;<br />
* [https://ru.wikipedia.org/wiki/ARM_(%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0)#ARMv8_%D0%B8_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4_ARM_64_%D0%B1%D0%B8%D1%82 aarch64] — 64-разрядные ARMv8-совместимые процессоры;<br />
* [https://en.wikipedia.org/wiki/ARM_architecture armv7a] - 32-разрядные процессоры ARMv7a;<br />
* [https://ru.wikipedia.org/wiki/MIPS_(архитектура) mipsel] — 32-разрядные процессоры MIPS (Little Endian);<br />
* [https://ru.wikipedia.org/wiki/RISC-V riscv64] — 64-разрядные процессоры RISC-V .<br />
<br />
= Скачать образы =<br />
Варианты образов:<br />
* образ с возможностью загрузки в режимах: установка, Live, восстановление системы;<br />
* образ с Live системой (с возможностью установки из live-режима).<br />
<br />
Доступна загрузка через официальный [https://torrent.altlinux.org/ торрент-трекер].<br />
<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/x86_64/slinux-9.1-x86_64.iso <br />
|name=slinux-9.1 (x86_64)<br />
|size=5,2 <br />
|md5sum=5f3e63d617b2ebb8feecfe750b5f1302<br />
|filelist=https://mirror.yandex.ru/altlinux/p9/images/simply/x86_64/slinux-9.1-x86_64.iso.txt<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/x86_64/slinux-live-9.1-x86_64.iso <br />
|name=slinux-live-9.1 (x86_64)<br />
|size=1,7 <br />
|md5sum=7c83ede69d8799b5942155f21940c8b3<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/i586/slinux-9.1-i586.iso<br />
|name=slinux-9.1 (i586)<br />
|size=4,5 <br />
|md5sum=75a893b9ed80caf4ce67d6e5d8f5f37d<br />
|filelist=https://mirror.yandex.ru/altlinux/p9/images/simply/i586/slinux-9.1-i586.iso.txt<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/i586/slinux-live-9.1-i586.iso<br />
|name=slinux-live-9.1 (i586)<br />
|size=1,7 <br />
|md5sum=0f5e4b3ae8450174f9f5f720d7ab2456<br />
}}<br />
<br />
Образы для aarch64 также поддерживают платы Baikal-M.<br />
<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-9.1-aarch64.iso<br />
|name=slinux-9.1 (aarch64)<br />
|size=3,5<br />
|md5sum=d001e1877a014aef17f7838186eab28c<br />
|filelist=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/workstation/aarch64/slinux-9.1-aarch64.iso.txt<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-live-9.1-aarch64.iso<br />
|name=slinux-live-9.1 (aarch64)<br />
|size=1,6<br />
|md5sum=e0eec965747a54bce70a225883373e3d<br />
}}<br />
Все образы являются гибридными, то есть пригодны для записи как на DVD-диски, так и на USB-флеш-диски.<br />
<br />
Запись на USB-флеш диски осуществляется утилитой {{cmd|dd}} (на весь диск целиком, а не на раздел, то есть, например, не на /dev/sdb1, а на '''/dev/sdb''') в соответствии с [[Write|инструкцией по записи образов.]]<br />
<br />
{{Attention|UNetbootin и UltraISO вместо простой записи гибридного образа ALT Linux на флеш-накопитель портят загрузку, поэтому использование этих программ для записи образов '''не рекомендуется'''.}}<br />
'''Системные требования'''<br />
{|class="standard"<br />
|-<br />
!Дистрибутив<br />
!Минимальный размер ОЗУ<br />
!Рекомендуемый размер ОЗУ<br />
!Место на жёстком диске<br />
|-<br />
|Simply Linux 9||512 МБ||от 1 ГБ||от 25 ГБ<br />
|-<br />
|Simply Linux live 9||512 МБ||от 1 ГБ||от 10 ГБ<br />
|}<br />
<br />
= Скачать образы файловых систем =<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-9.1-aarch64.tar.xz<br />
|name=slinux-9.1 для Raspberry Pi 3 и других ARMv8<br />
|size=1,1<br />
|md5sum=10e6b08d8c84a492d900d2d434e05b00<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-tegra-9.1-aarch64.tar.xz<br />
|name=slinux-tegra-9.1 для Nvidia Jetson Nano<br />
|size=1,3<br />
|md5sum=1a7676030e6a237375e1e4154cea41ef<br />
}}<br />
Записать образ файловой системы можно по [[write/rootfs|этой инструкции]].<br />
<br />
= Скачать образы SD карты =<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-rpi4-9.1-aarch64.img.xz<br />
|name=slinux-9.1 для Raspberry Pi 4 и Raspberry Pi 3<br />
|size=1,2<br />
|md5sum=4f76933d30b8325ae2676291df4ec577<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/armh/slinux-mcom02-9.1-armh.img.xz<br />
|name=slinux-mcom02 9.1 для MCom-02 (Салют-ЭЛ24ПМ2)<br />
|size=1,0<br />
|md5sum=e49db7ef3aab04530f5c0ef501f2220f<br />
}}<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/riscv/slinux-hifive-unleashed-9.1-riscv64.img.xz<br />
|name=slinux-hifive-unleashed 9.1 для HiFive Unleashed<br />
|size=0,7<br />
|md5sum=5333d6f2648f4018626ce4567b9076e2<br />
}}<br />
Записать образ SD карты можно по [[write/rootfs#Запись_образа_img_на_SD-карту|этой инструкции]].<br />
<br />
= Скачать образ QEMU для RISC-V =<br />
<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/riscv/slinux-qemu-9.1-riscv64.qcow2c<br />
|name=slinux-9.1 для RISC-V<br />
|size=1,1<br />
|md5sum=5ffede5df4d092a7c1f36fdf24e1e656<br />
}}<br />
<br />
= Скачать образы для mipsel =<br />
<br />
{{ISO<br />
|iso=https://mirror.yandex.ru/altlinux/p9/images/simply/mipsel/slinux-bfk3-9.1-mipsel.tar.xz<br />
|name=slinux-9.1 для BFK3<br />
|size=0,9<br />
|md5sum=2bcbc1fd866f7ece41d7a8a48459d1f3<br />
}}<br />
<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/mipsel/slinux-tavolga-9.1-mipsel.recovery.tar<br />
|name=slinux-9.1 для Таволга Терминал<br />
|size=1,5<br />
|md5sum=5e87df6634b2280b136d7479106b37a3<br />
}}<br />
<br />
= Получить образы Simply Linux 9 для Эльбрус =<br />
<br />
Выпуск дистрибутива Simply Linux 9 для [[Эльбрус]] доступен по [http://basealt.ru/about/contacts/ письменному запросу] обладателей оборудования.<br />
<br />
Поддерживаются рабочие станции "[http://www.ineum.ru/arm-elbrus401 Эльбрус 401-РС]" ([[эльбрус/архитектура|e2k]]) и "[http://www.ineum.ru/elbrus_801-pc Эльбрус 801-РС]" ([[эльбрус/архитектура|e2kv4]], в т.ч. в двухместном варианте); доступна экспериментальная поддержка "[http://www.ineum.ru/elbrus_101-pc Эльбрус 101-РС]" (требуются доработки в части 3D-акселератора). Проверена работа на процессорной плате [http://www.fastwel.ru/products/vstraivaemye-sistemy/compactpci/3u/protsessornaya-plata-compactpci-3u-serial-na-baze-protsessora-elbrus-4s-1891vm8ya/ Fastwel CPC514].<br />
<br />
Образы предназначены для записи на DVD или USB Flash при помощи содержащегося в них скрипта {{cmd|write.sh}}; также обратите внимание на [[эльбрус/загрузчик|порядок выбора загрузочного носителя]].<br />
<br />
= Снимки экрана =<br />
<br />
<gallery perrow="5"><br />
Image:sl_9_desktop.png|Рабочий стол<br />
</gallery><br />
<br />
{{Category navigation|title=Девятая платформа|category=Девятая платформа|sortkey={{SUBPAGENAME}}}}<br />
{{Category navigation|title=Дистрибутивы|category=Дистрибутивы|sortkey={{SUBPAGENAME}}}}<br />
<br />
[[Категория:Дистрибутивы]]<br />
[[Категория:Девятая платформа]]<br />
[[Категория:Releases/90]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52084Regular/riscv642021-02-03T12:25:44Z<p>Arei: /* Краткий обзор */ Rewrite a bit</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
[[Regular|Регулярные сборки]] образов предназначены для разработки и тестирования порта на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]]. Дополнительную информацию о порте можно узнать на [[Ports/riscv64|этой странице]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT Sisyphus: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой сжатый tar.xz архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
==== <p style="color:#337569;">Автоматическая установка</p> ====<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-latest-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-latest-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
==== <p style="color:#337569;">Ручная установка</p> ====<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-builder-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-builder-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=52083Ports/riscv642021-02-02T21:59:55Z<p>Arei: /* Рабочий план */ Fix Desktop Environments point</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15, 4.19-rc2, 4.19.6, 5.0.19, 5.1.9<br />
** 5.9.1 [http://git.altlinux.org/people/arei/packages/kernel-image-un-def.git?p=kernel-image-un-def.git;a=shortlog;h=refs/heads/sisyphus_riscv64 git]<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments:<br />
*#* XFCE -- '''ГОТОВО'''<br />
*#* GNOME -- '''В ПРОЦЕССЕ''' <br />
*#* MATE -- '''В ПРОЦЕССЕ'''<br />
*#* Cinnamon -- '''В ПРОЦЕССЕ'''<br />
*#* LXQt -- '''В ПРОЦЕССЕ'''<br />
<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== '''OpenOCD''' ==<br />
<br />
OpenOCD ([http://openocd.org/documentation/ docs]) это инструмент для отладки, внутрисхемного программирования и периферийного сканирования встраиваемых систем. В частности, этот инструмент полезен для<br />
низкоуровневой отладки загрузчиков, ядра Linux, и т.д., при помощи ([https://www.gnu.org/software/gdb/ GDB]).<br />
<br />
Чтобы выполнить отладку HiFive Unleashed через OpenOCD и GDB, необходимо выполнить следующие шаги:<br />
<br />
# Подключить HiFive Unleashed к ПК через USB и включить её. USB интерфейс предоставляет UART0 (/dev/ttyUSB1) и JTAG интерфейсы через FTDI FT2232H ([https://www.ftdichip.com/Products/ICs/FT2232H.html ссылка]).<br />
# Запустить (см. простейший конфигурационный файл ниже, а так же не забыть добавить пользователя в группу plugdev): <source lang=shell>$ openocd -s <путь к директории с hifive-u.cfg> -f hifive-u.cfg</source>OpenOCD будет слушать порт 3333 в ожидании подключения GDB.<br />
# Запустить GDB собранный с поддержкой цели (target) riscv64.<br />
# Подключить GDB к OpenOCD: <source lang=shell>gdb$ target extended-remote localhost:3333</source><br />
# Теперь можно устанавливать точки останова (breakpoints), исследовать память, дизассемблировать области памяти, и т.д. Для удобства возможно подгружать ELF файлы с отладочной информацией для импорта символов, что даёт возможность устанавливать точки останова на эти символы.<br />
<br />
Пример простейшего конфигурационного файла hifive-u.cfg:<br />
<br />
<source lang="shell><br />
adapter_khz 1000<br />
<br />
interface ftdi<br />
ftdi_device_desc "Dual RS232-HS"<br />
ftdi_vid_pid 0x0403 0x6010<br />
ftdi_layout_init 0x0018 0x001b<br />
ftdi_layout_signal nSRST -oe 0x0020<br />
ftdi_layout_signal LED -data 0x0020<br />
<br />
set _CHIPNAME riscv<br />
jtag newtap $_CHIPNAME cpu -irlen 5<br />
<br />
set _TARGETNAME $_CHIPNAME.cpu<br />
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME -rtos hwthread<br />
target create $_TARGETNAME.1 riscv -chain-position $_CHIPNAME.cpu -coreid 1<br />
target create $_TARGETNAME.2 riscv -chain-position $_CHIPNAME.cpu -coreid 2<br />
target create $_TARGETNAME.3 riscv -chain-position $_CHIPNAME.cpu -coreid 3<br />
target create $_TARGETNAME.4 riscv -chain-position $_CHIPNAME.cpu -coreid 4<br />
target smp $_TARGETNAME.0 $_TARGETNAME.1 $_TARGETNAME.2 $_TARGETNAME.3 $_TARGETNAME.4<br />
$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1<br />
<br />
flash bank spi0 fespi 0x20000000 0 0 0 $_TARGETNAME.0 0x10040000<br />
<br />
init<br />
if {[ info exists pulse_srst]} {<br />
ftdi_set_signal nSRST 0<br />
ftdi_set_signal nSRST z<br />
sleep 1500<br />
}<br />
halt<br />
flash protect 0 64 last off<br />
echo "Ready for Remote Connections"<br />
</source><br />
<br />
== '''OpenSBI''' ==<br />
=== QEMU virt ===<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 1.a''' Прошивка OpenSBI для QEMU virt находится внутри qcow2/qcow2c. Скопируем её из образа:<br />
<br />
<source lang=shell><br />
root$ qemu-nbd -c /dev/nbd0 qemu-riscv64.qcow2c<br />
root$ mount /dev/nbd0p1 /mnt<br />
root$ cp -v /mnt/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf .<br />
user$ FIRM=./fw_payload.elf<br />
</source> <br />
<br />
'''Шаг 1.b''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить]<br />
и установить последнюю версию пакета прошивки OpenSBI для QEMU virt. <br />
После этого прошивка OpenSBI будет находится в /usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
<br />
Например:<br />
<br />
<source lang=shell><br />
user$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
root$ rpm -i opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
user$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
</source><br />
<br />
'''Шаг 2.''' Запуск образа qcow2/qcow2c на QEMU можно осуществить следующей командой, указав в QCOW путь к образу:<br />
<br />
<source lang="shell"><br />
$ QCOW=qemu-riscv64.qcow2c<br />
$ qemu-system-riscv64 \<br />
-nographic -machine virt -kernel "$FIRM" \<br />
-m 2G -smp cpus=4 \<br />
-drive file="$QCOW",id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
'''Шаг 3.''' Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]. При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.<br />
<br />
=== HiFive Unleashed ===<br />
Для запуска образов на SiFive HiFive Unleashed (FU540) SoC необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Предполагается, что microSD карточка находится в /dev/sdb. Выполним разметку microSD и создание файловой системы:<br />
<br />
<source lang="shell"><br />
root$ sgdisk -g --clear \<br />
--new=2::+32K --change-name=2:'fsbl' --typecode=2:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=3::+8M: --change-name=3:'opensbi-uboot' --typecode=3:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=1::-0 --change-name=1:'root' --typecode=1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdb<br />
root$ mkfs.ext4 /dev/sdb1<br />
root$ mount /dev/sdb1 /mnt<br />
root$ tar -xpvf hifive-unleashed-riscv64.tar.xz -C /mnt<br />
</source><br />
<br />
'''Шаг 1.а.''' First Stage BootLoader (FSBL) и OpenSBI находятся внутри распакованного дерева /mnt.<br />
Запишем их на разделы 2 и 3 соответственно, а затем размонтируем раздел:<br />
<br />
<source lang="shell"><br />
root$ dd if=/mnt/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/mnt/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 1.б.''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить] и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.<br />
<br />
Например:<br />
<br />
<source lang="shell"><br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 3.''' Система на microSD каточке готова к загрузке. Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]. При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
* [http://www.osp.ru/os/2020/02/13055471/ RISC-V: стандарт, изменивший мир микропроцессоров ]<br />
* [http://habr.com/ru/post/234047/ Наборы команд должны быть свободны: доводы за RISC-V]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=52082Ports/riscv642021-02-02T21:58:10Z<p>Arei: /* Рабочий план */ Update desktop environments list</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15, 4.19-rc2, 4.19.6, 5.0.19, 5.1.9<br />
** 5.9.1 [http://git.altlinux.org/people/arei/packages/kernel-image-un-def.git?p=kernel-image-un-def.git;a=shortlog;h=refs/heads/sisyphus_riscv64 git]<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
*#* XFCE -- '''ГОТОВО'''<br />
*#* GNOME -- '''В ПРОЦЕССЕ''' <br />
*#* MATE -- '''В ПРОЦЕССЕ'''<br />
*#* Cinnamon -- '''В ПРОЦЕССЕ'''<br />
*#* LXQt -- '''В ПРОЦЕССЕ'''<br />
<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== '''OpenOCD''' ==<br />
<br />
OpenOCD ([http://openocd.org/documentation/ docs]) это инструмент для отладки, внутрисхемного программирования и периферийного сканирования встраиваемых систем. В частности, этот инструмент полезен для<br />
низкоуровневой отладки загрузчиков, ядра Linux, и т.д., при помощи ([https://www.gnu.org/software/gdb/ GDB]).<br />
<br />
Чтобы выполнить отладку HiFive Unleashed через OpenOCD и GDB, необходимо выполнить следующие шаги:<br />
<br />
# Подключить HiFive Unleashed к ПК через USB и включить её. USB интерфейс предоставляет UART0 (/dev/ttyUSB1) и JTAG интерфейсы через FTDI FT2232H ([https://www.ftdichip.com/Products/ICs/FT2232H.html ссылка]).<br />
# Запустить (см. простейший конфигурационный файл ниже, а так же не забыть добавить пользователя в группу plugdev): <source lang=shell>$ openocd -s <путь к директории с hifive-u.cfg> -f hifive-u.cfg</source>OpenOCD будет слушать порт 3333 в ожидании подключения GDB.<br />
# Запустить GDB собранный с поддержкой цели (target) riscv64.<br />
# Подключить GDB к OpenOCD: <source lang=shell>gdb$ target extended-remote localhost:3333</source><br />
# Теперь можно устанавливать точки останова (breakpoints), исследовать память, дизассемблировать области памяти, и т.д. Для удобства возможно подгружать ELF файлы с отладочной информацией для импорта символов, что даёт возможность устанавливать точки останова на эти символы.<br />
<br />
Пример простейшего конфигурационного файла hifive-u.cfg:<br />
<br />
<source lang="shell><br />
adapter_khz 1000<br />
<br />
interface ftdi<br />
ftdi_device_desc "Dual RS232-HS"<br />
ftdi_vid_pid 0x0403 0x6010<br />
ftdi_layout_init 0x0018 0x001b<br />
ftdi_layout_signal nSRST -oe 0x0020<br />
ftdi_layout_signal LED -data 0x0020<br />
<br />
set _CHIPNAME riscv<br />
jtag newtap $_CHIPNAME cpu -irlen 5<br />
<br />
set _TARGETNAME $_CHIPNAME.cpu<br />
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME -rtos hwthread<br />
target create $_TARGETNAME.1 riscv -chain-position $_CHIPNAME.cpu -coreid 1<br />
target create $_TARGETNAME.2 riscv -chain-position $_CHIPNAME.cpu -coreid 2<br />
target create $_TARGETNAME.3 riscv -chain-position $_CHIPNAME.cpu -coreid 3<br />
target create $_TARGETNAME.4 riscv -chain-position $_CHIPNAME.cpu -coreid 4<br />
target smp $_TARGETNAME.0 $_TARGETNAME.1 $_TARGETNAME.2 $_TARGETNAME.3 $_TARGETNAME.4<br />
$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1<br />
<br />
flash bank spi0 fespi 0x20000000 0 0 0 $_TARGETNAME.0 0x10040000<br />
<br />
init<br />
if {[ info exists pulse_srst]} {<br />
ftdi_set_signal nSRST 0<br />
ftdi_set_signal nSRST z<br />
sleep 1500<br />
}<br />
halt<br />
flash protect 0 64 last off<br />
echo "Ready for Remote Connections"<br />
</source><br />
<br />
== '''OpenSBI''' ==<br />
=== QEMU virt ===<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 1.a''' Прошивка OpenSBI для QEMU virt находится внутри qcow2/qcow2c. Скопируем её из образа:<br />
<br />
<source lang=shell><br />
root$ qemu-nbd -c /dev/nbd0 qemu-riscv64.qcow2c<br />
root$ mount /dev/nbd0p1 /mnt<br />
root$ cp -v /mnt/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf .<br />
user$ FIRM=./fw_payload.elf<br />
</source> <br />
<br />
'''Шаг 1.b''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить]<br />
и установить последнюю версию пакета прошивки OpenSBI для QEMU virt. <br />
После этого прошивка OpenSBI будет находится в /usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
<br />
Например:<br />
<br />
<source lang=shell><br />
user$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
root$ rpm -i opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
user$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
</source><br />
<br />
'''Шаг 2.''' Запуск образа qcow2/qcow2c на QEMU можно осуществить следующей командой, указав в QCOW путь к образу:<br />
<br />
<source lang="shell"><br />
$ QCOW=qemu-riscv64.qcow2c<br />
$ qemu-system-riscv64 \<br />
-nographic -machine virt -kernel "$FIRM" \<br />
-m 2G -smp cpus=4 \<br />
-drive file="$QCOW",id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
'''Шаг 3.''' Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]. При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.<br />
<br />
=== HiFive Unleashed ===<br />
Для запуска образов на SiFive HiFive Unleashed (FU540) SoC необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Предполагается, что microSD карточка находится в /dev/sdb. Выполним разметку microSD и создание файловой системы:<br />
<br />
<source lang="shell"><br />
root$ sgdisk -g --clear \<br />
--new=2::+32K --change-name=2:'fsbl' --typecode=2:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=3::+8M: --change-name=3:'opensbi-uboot' --typecode=3:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=1::-0 --change-name=1:'root' --typecode=1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdb<br />
root$ mkfs.ext4 /dev/sdb1<br />
root$ mount /dev/sdb1 /mnt<br />
root$ tar -xpvf hifive-unleashed-riscv64.tar.xz -C /mnt<br />
</source><br />
<br />
'''Шаг 1.а.''' First Stage BootLoader (FSBL) и OpenSBI находятся внутри распакованного дерева /mnt.<br />
Запишем их на разделы 2 и 3 соответственно, а затем размонтируем раздел:<br />
<br />
<source lang="shell"><br />
root$ dd if=/mnt/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/mnt/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 1.б.''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить] и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.<br />
<br />
Например:<br />
<br />
<source lang="shell"><br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 3.''' Система на microSD каточке готова к загрузке. Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]. При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
* [http://www.osp.ru/os/2020/02/13055471/ RISC-V: стандарт, изменивший мир микропроцессоров ]<br />
* [http://habr.com/ru/post/234047/ Наборы команд должны быть свободны: доводы за RISC-V]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=52081Ports/riscv642021-02-02T21:56:10Z<p>Arei: /* Рабочий план */ Update kernel info</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15, 4.19-rc2, 4.19.6, 5.0.19, 5.1.9<br />
** 5.9.1 [http://git.altlinux.org/people/arei/packages/kernel-image-un-def.git?p=kernel-image-un-def.git;a=shortlog;h=refs/heads/sisyphus_riscv64 git]<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== '''OpenOCD''' ==<br />
<br />
OpenOCD ([http://openocd.org/documentation/ docs]) это инструмент для отладки, внутрисхемного программирования и периферийного сканирования встраиваемых систем. В частности, этот инструмент полезен для<br />
низкоуровневой отладки загрузчиков, ядра Linux, и т.д., при помощи ([https://www.gnu.org/software/gdb/ GDB]).<br />
<br />
Чтобы выполнить отладку HiFive Unleashed через OpenOCD и GDB, необходимо выполнить следующие шаги:<br />
<br />
# Подключить HiFive Unleashed к ПК через USB и включить её. USB интерфейс предоставляет UART0 (/dev/ttyUSB1) и JTAG интерфейсы через FTDI FT2232H ([https://www.ftdichip.com/Products/ICs/FT2232H.html ссылка]).<br />
# Запустить (см. простейший конфигурационный файл ниже, а так же не забыть добавить пользователя в группу plugdev): <source lang=shell>$ openocd -s <путь к директории с hifive-u.cfg> -f hifive-u.cfg</source>OpenOCD будет слушать порт 3333 в ожидании подключения GDB.<br />
# Запустить GDB собранный с поддержкой цели (target) riscv64.<br />
# Подключить GDB к OpenOCD: <source lang=shell>gdb$ target extended-remote localhost:3333</source><br />
# Теперь можно устанавливать точки останова (breakpoints), исследовать память, дизассемблировать области памяти, и т.д. Для удобства возможно подгружать ELF файлы с отладочной информацией для импорта символов, что даёт возможность устанавливать точки останова на эти символы.<br />
<br />
Пример простейшего конфигурационного файла hifive-u.cfg:<br />
<br />
<source lang="shell><br />
adapter_khz 1000<br />
<br />
interface ftdi<br />
ftdi_device_desc "Dual RS232-HS"<br />
ftdi_vid_pid 0x0403 0x6010<br />
ftdi_layout_init 0x0018 0x001b<br />
ftdi_layout_signal nSRST -oe 0x0020<br />
ftdi_layout_signal LED -data 0x0020<br />
<br />
set _CHIPNAME riscv<br />
jtag newtap $_CHIPNAME cpu -irlen 5<br />
<br />
set _TARGETNAME $_CHIPNAME.cpu<br />
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME -rtos hwthread<br />
target create $_TARGETNAME.1 riscv -chain-position $_CHIPNAME.cpu -coreid 1<br />
target create $_TARGETNAME.2 riscv -chain-position $_CHIPNAME.cpu -coreid 2<br />
target create $_TARGETNAME.3 riscv -chain-position $_CHIPNAME.cpu -coreid 3<br />
target create $_TARGETNAME.4 riscv -chain-position $_CHIPNAME.cpu -coreid 4<br />
target smp $_TARGETNAME.0 $_TARGETNAME.1 $_TARGETNAME.2 $_TARGETNAME.3 $_TARGETNAME.4<br />
$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1<br />
<br />
flash bank spi0 fespi 0x20000000 0 0 0 $_TARGETNAME.0 0x10040000<br />
<br />
init<br />
if {[ info exists pulse_srst]} {<br />
ftdi_set_signal nSRST 0<br />
ftdi_set_signal nSRST z<br />
sleep 1500<br />
}<br />
halt<br />
flash protect 0 64 last off<br />
echo "Ready for Remote Connections"<br />
</source><br />
<br />
== '''OpenSBI''' ==<br />
=== QEMU virt ===<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 1.a''' Прошивка OpenSBI для QEMU virt находится внутри qcow2/qcow2c. Скопируем её из образа:<br />
<br />
<source lang=shell><br />
root$ qemu-nbd -c /dev/nbd0 qemu-riscv64.qcow2c<br />
root$ mount /dev/nbd0p1 /mnt<br />
root$ cp -v /mnt/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf .<br />
user$ FIRM=./fw_payload.elf<br />
</source> <br />
<br />
'''Шаг 1.b''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить]<br />
и установить последнюю версию пакета прошивки OpenSBI для QEMU virt. <br />
После этого прошивка OpenSBI будет находится в /usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
<br />
Например:<br />
<br />
<source lang=shell><br />
user$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
root$ rpm -i opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
user$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
</source><br />
<br />
'''Шаг 2.''' Запуск образа qcow2/qcow2c на QEMU можно осуществить следующей командой, указав в QCOW путь к образу:<br />
<br />
<source lang="shell"><br />
$ QCOW=qemu-riscv64.qcow2c<br />
$ qemu-system-riscv64 \<br />
-nographic -machine virt -kernel "$FIRM" \<br />
-m 2G -smp cpus=4 \<br />
-drive file="$QCOW",id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
'''Шаг 3.''' Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]. При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.<br />
<br />
=== HiFive Unleashed ===<br />
Для запуска образов на SiFive HiFive Unleashed (FU540) SoC необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Предполагается, что microSD карточка находится в /dev/sdb. Выполним разметку microSD и создание файловой системы:<br />
<br />
<source lang="shell"><br />
root$ sgdisk -g --clear \<br />
--new=2::+32K --change-name=2:'fsbl' --typecode=2:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=3::+8M: --change-name=3:'opensbi-uboot' --typecode=3:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=1::-0 --change-name=1:'root' --typecode=1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdb<br />
root$ mkfs.ext4 /dev/sdb1<br />
root$ mount /dev/sdb1 /mnt<br />
root$ tar -xpvf hifive-unleashed-riscv64.tar.xz -C /mnt<br />
</source><br />
<br />
'''Шаг 1.а.''' First Stage BootLoader (FSBL) и OpenSBI находятся внутри распакованного дерева /mnt.<br />
Запишем их на разделы 2 и 3 соответственно, а затем размонтируем раздел:<br />
<br />
<source lang="shell"><br />
root$ dd if=/mnt/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/mnt/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 1.б.''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить] и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.<br />
<br />
Например:<br />
<br />
<source lang="shell"><br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 3.''' Система на microSD каточке готова к загрузке. Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]. При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
* [http://www.osp.ru/os/2020/02/13055471/ RISC-V: стандарт, изменивший мир микропроцессоров ]<br />
* [http://habr.com/ru/post/234047/ Наборы команд должны быть свободны: доводы за RISC-V]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52067Regular/riscv642021-01-29T09:22:57Z<p>Arei: /* Краткий обзор */ Do not specify gcc version</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT Sisyphus: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой сжатый tar.xz архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
==== <p style="color:#337569;">Автоматическая установка</p> ====<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-latest-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-latest-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
==== <p style="color:#337569;">Ручная установка</p> ====<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-builder-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-builder-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52066Regular/riscv642021-01-29T09:17:07Z<p>Arei: /* Ручная установка */ Fix path to the OpenSBI + U-Boot image</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT Sisyphus: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой сжатый tar.xz архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
==== <p style="color:#337569;">Автоматическая установка</p> ====<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-latest-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-latest-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
==== <p style="color:#337569;">Ручная установка</p> ====<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-builder-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-builder-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52065Regular/riscv642021-01-29T09:15:23Z<p>Arei: /* Запуск на QEMU */ x86_64 is superfluous :)</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT Sisyphus: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой сжатый tar.xz архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
==== <p style="color:#337569;">Автоматическая установка</p> ====<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-latest-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-latest-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
==== <p style="color:#337569;">Ручная установка</p> ====<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-builder-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/fu540_boot/fsbl.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-builder-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52064Regular/riscv642021-01-29T08:30:54Z<p>Arei: /* Запуск на HiFive Unleashed */ Unify image example name</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT x86_64</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT x86_64''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой сжатый tar.xz архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
==== <p style="color:#337569;">Автоматическая установка</p> ====<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-latest-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-latest-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
==== <p style="color:#337569;">Ручная установка</p> ====<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-builder-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/fu540_boot/fsbl.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-builder-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52054Regular/riscv642021-01-28T16:17:12Z<p>Arei: /* Запуск на HiFive Unleashed */ Make captions smaller and color</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT x86_64</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT x86_64''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
==== <p style="color:#337569;">Автоматическая установка</p> ====<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-alpha20190329-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
==== <p style="color:#337569;">Ручная установка</p> ====<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-jeos-systemd-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/fu540_boot/fsbl.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-jeos-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52053Regular/riscv642021-01-28T16:11:34Z<p>Arei: /* Ручная установка */ Replace <tt> to <code>. Move to OpenSBI from BBL.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT x86_64</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT x86_64''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-alpha20190329-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте 2 файла из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xJf regular-jeos-systemd-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/fu540_boot/fsbl.bin<br />
</source><br />
Полученные файлы <code>./usr/share/fu540_boot/fsbl.bin</code> и <code>./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin</code> являются, соответственно, [https://github.com/sifive/freedom-u540-c000-bootloader FSBL] и [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot].<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с тремя разделами на вашей microSD карте:<br />
<ul><br />
<li>Раздел с FSBL должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 5B193300-FC78-40CD-8002-E86C45580B47</li><br />
<li>Раздел с OpenSBI должен иметь [https://github.com/sifive/freedom-u540-c000-bootloader/blob/master/gpt/gpt.c специальный GUID] 2E54B353-1271-4842-806F-E436D6AF6985</li><br />
<li>Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4</li><br />
</ul><br />
Пример команды для разметки <code>/dev/sdX</code>:<br />
<source lang="shell"><br />
$ sgdisk \<br />
--new=1:2048:4095 --change-name=1:fsbl \<br />
--typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=2:4096:32767 --change-name=2:opensbi-uboot \<br />
--typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=3:32768: --change-name=3:rootfs \<br />
--typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdX<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):<br />
<source lang="shell"><br />
$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX2 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Создайте файловую систему на третьем разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX3<br />
$ mount /dev/sdX3 /mnt<br />
$ tar -xpJvf regular-jeos-latest-riscv64.tar.xz -C /mnt/<br />
$ sync; umount /dev/sdX3<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52052Regular/riscv642021-01-28T14:42:07Z<p>Arei: /* Автоматическая установка */ Replace <tt> to <code>. Move to OpenSBI from BBL.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT x86_64</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT x86_64''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <code>alt-rootfs-installer</code>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <code>/dev/sdX</code> образа <code>regular-builder-alpha20190329-riscv64.tar.xz</code>, с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске <code>/dev/sdX</code> будет создано три раздела: <br />
<ol><br />
<li>[https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]</li><br />
<li>[https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]</li><br />
<li>rootfs</li><br />
</ol><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar.xz ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52023Regular/riscv642021-01-27T23:18:16Z<p>Arei: /* Запуск на HiFive Unleashed */ Исправить ссылку на автоматическую установку</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT x86_64</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT x86_64''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar.xz</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar.xz ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=52022Regular/riscv642021-01-27T23:14:36Z<p>Arei: /* Запуск на QEMU */ Обновить инструкцию для новой версии OpenSBI</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' <br />
<br />
==== <p style="color:#337569;">ALT x86_64</p> ====<br />
Далее необходимо установить или распаковать пакет с [https://github.com/riscv/opensbi OpenSBI] и [https://www.denx.de/wiki/U-Boot/ U-Boot]. Для этого, в случае '''хостовой системы ALT x86_64''' (если это не так, [[#Другая система|см. ниже]]) можно добавить noarch репозиторий riscv64 и установить пакет <code>opensbi-firmware-generic</code>:<br />
<br />
<source lang="shell"><br />
$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'<br />
$ apt-get update<br />
$ apt-get install opensbi-firmware-generic<br />
</source><br />
<br />
После этого в вашей системе появится нужный файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code>.<br />
<br />
==== <p style="color:#337569;">Другая система<p> ====<br />
<br />
В этом случае можно скачать пакет <code>opensbi-firmware-generic-.*</code> из репозитория [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ sisyphus-riscv64 noarch]. После этого, можно установить этот пакет в систему используя <code>rpm -i</code> или распаковать его <code>rpm2cpio</code>.<br />
<br />
Кроме этого, можно достать файл прошивки <code>/usr/share/opensbi/generic/firmware/fw_payload.elf</code> из загруженного образа qcow2c с помощью <code>qemu-nbd</code>.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <code><IMAGE></code> на путь к образу qcow2c, а <code><FIRMWARE></code> на путь к <code>fw_payload.elf</code>:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-bios <FIRMWARE> \<br />
-m 2G -smp cpus=4 \<br />
-drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar.xz</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar.xz ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Simply_Linux_9&diff=48155Simply Linux 92020-04-07T07:48:29Z<p>Arei: Add riscv64</p>
<hr />
<div>{{Stub}}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|[[Файл:Download.png|link=http://getalt.org/ru/simply/]]<br />
|-<br />
|'''[https://mirror.yandex.ru/altlinux/p9/images/simply/x86_64/slinux-8.991_rc2-x86_64.iso x86_64]''' <small>(~5&nbsp;Гб)</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/i586/slinux-8.991_rc2-i586.iso i586] <small>(~4&nbsp;Гб)</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-8.991_rc2-aarch64.tar.xz RPi 3] <small>[[write/rootfs|инструкция]]</small><br />
|-<br />
|[http://ftp.altlinux.org/pub/people/jqt4/images/rpi4/slinux-rpi4-9.0-rc1-aarch64.img.xz RPi 4] <small>[[write/rootfs|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-tegra-8.991_rc2-aarch64.tar.xz Jetson Nano] <small>[[write/rootfs|инструкция]]</small><br />
|-<br />
|[https://mirror.yandex.ru/altlinux/p9/images/simply/mipsel/tavolga-slinux-8.920_beta2-mipsel.recovery.tar Таволга] <small>[[write/recovery.tar|инструкция]]</small><br />
|-<br />
|[[эльбрус/дистрибутивы|e2k, e2kv4]] <small>(по запросу)</small><br />
|-<br />
|[http://ftp.altlinux.org/pub/people/arei/images/slinux/slinux-qemu-9.0-preview-riscv64.qcow2c QEMU riscv64] <small>[[Ports/riscv64#QEMU_virt|инструкция]]</small><br />
|-<br />
|[http://ftp.altlinux.org/pub/people/arei/images/slinux/slinux-hifive-unleashed-9.0-preview-riscv64.tar.xz HiFive Unleashed] <small>[[Ports/riscv64#HiFive_Unleashed|инструкция]]</small><br />
|-<br />
|'''[https://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/ ftp.altlinux.org]'''<br />
|-<br />
|[https://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/license.ru.html лицензия]<br />
|-<br />
|}<br />
= Simply Linux =<br />
<br />
'''Simply Linux''' — дистрибутив, разработанный [https://www.basealt.ru ООО «Базальт СПО»] на [[Девятая_платформа_(анонс)|Девятой платформе]].<br />
<br />
{{Attention|Доступен релиз-кандидат дистрибутива, официального выпуска не было.}}<br />
<br />
== Сроки поддержки ==<br />
<div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;">В части обновлений по безопасности (если иное не предусмотрено условиями поставки):<br />
* '''31 декабря 2023 года''' для дистрибутива Simply Linux 9.0, но не ранее полугода с момента выпуска новой версии (10.0).</div><br />
<br />
== Возможности ==<br />
<br />
Simply Linux (Симпли Линукс) — это простая в установке и удобная в работе операционная система, дающая возможность пользователю решать все повседневные задачи, не опасаясь вирусов и не затрачивая время на поиск необходимых программ в сети Интернет и на полках магазинов. Simply Linux — это операционная система для каждого из вас. Она легка в использовании, не требовательна к ресурсам вашего компьютера, функциональна и надёжна.<br />
<br />
Проект Simply Linux — адаптированная для пользователя операционная система Linux. Идея проекта Simply Linux — заинтересовать пользователя свободным программным обеспечением, показав комфорт и удобство в работе с ним.<br />
<br />
В комплект Simply Linux включено более 30 полностью русифицированных программ, ориентированных на решение большинства потребностей пользователя. К комплекту приложен широкий спектр драйверов устройств, что значительно упрощает работу с дополнительным оборудованием.<br />
<br />
С правами по использованию дистрибутива можно ознакомиться в [http://ftp.altlinux.org/pub/distributions/ALTLinux/images/p9/simply/license.ru.html лицензионном договоре].<br />
<br />
== Версии программного обеспечения на день релиза ==<br />
<br />
* рабочая среда Xfce 4.14<br />
* ядро Linux 5.4 (4.9 для Nvidia Jetson Nano, 5.6 для Raspberry Pi 4)<br />
* офисный пакет LibreOffice-still 6.3.5.2<br />
* веб-браузер Chromium 80 (Firefox ESR 68.6.0 для aarch64)<br />
* среда запуска приложений на Win32 API — WINE 5.0 (только для x86)<br />
* редактор растровой графики GIMP 2.10.12<br />
* редактор векторной графики Inkscape 0.92.4<br />
* Systemd 243.7<br />
* Xorg 1.20.5<br />
* NetworkManager 1.18.4<br />
* Thunderbird 68.6.0<br />
* Audacious 3.10.1<br />
* Pidgin 2.13.0<br />
* VLC 3.0.8 (celluloid 0.18 для aarch64 и mipsel)<br />
<br />
=Поддерживаемые аппаратные платформы=<br />
Simply Linux 9 выпускается для следующих аппаратных платформ:<br />
* [https://ru.wikipedia.org/wiki/X86 x86] — 32-разрядные процессоры Intel и AMD;<br />
* [https://ru.wikipedia.org/wiki/X86-64 x86_64] — 64-разрядные процессоры Intel и AMD;<br />
* [https://ru.wikipedia.org/wiki/ARM_(%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0)#ARMv8_%D0%B8_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4_ARM_64_%D0%B1%D0%B8%D1%82 aarch64] — 64-разрядные ARMv8-совместимые процессоры;<br />
* [https://ru.wikipedia.org/wiki/MIPS_(архитектура) mipsel] — 32-разрядные процессоры MIPS (Little Endian);<br />
* [https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_2000 e2k*] — 64-разрядные процессоры Эльбрус<ref> [[эльбрус/архитектура|третьего (Эльбрус-4С) и четвёртого (Эльбрус-8С/1С+) поколения]]</ref>; о доступности версии [[#Получить образы Simply Linux 9 для Эльбрус|см. далее]];<br />
* [https://ru.wikipedia.org/wiki/RISC-V riscv64] — 64-разрядные процессоры RISC-V (rv64gc).<br />
<br />
= Скачать образы =<br />
Варианты образов:<br />
* образ с возможностью загрузки в режимах: установка, Live, восстановление системы;<br />
* образ с Live системой (с возможностью установки из live-режима).<br />
<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/x86_64/slinux-8.991_rc2-x86_64.iso <br />
|name=slinux-8.991_rc2 (x86_64)<br />
|size=4,7 <br />
|md5sum=2b8b0a141a0952e3626bc0a47797ad3d<br />
|filelist=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/x86_64/slinux-8.990_rc1-x86_64.iso.txt<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/x86_64/slinux-live-8.991_rc2-x86_64.iso <br />
|name=slinux-live-8.991_rc2 (x86_64)<br />
|size=1,7 <br />
|md5sum=1b8ab0d07c1fb5fe3ccdb5e1c509fecc<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/i586/slinux-8.991_rc2-i586.iso<br />
|name=slinux-8.991_rc2 (i586)<br />
|size=3,8 <br />
|md5sum=706592314fb7b559030024ba7d203cf7<br />
|filelist=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/i586/slinux-8.991_rc2-i586.iso.txt<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/i586/slinux-live-8.991_rc2-i586.iso<br />
|name=slinux-live-8.991_rc2 (i586)<br />
|size=1,5 <br />
|md5sum=27c1f6e38efca3795735c429f48dd236<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/aarch64/slinux-8.991_rc2-aarch64.iso<br />
|name=slinux-8.991_rc2 (aarch64)<br />
|size=3,1<br />
|md5sum=4f9f5bf9d5b1ce9631f6f7be26fc6f38<br />
|filelist=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/workstation/aarch64/slinux-8.991_rc2-aarch64.iso.txt<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/images/simply/aarch64/slinux-live-8.991_rc2-aarch64.iso<br />
|name=slinux-live-8.991_rc2 (aarch64)<br />
|size=1,4<br />
|md5sum=c43aef05e4e1334d8908c346c17e4c3e<br />
}}<br />
Все образы являются гибридными, то есть пригодны для записи как на DVD-диски, так и на USB-флеш-диски.<br />
<br />
Запись на USB-флеш диски осуществляется утилитой {{cmd|dd}} (на весь диск целиком, а не на раздел, то есть, например, не на /dev/sdb1, а на '''/dev/sdb''') в соответствии с [[Write|инструкцией по записи образов.]]<br />
<br />
{{Attention|UNetbootin и UltraISO вместо простой записи гибридного образа ALT Linux на флеш-накопитель портят загрузку, поэтому использование этих программ для записи образов '''не рекомендуется'''.}}<br />
'''Системные требования'''<br />
{|class="standard"<br />
|-<br />
!Дистрибутив<br />
!Минимальный размер ОЗУ<br />
!Рекомендуемый размер ОЗУ<br />
!Место на жёстком диске<br />
|-<br />
|Simply Linux 9||512 МБ||от 1 ГБ||от 25 ГБ<br />
|-<br />
|Simply Linux live 9||512 МБ||от 1 ГБ||от 10 ГБ<br />
|}<br />
<br />
= Скачать образы файловых систем =<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/distributions/ALTLinux/p9/images/simply/aarch64/slinux-8.991_rc2-aarch64.tar.xz<br />
|name=slinux-8.991_rc2 для Raspberry Pi 3 и других ARMv8<br />
|size=1,0<br />
|md5sum=4f9f5bf9d5b1ce9631f6f7be26fc6f38<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/people/jqt4/images/rpi4/slinux-rpi4-9.0-rc1-aarch64.img.xz<br />
|name=slinux-9.0_rc1 для Raspberry Pi 4<br />
|size=1,1<br />
|md5sum=64c8d90bcbb3511ecc9727b14fd0354a<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/distributions/ALTLinux/p9/images/simply/aarch64/slinux-tegra-8.991_rc2-aarch64.tar.xz<br />
|name=slinux-tegra-8.991_rc2 для Nvidia Jetson Nano<br />
|size=1,2<br />
|md5sum=adce8bf4e1056ae0ead052170714659c<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/distributions/ALTLinux/p9/images/simply/aarch64/simply-rpi4-8.990-beta3-aarch64.img.xz<br />
|name=simply-rpi4-8.990-beta3 для Raspberry Pi 4<br />
|size=1,1<br />
|md5sum=ca2cac3b1ebe0d05ca5f43e912ca6fa8<br />
}}<br />
<br />
Записать образ файловой системы можно по [[write/rootfs|этой инструкции]].<br />
<br />
= Скачать образы для mipsel =<br />
<br />
В этом разделе представлены сборки для систем с процессором [http://www.baikalelectronics.ru/products/35/ BE-T1000], ранее известном как Байкал-Т1.<br />
<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/distributions/ALTLinux/p9/images/simply/mipsel/tavolga-slinux-8.920_beta2-mipsel.recovery.tar<br />
|name=tavolga-slinux-8.920_beta2 для «Таволга Терминал» 2BT1<br />
|size=1,4<br />
|md5sum=3495da878268581bb5eab2dc498be016<br />
}}<br />
Записать образ файловой системы в формате recovery.tar можно по [[Ports/mipsel/Прошивка_образа_в_формате_recovery.tar_на_Таволга_Терминал|этой инструкции]].<br />
<br />
<br />
== Предварительные сборки ==<br />
<br />
Предварительные сборки для систем на Байкал-Т1:<br />
<!--<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/people/iv/images/simply-be-t/preview/bfk3-slinux-9-preview-20200401-mipsel.tar.xz<br />
|name=bfk3-slinux-9-preview-20200401-mipsel.tar.xz плат BFK 3.1<br />
|size=0,8<br />
|md5sum=bbbc70881740f53857557d8ada71cb56<br />
}}<br />
--><br />
<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/people/iv/images/simply-be-t/preview/mk150-slinux-20200330-mipsel.tar.xz<br />
|name=mk150-slinux-20200330-mipsel.tar.xz для Fastwel MK150-02.<br />
|size=0,8<br />
|md5sum=776cf07db039ced0ca866fe3f589d417<br />
}}<br />
<br />
= Скачать образы предварительных сборок для Baikal-M =<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/distributions/ALTLinux/p9/images/simply/aarch64/simply-baikal_m-dbm-20200326-preview-aarch64.img.xz<br />
|name=simply-baikal_m-dbm <br />
|size=0,99<br />
|md5sum=211ab539a3f0df851dab9dcd3a468440<br />
}}<br />
{{ISO<br />
|iso=http://ftp.altlinux.ru/pub/distributions/ALTLinux/p9/images/simply/aarch64/simply-baikal_m-itx-20200326-preview-aarch64.img.xz<br />
|name=simply-baikal_m-itx<br />
|size=0,99<br />
|md5sum=a494d8d91ea65b9d2d6f4880064e54ac<br />
}}<br />
<br />
= Получить образы Simply Linux 9 для Эльбрус =<br />
<br />
Выпуск дистрибутива Simply Linux 9 для [[Эльбрус]] доступен по [http://basealt.ru/about/contacts/ письменному запросу] обладателей оборудования, т.к. требуется NDA с [http://mcst.ru МЦСТ].<br />
<br />
Поддерживаются рабочие станции "[http://www.ineum.ru/arm-elbrus401 Эльбрус 401-РС]" ([[эльбрус/архитектура|e2k]]) и "[http://www.ineum.ru/elbrus_801-pc Эльбрус 801-РС]" ([[эльбрус/архитектура|e2kv4]]); доступна экспериментальная поддержка "[http://www.ineum.ru/elbrus_101-pc Эльбрус 101-РС]" (требуются доработки в части 3D-акселератора).<br />
<br />
Образы предназначены для [[write|записи на DVD]]; также обратите внимание на [[эльбрус/загрузчик|порядок выбора загрузочного носителя]].<br />
<br />
= Скачать образы предварительных сборок для riscv64 =<br />
В разделе представлены сборки для систем на базе архитектуры с открытым набором команд [https://riscv.org/risc-v-isa RISC-V] rv64gc.<br />
<br />
== QEMU ==<br />
<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/people/arei/images/slinux/slinux-qemu-9.0-preview-riscv64.qcow2c<br />
|name=QEMU riscv64<br />
|size=1,1<br />
|md5sum=c31cf38fab35f98f0d500ae5c8b433db<br />
}}<br />
Инструкция по работе с образом находится по [[Ports/riscv64#QEMU_virt|этой ссылке]].<br />
<br />
== HiFive Unleashed ==<br />
<br />
{{ISO<br />
|iso=http://ftp.altlinux.org/pub/people/arei/images/slinux/slinux-hifive-unleashed-9.0-preview-riscv64.tar.xz <br />
|name=SiFive HiFive Unleashed<br />
|size=0,64<br />
|md5sum=5049fe919b87c1c88e2e5976c7d8f007<br />
}}<br />
Инструкция по работе с образом находится по [[Ports/riscv64#HiFive_Unleashed|этой ссылке]].<br />
<br />
= Снимки экрана =<br />
<br />
<gallery perrow="5"><br />
Image:sl_9_desktop.png|Рабочий стол<br />
</gallery><br />
<br />
{{Category navigation|title=Девятая платформа|category=Девятая платформа|sortkey={{SUBPAGENAME}}}}<br />
{{Category navigation|title=Дистрибутивы|category=Дистрибутивы|sortkey={{SUBPAGENAME}}}}<br />
<br />
[[Категория:Дистрибутивы]]<br />
[[Категория:Девятая платформа]]<br />
[[Категория:Releases/90]]</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=48154Ports/riscv642020-04-07T06:40:14Z<p>Arei: Add OpenSBI boot manual</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
** 5.0.19 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/riscv64/RPMS.classic/kernel-image-un-def-5.0.19-alt2.rv64gc.riscv64.rpm image RPM],[http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-image-un-def-5.0.19-alt2.rv64gc.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image-un-def.git?p=kernel-image-un-def.git;a=summary git])<br />
** (experimental) 5.1.9 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/riscv64/RPMS.classic/kernel-experimental-5.1.9-alt1.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-experimental-5.1.9-alt1.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-experimental.git?p=kernel-experimental.git;a=summary git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== '''OpenOCD''' ==<br />
<br />
OpenOCD ([http://openocd.org/documentation/ docs]) это инструмент для отладки, внутрисхемного программирования и периферийного сканирования встраиваемых систем. В частности, этот инструмент полезен для<br />
низкоуровневой отладки загрузчиков, ядра Linux, и т.д., при помощи ([https://www.gnu.org/software/gdb/ GDB]).<br />
<br />
Чтобы выполнить отладку HiFive Unleashed через OpenOCD и GDB, необходимо выполнить следующие шаги:<br />
<br />
# Подключить HiFive Unleashed к ПК через USB и включить её. USB интерфейс предоставляет UART0 (/dev/ttyUSB1) и JTAG интерфейсы через FTDI FT2232H ([https://www.ftdichip.com/Products/ICs/FT2232H.html ссылка]).<br />
# Запустить (см. простейший конфигурационный файл ниже, а так же не забыть добавить пользователя в группу plugdev): <source lang=shell>$ openocd -s <путь к директории с hifive-u.cfg> -f hifive-u.cfg</source>OpenOCD будет слушать порт 3333 в ожидании подключения GDB.<br />
# Запустить GDB собранный с поддержкой цели (target) riscv64.<br />
# Подключить GDB к OpenOCD: <source lang=shell>gdb$ target extended-remote localhost:3333</source><br />
# Теперь можно устанавливать точки останова (breakpoints), исследовать память, дизассемблировать области памяти, и т.д. Для удобства возможно подгружать ELF файлы с отладочной информацией для импорта символов, что даёт возможность устанавливать точки останова на эти символы.<br />
<br />
Пример простейшего конфигурационного файла hifive-u.cfg:<br />
<br />
<source lang="shell><br />
adapter_khz 1000<br />
<br />
interface ftdi<br />
ftdi_device_desc "Dual RS232-HS"<br />
ftdi_vid_pid 0x0403 0x6010<br />
<br />
ftdi_channel 0<br />
ftdi_layout_init 0x0018 0x001b<br />
<br />
set _CHIPNAME riscv<br />
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000913<br />
<br />
set _TARGETNAME $_CHIPNAME.cpu<br />
target create $_TARGETNAME riscv -chain-position $_TARGETNAME<br />
$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1<br />
<br />
init<br />
halt<br />
echo "Ready for Remote Connections"<br />
</source><br />
<br />
== '''OpenSBI''' ==<br />
=== QEMU virt ===<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 1.a''' Прошивка OpenSBI для QEMU virt находится внутри qcow2/qcow2c. Скопируем её из образа:<br />
<br />
<source lang=shell><br />
root$ qemu-nbd -c /dev/nbd0 qemu-riscv64.qcow2c<br />
root$ mount /dev/nbd0p1 /mnt<br />
root$ cp -v /mnt/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf .<br />
user$ FIRM=./fw_payload.elf<br />
</source> <br />
<br />
'''Шаг 1.b''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить]<br />
и установить последнюю версию пакета прошивки OpenSBI для QEMU virt. <br />
После этого прошивка OpenSBI будет находится в /usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
<br />
Например:<br />
<br />
<source lang=shell><br />
user$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
root$ rpm -i opensbi-firmware-qemu-0.6-alt1.noarch.rpm<br />
user$ FIRM=/usr/share/opensbi/qemu/virt/firmware/fw_payload.elf<br />
</source><br />
<br />
'''Шаг 2.''' Запуск образа qcow2/qcow2c на QEMU можно осуществить следующей командой, указав в QCOW путь к образу:<br />
<br />
<source lang="shell"><br />
$ QCOW=qemu-riscv64.qcow2c<br />
$ qemu-system-riscv64 \<br />
-nographic -machine virt -kernel "$FIRM" \<br />
-m 2G -smp cpus=4 \<br />
-drive file="$QCOW",id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
'''Шаг 3.''' Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]<br />
<br />
=== HiFive Unleashed ===<br />
Для запуска образов на SiFive HiFive Unleashed (FU540) SoC необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 0.''' Предполагается, что microSD карточка находится в /dev/sdb. Выполним разметку microSD и создание файловой системы:<br />
<br />
<source lang="shell"><br />
root$ sgdisk -g --clear \<br />
--new=2::+32K --change-name=2:'fsbl' --typecode=2:5B193300-FC78-40CD-8002-E86C45580B47 \<br />
--new=3::+8M: --change-name=3:'opensbi-uboot' --typecode=3:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=1::-0 --change-name=4:'root' --typecode=4:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
/dev/sdb<br />
root$ mkfs.ext4 /dev/sdb1<br />
root$ mount /dev/sdb1 /mnt<br />
root$ tar -xpvf hifive-unleashed-riscv64.tar.xz -C /mnt<br />
</source><br />
<br />
'''Шаг 1.а.''' First Stage BootLoader (FSBL) и OpenSBI находятся внутри распакованного дерева /mnt.<br />
Запишем их на разделы 2 и 3 соответственно, а затем размонтируем раздел:<br />
<br />
<source lang="shell"><br />
root$ dd if=/mnt/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/mnt/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 1.б.''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить] и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.<br />
<br />
Например:<br />
<br />
<source lang="shell"><br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm<br />
root$ rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm<br />
root$ dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M<br />
root$ dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M<br />
root$ sync; umount /mnt<br />
</source><br />
<br />
'''Шаг 3.''' Система на microSD каточке готова к загрузке. Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC]<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=47205Ports/riscv642019-12-10T12:08:57Z<p>Arei: Быстрое введение в отладку HiFive Unleashed при помощи OpenOCD.</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
** 5.0.19 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/riscv64/RPMS.classic/kernel-image-un-def-5.0.19-alt2.rv64gc.riscv64.rpm image RPM],[http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-image-un-def-5.0.19-alt2.rv64gc.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image-un-def.git?p=kernel-image-un-def.git;a=summary git])<br />
** (experimental) 5.1.9 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/riscv64/RPMS.classic/kernel-experimental-5.1.9-alt1.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-experimental-5.1.9-alt1.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-experimental.git?p=kernel-experimental.git;a=summary git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== '''OpenOCD''' ==<br />
<br />
OpenOCD ([http://openocd.org/documentation/ docs]) это инструмент для отладки, внутрисхемного программирования и периферийного сканирования встраиваемых систем. В частности, этот инструмент полезен для<br />
низкоуровневой отладки загрузчиков, ядра Linux, и т.д., при помощи ([https://www.gnu.org/software/gdb/ GDB]).<br />
<br />
Чтобы выполнить отладку HiFive Unleashed через OpenOCD и GDB, необходимо выполнить следующие шаги:<br />
<br />
# Подключить HiFive Unleashed к ПК через USB и включить её. USB интерфейс предоставляет UART0 (/dev/ttyUSB1) и JTAG интерфейсы через FTDI FT2232H ([https://www.ftdichip.com/Products/ICs/FT2232H.html ссылка]).<br />
# Запустить (см. простейший конфигурационный файл ниже, а так же не забыть добавить пользователя в группу plugdev): <source lang=shell>$ openocd -s <путь к директории с hifive-u.cfg> -f hifive-u.cfg</source>OpenOCD будет слушать порт 3333 в ожидании подключения GDB.<br />
# Запустить GDB собранный с поддержкой цели (target) riscv64.<br />
# Подключить GDB к OpenOCD: <source lang=shell>gdb$ target extended-remote localhost:3333</source><br />
# Теперь можно устанавливать точки останова (breakpoints), исследовать память, дизассемблировать области памяти, и т.д. Для удобства возможно подгружать ELF файлы с отладочной информацией для импорта символов, что даёт возможность устанавливать точки останова на эти символы.<br />
<br />
Пример простейшего конфигурационного файла hifive-u.cfg:<br />
<br />
<source lang="shell><br />
adapter_khz 1000<br />
<br />
interface ftdi<br />
ftdi_device_desc "Dual RS232-HS"<br />
ftdi_vid_pid 0x0403 0x6010<br />
<br />
ftdi_channel 0<br />
ftdi_layout_init 0x0018 0x001b<br />
<br />
set _CHIPNAME riscv<br />
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000913<br />
<br />
set _TARGETNAME $_CHIPNAME.cpu<br />
target create $_TARGETNAME riscv -chain-position $_TARGETNAME<br />
$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1<br />
<br />
init<br />
halt<br />
echo "Ready for Remote Connections"<br />
</source><br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=45924Regular/riscv642019-08-27T09:28:09Z<p>Arei: XFCE update</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.<br />
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через<br />
графическое меню.<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/kernel-image-qemu-un-def-5.0.19-alt2.rv64gc.noarch.rpm ядро Linux для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinuz будет лежать ядро для QEMU сжатое gzip.<br />
Распакуйте ядро:<br />
<source lang="shell">$ gzip -d -c /usr/share/qemu-riscv64/vmlinuz > ~/vmlinux</source><br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2c:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel ~/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2c,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.<br />
Для этого можно воспользоваться следующей командой:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel ~/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2c,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0<br />
</source><br />
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].<br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar.xz</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar.xz ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''VNC''' =<br />
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно<br />
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.<br />
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.<br />
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:<br />
<source lang="shell"><br />
$ vncviewer 127.0.0.1<br />
</source><br />
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.<br />
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.<br />
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:<br />
<source lang="shell"><br />
$ screen /dev/ttyUSB1 115200<br />
</source><br />
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию<br />
в виде:<br />
<source lang="shell"><br />
[ 128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"<br />
[ 128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"<br />
[ 128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"<br />
</source><br />
Подключение к VNC серверу выполняется аналогичным образом:<br />
<source lang="shell"><br />
$ vncviewer 192.168.88.216<br />
</source><br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=45026Regular/riscv642019-06-27T11:37:50Z<p>Arei: /* Запуск на QEMU */ Fix qcow2 -> qcow2c at step 3.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/kernel-image-qemu-un-def-5.0.19-alt2.rv64gc.noarch.rpm ядро Linux для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinuz будет лежать ядро для QEMU сжатое gzip.<br />
Распакуйте ядро:<br />
<source lang="shell">$ gzip -d -c /usr/share/qemu-riscv64/vmlinuz > ~/vmlinux</source><br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2c:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel ~/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2c,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar.xz</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar.xz ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]<br />
[[en:Regular/riscv64]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44494Regular/riscv642019-04-12T14:32:00Z<p>Arei: </p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:<br />
<br><br />
'''<tt>login: altlinux</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
{{Attention|Сразу же после авторизации '''смените пароль'''!!!}}<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.qcow2 ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2 ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] и [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]<br />
[[Категория:Ports]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44409Regular/riscv642019-03-31T12:59:19Z<p>Arei: Change "content" panel.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular/riscv64|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
В случае системы для разработчика ('''builder''') рекомендуется '''сменить пароль'''.<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44408Regular/riscv642019-03-30T20:18:06Z<p>Arei: </p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
В случае системы для разработчика ('''builder''') рекомендуется '''сменить пароль'''.<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка ==<br />
Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.<br />
<br />
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' [https://lists.altlinux.org/mailman/listinfo/riscv-devel riscv-devel@lists.altlinux.org]<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44405Regular/riscv642019-03-30T13:54:13Z<p>Arei: </p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора riscv64gc</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:<br />
<br><br />
'''<tt>login: root</tt>'''<br />
<br><br />
'''<tt>password: alt</tt>'''<br />
<br />
В случае системы для разработчика ('''builder''') рекомендуется '''сменить пароль'''.<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка на системе ALT Sisyphus ==<br />
'''Шаг 2.''' Установите пакет [http://sisyphus.ru/ru/srpm/Sisyphus/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' riscv-devel@lists.altlinux.org<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=44404Ports/riscv642019-03-30T13:15:53Z<p>Arei: </p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/riscv64/RPMS/kernel-image-un-def-4.19.6-alt5.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-image-un-def-4.19.6-alt5.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=44403Ports/riscv642019-03-30T12:58:04Z<p>Arei: </p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут]<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/riscv64/RPMS/kernel-image-un-def-4.19.6-alt5.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-image-un-def-4.19.6-alt5.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* Образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* Образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU ссылка]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44402Regular/riscv642019-03-30T12:45:21Z<p>Arei: </p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора riscv64gc</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка на системе ALT Sisyphus ==<br />
'''Шаг 2.''' Установите пакет [http://sisyphus.ru/ru/srpm/Sisyphus/alt-rootfs-installer alt-rootfs-installer].<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' riscv-devel@lists.altlinux.org<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44401Regular/riscv642019-03-29T22:37:57Z<p>Arei: Minor improvements.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров с архитектурой процессора riscv64gc</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''[[regular/mipsel|mipsel]]''', '''riscv64''',<br/>'''[[regular/arm|aarch64, armh]]''',<br/>'''[[regular|x86_64, i586]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed подготовлены образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальная система для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|ручная]].<br />
<br />
== Автоматическая установка на системе ALT Sisyphus ==<br />
'''Шаг 2.''' Установите пакет alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диске /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находиться корневая файловая система.<br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находиться symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карте:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример команды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Создайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
microSD карта готова к использованию с HiFive Unleashed.<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' riscv-devel@lists.altlinux.org<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44397Regular/riscv642019-03-29T17:04:33Z<p>Arei: Add mail list information.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров c архитектурой процессора riscv64gc</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''aarch64''', '''armh''',<br/>'''[[regular|x86_64, i586]]''',<br/>'''[[regular/mipsel|mipsel]]''', '''[[regular/riscv64|riscv64]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка на системе ALT Sisyphus ==<br />
'''Шаг 2.''' Установите пакет alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку microSD карточки и установку системы. Пример комманды, для установки на microSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять microSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Созайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов microSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br><br />
'''• Список рассылки:''' riscv-devel@lists.altlinux.org<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44396Regular/riscv642019-03-29T16:59:19Z<p>Arei: Minor improvements.</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров c архитектурой процессора riscv64gc</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''aarch64''', '''armh''',<br/>'''[[regular|x86_64, i586]]''',<br/>'''[[regular/mipsel|mipsel]]''', '''[[regular/riscv64|riscv64]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT Sisyphus.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Существует два варианта установки системы: [[#Автоматическая установка на системе ALT Sisyphus|автоматическая установка на системе ALT Sisyphus]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка на системе ALT Sisyphus ==<br />
'''Шаг 2.''' Установите пакет alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку microSD карточки и установку системы. Пример комманды, для установки на microSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять microSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Созайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов microSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44395Regular/riscv642019-03-29T16:48:48Z<p>Arei: Add content box</p>
<hr />
<div><br />
'''<big>Регулярные сборки для одноплатных компьютеров c архитектурой процессора riscv64gc</big><br />
'''<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|}<br />
{| style="border:1px solid #AAA; background:#F9F9F9; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint<br />
|'''aarch64''', '''armh''',<br/>'''[[regular|x86_64, i586]]''',<br/>'''[[regular/mipsel|mipsel]]''', '''[[regular/riscv64|riscv64]]'''<br />
|-<br />
| __TOC__<br />
|-<br />
| [[:en:Regular|English]]<br />
|}<br />
<div id="intro"></div><br />
= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] {{#tag:hifiveimgs ||}}:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. [[#Автоматическая установка|Автоматически]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка ==<br />
'''Шаг 2.''' Установите alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку microSD карточки и установку системы. Пример комманды, для установки на microSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять microSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Созайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов microSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=44394Ports/riscv642019-03-29T16:42:38Z<p>Arei: Minor fixes.</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут]<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/riscv64/RPMS/kernel-image-un-def-4.19.6-alt5.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-image-un-def-4.19.6-alt5.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- [https://www.altlinux.org/Regular/riscv64 '''ГОТОВО''']<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* образ для QEMU ([https://www.altlinux.org/Regular/riscv64#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D0%BD%D0%B0_QEMU см. ниже]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44393Regular/riscv642019-03-29T16:38:52Z<p>Arei: Minor improvements.</p>
<hr />
<div>= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] {{#tag:hifiveimgs ||}}:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Данная инструкция предполагает, что пользователь работает на машине с установленным ALT.<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. [[#Автоматическая установка|Автоматически]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка ==<br />
'''Шаг 2.''' Установите alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку microSD карточки и установку системы. Пример комманды, для установки на microSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять microSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей microSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел microSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Созайте файловую систему на втором разделе microSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов microSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=44389Ports/riscv642019-03-29T15:27:49Z<p>Arei: Remove QEMU section and add info about Regular</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed].<br />
Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут]<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/riscv64/RPMS/kernel-image-un-def-4.19.6-alt5.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/SRPMS/kernel-image-un-def-4.19.6-alt5.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- '''В ПРОЦЕССЕ'''<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* образ для QEMU ([[#QEMU|см. ниже]]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
[[en:Ports/riscv64]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44388Regular/riscv642019-03-29T15:16:21Z<p>Arei: Fix "sgdisk" command</p>
<hr />
<div>= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] {{#tag:hifiveimgs ||}}:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. [[#Автоматическая установка|Автоматически]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка ==<br />
'''Шаг 2.''' Установите alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку μSD карточки и установку системы. Пример комманды, для установки на μSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl \<br />
-y --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять μSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей μSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$ sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел μSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Созайте файловую систему на втором разделе μSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов μSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44387Regular/riscv642019-03-29T15:09:55Z<p>Arei: Remove step 2 from the "Manual install" section</p>
<hr />
<div>= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] {{#tag:hifiveimgs ||}}:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. [[#Автоматическая установка|Автоматически]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка ==<br />
'''Шаг 2.''' Установите alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку μSD карточки и установку системы. Пример комманды, для установки на μSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl \<br />
-y --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять μSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 3.''' Создайте GPT таблицу с двумя разделами на вашей μSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 4.''' Запишите файл с ядром и bbl на первый раздел μSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 5.''' Созайте файловую систему на втором разделе μSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов μSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44386Regular/riscv642019-03-29T15:08:02Z<p>Arei: Minor improvements.</p>
<hr />
<div>= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].<br />
<br />
== HiFive Unleashed ==<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] {{#tag:hifiveimgs ||}}:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
== QEMU ==<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с 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])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br><br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
Для запуска образов на QEMU необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2.''' Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:<br />
<source lang="shell"><br />
$ qemu-system-riscv64 -nographic -machine virt \<br />
-kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 2G -smp cpus=4,threads=2,maxcpus=8 \<br />
-drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:<br />
<br />
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. [[#Автоматическая установка|Автоматически]] или [[#Ручная установка|вручную]].<br />
<br />
== Автоматическая установка ==<br />
'''Шаг 2.''' Установите alt-rootfs-installer.<br />
<br />
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку μSD карточки и установку системы. Пример комманды, для установки на μSD <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:<br />
<source lang="shell"><br />
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \<br />
--media=/dev/sdX \<br />
--target=HiFive-Unleashed-bbl \<br />
-y --log /home/user/alt-rootfs-installer.log<br />
</source><br />
<br><br />
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.<br />
<br />
Теперь можно вставлять μSD карточку в HiFive Unleashed и загружать систему!<br />
<br />
== Ручная установка ==<br />
'''Шаг 2.''' Скачайте пакет с ядром Linux и загрузчиком bbl по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/riscv64/RPMS/kernel-image-un-def-4.19.6-alt5.riscv64.rpm этой ссылке].<br />
<br />
'''Шаг 3.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:<br />
<source lang="shell"><br />
$ tar -xf regular-jeos-latest-riscv64.tar ./boot<br />
</source><br />
После чего в ./boot/vmlinuz будет находится symlink на ядро.<br />
<br />
'''Шаг 4.''' Создайте GPT таблицу с двумя разделами на вашей μSD карточке:<br />
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985<br />
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4<br />
Пример комманды для разметки <tt>/dev/sdX</tt>:<br />
<source lang="shell"><br />
$sgdisk -g --clear \<br />
--new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \<br />
--new=2:264192: --change-name=2:root --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \<br />
"/dev/sdX"<br />
</source><br />
<br />
'''Шаг 5.''' Запишите файл с ядром и bbl на первый раздел μSD:<br />
<source lang="shell"><br />
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress<br />
</source><br />
<br />
'''Шаг 6.''' Созайте файловую систему на втором разделе μSD. Примонтируйте его и распакуйте туда tar архив:<br />
<source lang="shell"><br />
$ mkfs.ext4 /dev/sdX2<br />
$ mount /dev/sdX2 /mnt<br />
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/<br />
$ umount /dev/sdX2<br />
</source><br />
<br />
После этих шагов μSD карточка готова к использованию!<br />
<br />
= '''Обратная связь''' =<br />
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br><br />
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44379Regular/riscv642019-03-28T18:22:48Z<p>Arei: Remove riscv64 category.</p>
<hr />
<div>= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-alpha20190328-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-alpha20190328-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-alpha20190328-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-alpha20190328-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br />
<br><br />
<br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
'''Шаг 1'''. Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2'''. Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3'''. После этого, скачав один из образов для QEMU можно запускать QEMU, заменив <IMAGE> на путь к образу img:<br />
<source lang="shell"><br />
qemu-system-riscv64 \<br />
-nographic -machine virt -kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 3G -smp cpus=4,cores=2,threads=2,maxcpus=6 \<br />
-drive file=<IMAGE>.img,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
<br />
= '''Как сообщить об ошибке?''' =<br />
Сообщения об ошибках принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
<br><br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Regular/riscv64&diff=44378Regular/riscv642019-03-28T18:21:51Z<p>Arei: Initial version.</p>
<hr />
<div>= '''Краткий обзор''' =<br />
<br />
Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] репозитория [https://www.altlinux.org/Sisyphus Sisyphus] на архитектуру RISC-V (rv64gc).<br />
<br />
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].<br />
<br />
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:<br />
<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-alpha20190328-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-alpha20190328-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br />
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:<br />
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-alpha20190328-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-alpha20190328-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])<br />
<br />
<br><br />
<br />
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].<br />
<br />
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].<br />
<br />
= '''Запуск на QEMU''' =<br />
'''Шаг 1'''. Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
'''Шаг 2'''. Далее необходимо получить [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 для QEMU] и установить:<br />
<source lang="shell">rpm --install <kernel package>.rpm</source><br />
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.<br />
<br />
'''Шаг 3'''. После этого, скачав один из образов для QEMU можно запускать QEMU, заменив <IMAGE> на путь к образу img:<br />
<source lang="shell"><br />
qemu-system-riscv64 \<br />
-nographic -machine virt -kernel /usr/share/qemu-riscv64/vmlinux \<br />
-m 3G -smp cpus=4,cores=2,threads=2,maxcpus=6 \<br />
-drive file=<IMAGE>.img,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
= '''Запуск на HiFive Unleashed''' =<br />
<br />
= '''Как сообщить об ошибке?''' =<br />
Сообщения об ошибках принимаются через [https://bugzilla.altlinux.org bugzilla].<br />
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''<br />
* В случае проблем с образами выбирайте ''Regular''<br />
<br><br />
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.<br />
<br />
{{Category navigation|title=Regular|category=Regular|sortkey=*}}<br />
[[Категория:riscv64]]<br />
[[Категория:Sisyphus]]</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=44232Ports/riscv642019-03-15T16:54:31Z<p>Arei: Русская версия</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V является [https://riscv.org/risc-v-isa архитектурой с открытым набором комманд (ISA)].<br />
ISA RISC-V имеют лицензию [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Любой желающий может получить финальную версию [https://riscv.org/specifications/ ISA пользовательского уровня] и<br />
черновик [https://riscv.org/specifications/privileged-isa/ ISA привилегированного уровня].<br />
<br />
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации.<br />
Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и<br />
целочисленной арифметики. Код инструкций не зависит от размера регистра,<br />
минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда<br />
4, 8 или 16 байт соответственно.<br />
На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - целочисленные базовые инструкции;<br />
* <tt>'''M'''</tt> - умножение и деление целых чисел;<br />
* <tt>'''A'''</tt> - атомарные операции;<br />
* <tt>'''F'''</tt> - число с плавающей запятой одинарной точности;<br />
* <tt>'''D'''</tt> - число с плавающей запятой двойной точности;<br />
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.<br />
<br />
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).<br />
Сборка системы ведётся на плате SiFive [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]<br />
<br />
== '''Рабочий план''' ==<br />
<br />
* Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64/RPMS.hasher/kernel-image-un-def-4.19.6-alt3.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64/SRPMS.hasher/kernel-image-un-def-4.19.6-alt3.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
<br />
* Методы загрузки (boot):<br />
** Berkeley bootloader -- '''ГОТОВО'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''ГОТОВО'''<br />
<br />
* Порт [[Sisyphus]] -- '''В ПРОЦЕССЕ'''<br />
*# Toolchain -- '''ГОТОВО'''<br />
*# Linux Kernel -- '''ГОТОВО'''<br />
*# X11 -- '''ГОТОВО'''<br />
*# Desktop Environments -- '''В ПРОЦЕССЕ'''<br />
* образ ALT [http://sisyphus.ru/en/srpm/Sisyphus/mkimage-profiles metaprofile] -- '''В ПРОЦЕССЕ'''<br />
* [http://git.altlinux.org/people/arei/packages/girar.git?p=girar.git;a=shortlog;h=refs/heads/riscvmod Girar Builder] -- '''ГОТОВО'''<br />
* образ для QEMU ([[#QEMU|см. ниже]]) -- '''ГОТОВО'''<br />
<br />
RPM/SRPM репозиторий можно найти по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/ этой ссылке].<br />
<br />
== '''QEMU''' ==<br />
Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64.<br />
<br />
Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
Также необходимы:<br />
* ALT image -- в процессе<br />
* [http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64/RPMS.hasher/kernel-image-qemu-un-def-4.19.6-alt3.noarch.rpm ядро Linux для QEMU]<br />
<br />
После этого, можно запускать ядро!<br />
<br />
(возможно, что необходимо изменить пути к ядру и rootfs для вашей системы)<br />
<source lang="shell"><br />
qemu-system-riscv64 \<br />
-nographic -machine virt -kernel /boot/vmlinux-4.19.6-un-def-alt3 \<br />
-drive file=rootfs.raw,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda rootwait fastboot console=ttyS0 debug sunrpc.debug STOP=udev" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
Для входа в shell:<br />
<br />
Username: root<br />
<br />
Password: 123<br />
<br />
== Полезные ссылки: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.<br />
* [https://riscv.org/specifications RISC-V ISA]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018]<br />
<br />
[[Категория:Sisyphus]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Areihttps://www.altlinux.org/index.php?title=Ports/riscv64&diff=44173Ports/riscv642019-03-07T18:17:35Z<p>Arei: Initial commit</p>
<hr />
<div>= '''RISC-V''' =<br />
<br />
RISC-V is an [https://riscv.org/risc-v-isa open and free instruction set architecture (ISA)].<br />
The RISC-V ISA specifications are licensed under a [https://creativecommons.org/licenses/by/4.0/ Creative Commons license (CC BY 4.0)].<br />
Anyone could get the final versions of the [https://riscv.org/specifications/ user-level ISA specifications] and drafts<br />
of the [https://riscv.org/specifications/compressed-isa/ compressed] and [https://riscv.org/specifications/privileged-isa/ privileged] ISA specifications.<br />
<br />
Another key feature of the RISC-V architecture that it is scalable and allows multiple implementations. The minimal specification has the<br />
commands to store and load, jump and integer arithmetic. It supports the 32-, 64- and 128-bit register sizes: "RV32I, RV64I and RV128I" ("I" stands for integer).<br />
This Linux port runs on "RV64IMAFDC" or "RV64GC" ("G" == "IMAFD"):<br />
* <tt>'''I'''</tt> - Integer and basic instructions<br />
* <tt>'''M'''</tt> - Multiply and divide<br />
* <tt>'''A'''</tt> - Atomic operations<br />
* <tt>'''F'''</tt> - Single precision floating point<br />
* <tt>'''D'''</tt> - Double precision floating point<br />
* <tt>'''C'''</tt> - Compressed instructions<br />
<br />
At this page one could find the latest information about the status of the ALT <br />
porting to the new platform - RISC-V (RV64GC). The ALT port is building on the [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] board from SiFive.<br />
<br />
<br />
== '''Working plan''' ==<br />
<br />
* The following Linux kernels has been bare metal tested on SiFive HiFive Unleashed:<br />
** 4.15<br />
** 4.19-rc2<br />
** 4.19.6 ([http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64/RPMS.hasher/kernel-image-un-def-4.19.6-alt3.riscv64.rpm image RPM], [http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64/SRPMS.hasher/kernel-image-un-def-4.19.6-alt3.src.rpm SRPM], [http://git.altlinux.org/people/arei/packages/kernel-image.git?p=kernel-image.git;a=commit;h=a420ee4217797b60b27ce60fd80a39166ddf2143 git])<br />
<br />
* BOOT methods:<br />
** Berkeley bootloader -- '''DONE'''<br />
** U-BOOT ([http://git.altlinux.org/people/lineprinter/public/u-boot.git?p=u-boot.git;a=blob;f=README.alt;hb=HEAD link]) -- '''DONE'''<br />
<br />
* Sisyphus port -- '''IN PROGRESS'''<br />
*# Toolchain (see the status above) -- '''DONE'''<br />
*# Linux Kernel -- '''DONE'''<br />
*# X11 -- '''DONE'''<br />
*# Desktop Environment -- '''IN PROGRESS'''<br />
* ALT image metaprofile -- '''IN PROGRESS'''<br />
* Girar Builder -- '''IN PROGRESS'''<br />
* QEMU image ([[#QEMU|see below]]) -- '''DONE'''<br />
<br />
One could find the rootfs latest snapshot (Nov 2018) at [http://ftp.altlinux.org/pub/people/arei/riscv/rootfs here].<br />
The RPM/SRPM repository at [http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64 here].<br />
<br />
== '''QEMU''' ==<br />
<br />
To run the ALT RISC-V port on QEMU one need to install the QEMU with riscv64 support.<br />
<br />
In case of the ALT x86-64 host system for example: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].<br />
<br />
Next stuff are needed:<br />
* rootfs -- [http://ftp.altlinux.org/pub/people/arei/riscv/qemu/rootfs.raw raw image] or to build a new one there is a [http://ftp.altlinux.org/pub/people/arei/riscv/qemu/rootfs.tgz tgz packed version]<br />
* [http://ftp.altlinux.org/pub/people/arei/riscv/repo/riscv64/RPMS.hasher/kernel-image-qemu-un-def-4.19.6-alt3.noarch.rpm kernel for QEMU]<br />
<br />
After this steps were done it's time to run a kernel!<br />
<br />
(possibly need to change path to the kernel and rootfs according to particular system)<br />
<source lang="shell"><br />
qemu-system-riscv64 \<br />
-nographic -machine virt -kernel /boot/vmlinux-4.19.6-un-def-alt3 \<br />
-drive file=rootfs.raw,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 \<br />
-append "earlyprintk root=/dev/vda rootwait fastboot console=ttyS0 debug sunrpc.debug STOP=udev" \<br />
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0<br />
</source><br />
<br />
To log-in to the shell:<br />
Username: root<br />
Password: 123<br />
<br />
== Useful links: ==<br />
<br />
* [https://github.com/dalegr/riscv-bbl-utils Berkeley bootloader utils] to merge the linux kernel in to the bbl.bin with the dummy payload.<br />
* [https://riscv.org/specifications RISC-V specifications]<br />
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- cool series of blog posts by Palmer Dabbelt about RISC-V, toolchain, etc.<br />
* [http://0x1.tv/20180929H OSSDEVCONF-2018 (russian language)]<br />
<br />
[[Категория:Sisyphus]]<br />
{{Category navigation|title=Ports|category=Ports|sortkey=*}}</div>Arei