Как собрать и запустить Linux на процессоре Kendryte K210 RISC-V NOMMU


Несколько месяцев назад мы писали, что Western Digital работает над поддержкой Linux и BusyBox RISC-V NOMMU, и ей удалось загрузить минимально возможную ОС Linux на плате Sipeed Maix Go с процессором Kendryte K210.

Поддержка RISC-V NOMMU была запланирована для версии Linux 5.5, и теперь, когда новое ядро ​​было выпущено, Дэмиен Ле Моал (Damien Le Moal) разработал код, позволяющий создавать Linux и busybox на базе 64-битных платформ RISC-V NOMMU с использованием buildroot.

Мы могли бы начать сборку, следуя инструкциям на Github, но нам это не удалось, так как отсутствовал tarball Linux 5.6 RC1. Мы обратили внимание на то, что «Vowstart» подхватил работу Дэмиена и написал подробные инструкции. Итак, давайте попробуем выполнить сборку на устройстве с Ubuntu 18.04.

Сначала мы должны убедиться, что установлены зависимости:

Затем мы можем получить исходный код и сделать некоторые приготовления (например, извлечь tarball Linux 5.6 RC1):

Следующим шагом является создание набора инструментов. Это займет много времени, потому что есть много кодов для сборки и загрузки из Интернета:

Этот шаг выполнен успешно:

Теперь мы можем установить набор инструментов RISCV64, который будет использоваться для кросс-компиляции:

Далее идет сборка buildroot для процессора Kendryte K210 NOMMU:

Последний шаг — копируем файл в папку $PROJ_ROOT/rootfs_k210 .

Они также решили собрать Tiny C Compiler, чтобы иметь возможность создавать код на самой плате. В этом нет необходимости, так как на таком недорогом оборудовании большинство людей, скорее всего, предпочтут вместо этого кросс-компилировать свой код, но в любом случае давайте продолжим:

Они также создали скрипт для установки и копирования образа CPIO rootfs k210 в linux-kernel/k210.cpio .

Теперь мы можем наконец собрать ядро ​​Linux 5.6-RC1:

У нас нет под рукой платы Sipeed MAIX, поэтому мы не пробовали эту часть, но вы можете сохранить получившейся образ следующим образом, если ваша плата подключена через / dev / ttyUSB:

Первые две строки — добавить текущего пользователя в группу dialout, чтобы получить доступ к / dev / ttyUSB0 без необходимости быть пользователем root. Третья — устанавливает утилиту kflash, за которой следует команда, которая сбрасывает образ на внутреннюю флеш-память, а последняя — получить терминальный доступ к плате.

Это означает, что теперь вы можете запускать Linux на недорогом оборудовании RISC-V, таком как Sipeed MAIX Bit, которое продается примерно за 14 долларов и выше. Обратите внимание, что технически это uCLinux, вам придется работать с 8 Мб ОЗУ и решать проблемы переполнения стека, которые обычно возникают в процессорах без блока управления памятью.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.