Что такое Quard Star?
Quard Star — это название аппаратной платы, которую мы моделируем с помощью QEMU. Это процессор RISC-V с различными периферийными устройствами и контроллерами. Мы будем использовать эту плату, чтобы научиться создавать и запускать встроенную систему Linux с нуля.
Аппаратная архитектура:
Рисунок 1: Аппаратная архитектура
Поток программного обеспечения:
Рисунок 2: Поток программного обеспечения
Распределение памяти:
Рисунок 3: Распределение памяти
Чтобы создать и запустить этот проект, вам потребуются следующие инструменты:
Вы можете установить их с помощью диспетчера пакетов. Например, в Ubuntu 20.04 вы можете выполнить следующую команду:
sudo apt-get update
sudo apt install ninja-build pkg-config libglib2.0-dev libpixman-1-dev libgtk-3-dev libcap-ng-dev libattr1-dev libsdl2-dev device-tree-compiler bison flex gperf intltool mtd-utils libpulse-dev libalsa-ocaml-dev libsdl2-dev libslirp-dev
Чтобы установить этот проект, вы можете клонировать этот репозиторий с помощью git:
git clone https://github.com/QQxiaoming/quard_star_tutorial.git
Затем вы можете запустить build.sh. Скрипт для компиляции симулятора QEMU и других компонентов:
cd quard_star_tutorial
./build.sh all all
Это создаст выходной каталог со всеми двоичными файлами и файлами, необходимыми для запуска проекта.
Чтобы запустить проект, вы можете использовать скрипт run.sh:
./run.sh graphic
Это запустит симулятор QEMU с платой Quard Star и загрузит систему Linux. Вы должны увидеть графический пользовательский интерфейс в новом окне.
Вы также можете использовать некоторые параметры командной строки для настройки запуска. Например:
./run.sh nographic
Для получения более подробной информации о том, как использовать эти параметры, обратитесь к файлам учебника.
Этот проект поставляется с серией файлов учебника, которые объясняют каждый шаг создания и запуска встроенной системы Linux на основе QEMU. Вы можете найти их в каталоге учебника. Они доступны на китайском языке.
Файлы учебника охватывают следующие темы:
Вы также можете получить доступ к учебнику онлайн в моём блоге или на read the docs.
Этот проект является открытым исходным кодом и приветствует вклад от всех, кто заинтересован в изучении или преподавании разработки встроенных систем Linux. Если вы хотите внести свой вклад, пожалуйста, выполните следующие шаги:
Пожалуйста, убедитесь, что ваш код соответствует стилю кодирования и соглашениям этого проекта. Также, пожалуйста, пишите комментарии и документацию для своего кода.
В этом проекте используются некоторые проекты с открытым исходным кодом в качестве компонентов или ссылок. Я хотел бы поблагодарить и отметить их авторов и участников за их отличную работу. Поэтому вновь добавленные коды каждой части соответствуют лицензии исходного проекта. Остальная часть исходного кода имеет лицензию с открытым исходным кодом BSD-3-Clause License. Подробнее см. в файле LICENSE.
Если у вас есть какие-либо вопросы, предложения или отзывы об этом проекте, пожалуйста, не стесняйтесь обращаться ко мне по адресу 2014500726@smail.xtu.edu.cn или оставить комментарий в моём блоге.
Если вы хотите узнать больше о процессе разработки и проблемах этого проекта, вы можете проверить мой файл заметок о разработке DEVELOPNOTE.md. Он содержит некоторые идеи и советы о том, как я построил и отладил этот проект.😎
Примечание: Этот проект также имеет экспериментальную ветку под названием next-kernel, которая использует новейшее ядро Linux из linux-next. Она используется для изучения и тестирования новых функций и возможностей. Она может быть нестабильной или несовместимой с некоторыми компонентами. Вы можете переключиться на эту ветку с помощью git checkout next-kernel, если вам интересно, но будьте осторожны и сообщайте о любых проблемах или ошибках, с которыми вы сталкиваетесь.😉
Я хотел бы выразить признательность AI-инструменту (New Bing) за помощь в написании части этого файла readme.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )