Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Raspberry Pi
  3. SaaS-решение для сборки персонализированных образов операционной системы на базе Debian GNU/Linux

SaaS-решение для сборки персонализированных образов операционной системы на базе Debian GNU/Linux

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
24 Сообщения 1 Posters 342 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано
    #1

    Здравствуйте!

    Я хочу поделится ссылкой на прототип SaaS-сборщика персонализированных образов Debian GNU/Linux для Raspberry Pi:
    http://cusdeb.com/

    Это публичная пре-альфа версия, демонстрирующая будущий интерфейс сборщика. Интерфейс позволяет создать корневую файловую систему, состоящую из базовой системы, затем добавить пакеты из официального репозитория Debian. При добавлении пакетов зависимости разрешаются автоматически.

    Корневая файловая система не содержит ядро с поддержкой Raspberry Pi. Мы планируем взять Linux 4.4, наложить патчи от сообщества Raspberry Pi и наладить регулярные обновления этого ядра через наш бинарный репозиторий.

    В интерфейсе появится управление пользователями и группами, а так-же возможность задать пароль супер пользователя.

    Мы добавим поддержку других операционных систем и одноплатных компьютеров. Исходники будут опубликованы на GitHub.

    Не могли бы вы оценить систему в текущем виде, чтобы мы могли учесть ваши замечания и пожелания, но уже в альфа-версии. Интерфейс сборщика на английском языке, но наша команда надеется, что это не будет проблемой.

    Я буду очень благодарен любым замечаниям, советам и отзывам в этой теме. Я готов ответить на любые вопросы.

    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #2

      Очень крутой проект.

      Я на следующей неделе пострараюсь протестировать и написать отзыв в этой теме

      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано
        #3

        raspiman спасибо большое! Ждём с нетерпением отзыв!

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано
          #4

          Список изменений:

          • Добавили управление пользователями и группами, а также возможность задать пароль суперпользователя во время сборки образа.
          • Ускорили процесс разрешения зависимостей.
          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано
            #5

            Недавно зарегистрировался. Сейчас пытаюсь залогиниться, но логин не проходит, просто поле пароля сбрасывается. Ну думаю забыл пароль. Нажимаю восстановить, а в ответ тишина. А зареган ли я на самом деле здесь? Пытаюсь зарегистрироваться во второй раз и сайт с радостью вывалил мне лог с ошибками. Environment:

            Request Method: POST
            Request URL: http://cusdeb.com/signup/

            Django Version: 1.8.13
            Python Version: 3.4.2
            Installed Applications:
            ('django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'firmwares',
            'users',
            'webpack_loader')
            Installed Middleware:
            ('django.contrib.sessions.middleware.SessionMiddleware',
            'django.middleware.common.CommonMiddleware',
            'django.middleware.csrf.CsrfViewMiddleware',
            'django.contrib.auth.middleware.AuthenticationMiddleware',
            'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
            'django.contrib.messages.middleware.MessageMiddleware',
            'django.middleware.clickjacking.XFrameOptionsMiddleware',
            'django.middleware.security.SecurityMiddleware')

            Traceback:
            File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/base.py" in get_response
            132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
            File "/var/dashboard/src/django-cusdeb-users/users/views.py" in sign_up
            105. cd['password'])
            File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/models.py" in create_user
            187. **extra_fields)
            File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/models.py" in _create_user
            182. user.save(using=self._db)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in save
            734. force_update=force_update, update_fields=update_fields)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in save_base
            762. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in _save_table
            846. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in _do_insert
            885. using=using, raw=raw)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/manager.py" in manager_method
            127. return getattr(self.get_queryset(), name)(*args, **kwargs)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/query.py" in _insert
            920. return query.get_compiler(using=using).execute_sql(return_id)
            File "/usr/local/lib/python3.4/dist-packages/django/db/models/sql/compiler.py" in execute_sql
            974. cursor.execute(sql, params)
            File "/usr/local/lib/python3.4/dist-packages/django/db/backends/utils.py" in execute
            79. return super(CursorDebugWrapper, self).execute(sql, params)
            File "/usr/local/lib/python3.4/dist-packages/django/db/backends/utils.py" in execute
            64. return self.cursor.execute(sql, params)
            File "/usr/local/lib/python3.4/dist-packages/django/db/utils.py" in exit
            98. six.reraise(dj_exc_type, dj_exc_value, traceback)
            File "/usr/local/lib/python3.4/dist-packages/django/utils/six.py" in reraise
            685. raise value.with_traceback(tb)
            File "/usr/local/lib/python3.4/dist-packages/django/db/backends/utils.py" in execute
            64. return self.cursor.execute(sql, params)

            Exception Type: IntegrityError at /signup/
            Exception Value: duplicate key value violates unique constraint "auth_user_username_key"
            DETAIL: Key (username)=(alfacom) already exists.

            1 ответ Последний ответ
            0
            • piP Не в сети
              piP Не в сети
              pi
              написал в отредактировано
              #6

              alfacom , благодарю за отчёт об ошибке! Я нашёл ваш аккаунт, установил новый пароль и отправил пароль в личку. Сегодня ночью поправим регистрацию.

              1 ответ Последний ответ
              0
              • piP Не в сети
                piP Не в сети
                pi
                написал в отредактировано
                #7

                alfacom , исправлено. Еще раз спасибо.

                1 ответ Последний ответ
                0
                • piP Не в сети
                  piP Не в сети
                  pi
                  написал в отредактировано
                  #8

                  Вы знакомы с Buldroot?
                  Я думаю, что многим было бы интересно, если со временем ваш проект разовьётся до этакого SaaS аналога Buildroot'а

                  1 ответ Последний ответ
                  0
                  • piP Не в сети
                    piP Не в сети
                    pi
                    написал в отредактировано
                    #9

                    admin (2016-05-28 08:43:50):Вы знакомы с Buldroot?
                    Я думаю, что многим было бы интересно, если со временем ваш проект разовьётся до этакого SaaS аналога Buildroot'а да, у Buildroot есть достоинства, с оглядкой на которые мы разрабатываем CusDeb, но в одном эти два проекта отличаются друг от друга принципиально: Buildroot предлагает собирать образы из исходных текстов, а CusDeb — из бинарных пакетов.

                    1 ответ Последний ответ
                    0
                    • piP Не в сети
                      piP Не в сети
                      pi
                      написал в отредактировано
                      #10

                      Подвисает на стадии инициализации.
                      Консоль ошибок на скрине, браузер Chrome

                      WebSocket connection to 'ws://cusdeb.com/rpc/token/' failed: Error during WebSocket handshake: Unexpected response code: 404

                      1 ответ Последний ответ
                      0
                      • piP Не в сети
                        piP Не в сети
                        pi
                        написал в отредактировано
                        #11

                        raspiman (2016-05-28 15:40:17):Подвисает на стадии инициализации.
                        Консоль ошибок на скрине, браузер Chrome

                        WebSocket connection to 'ws://cusdeb.com/rpc/token/' failed: Error during WebSocket handshake: Unexpected response code: 404

                        Спасибо. Мы выяснили в чем проблема. Быстрое решение заключается в том, что бы просто перелогиниться.
                        Сегодня-завтра мы исправим источник этой проблемы.

                        1 ответ Последний ответ
                        0
                        • piP Не в сети
                          piP Не в сети
                          pi
                          написал в отредактировано
                          #12

                          Русифицировали гравную страницу и руководство пользователя. Если в браузере русский язык выбран по умолчанию, то показывается русская версия сайта.

                          1 ответ Последний ответ
                          0
                          • piP Не в сети
                            piP Не в сети
                            pi
                            написал в отредактировано
                            #13

                            У всех зарегистрировавшихся прошу прощения. При входе сразу после регистрации не создавался токен, что делало автоматический вход сразу после регистрации бессмысленным. Проблема исправлена.

                            1 ответ Последний ответ
                            0
                            • piP Не в сети
                              piP Не в сети
                              pi
                              написал в отредактировано
                              #14

                              Теперь cusdeb.com/ собирает полноценные образы Debian Jessie для Raspberry Pi 2 и Raspberry Pi 3. Для сборки используется скрипт: github.com/drtyhlpr/rpi23-gen-image

                              Приглашаю всех желающих присоединиться к разработке. Буду рад любому отзыву, совету или найденной ошибке.

                              1 ответ Последний ответ
                              0
                              • piP Не в сети
                                piP Не в сети
                                pi
                                написал в отредактировано
                                #15

                                Откуда берётся список пакетов, которые можно выбрать?
                                Автоматически из оф.репозиториев парсится или как-то вручную модерируется?
                                К названию пакета было бы неплохо выводить описание — я ввёл ключевое слово, мне вывалилась куча пакетов, содержащая в названии ключевое слово.
                                Из этой кучи без описания выбрать то, что мне нужно не очень просто.

                                Не очень понятно, что получится на выходе — будет ли дистрибутив содержать графическую систему XWindow или только консоль?

                                Если окно браузера закрыть, прервётся ли процесс сборки?

                                1 ответ Последний ответ
                                0
                                • piP Не в сети
                                  piP Не в сети
                                  pi
                                  написал в отредактировано
                                  #16

                                  raspiman (2016-12-04 22:47:19):Откуда берётся список пакетов, которые можно выбрать?
                                  Автоматически из оф.репозиториев парсится или как-то вручную модерируется?
                                  К названию пакета было бы неплохо выводить описание — я ввёл ключевое слово, мне вывалилась куча пакетов, содержащая в названии ключевое слово.
                                  Из этой кучи без описания выбрать то, что мне нужно не очень просто.

                                  Не очень понятно, что получится на выходе — будет ли дистрибутив содержать графическую систему XWindow или только консоль?

                                  Если окно браузера закрыть, прервётся ли процесс сборки?

                                  • Список пакетов берется из официального репозитория. У нас есть простой сервис, который дергает, к примеру, из ftp.ru.debian.org/debian/dists/stable/main/binary-armhf/Packages.xz пакеты и обновляет их в нашей базе. Каждый пакет представляется в виде документа MongoDB.
                                  • Описание к каждому пакету является приоритетной задачей. CusDeb находится в статусе альфы, поэтому ему пока не хватает некоторых важных функций.
                                  • В основу целевого образа закладывается базовая система. Если вы выберите из списка пакетов xorg + какую-нибудь DE, тогда графика будет. Мы удерживаемся от соблазна добавлять в целевой образ что-то от себя.
                                  • Да, вы можете закрыть окно/вкладку, а через некоторое время найти образ в списке в панели управления. Думаю, что нужно отправлять два письма: 1) сборка началась, 2.1) сборка закончилась удачно 2.2) сборка закончилась с ошибкой. Что думаете?
                                  1 ответ Последний ответ
                                  0
                                  • piP Не в сети
                                    piP Не в сети
                                    pi
                                    написал в отредактировано
                                    #17

                                    Да, было бы неплохо высылать уведомление, что сборка завершена.

                                    Также было бы неплохо сделать возможность внесения изменений в готовый образ

                                    1 ответ Последний ответ
                                    0
                                    • piP Не в сети
                                      piP Не в сети
                                      pi
                                      написал в отредактировано
                                      #18

                                      raspiman (2016-12-05 14:03:18):Да, было бы неплохо высылать уведомление, что сборка завершена.

                                      Также было бы неплохо сделать возможность внесения изменений в готовый образ мы рассматривали идею прикрутить к CusDeb терминал, чтобы работать с целевой прошивкой, запущенной в эмуляторе. Так вы могли бы вносить изменения в образ. Или у вас есть другая идея?

                                      1 ответ Последний ответ
                                      0
                                      • piP Не в сети
                                        piP Не в сети
                                        pi
                                        написал в отредактировано
                                        #19

                                        Мы добавили руководство пользователя на русском языке

                                        1 ответ Последний ответ
                                        0
                                        • piP Не в сети
                                          piP Не в сети
                                          pi
                                          написал в отредактировано
                                          #20

                                          raspiman , благодарю за комментарии. Мы добавили краткие описания к пакетам (к сожалению, только на английском языке), и уведомления по электронной почте о завершении сборки.

                                          Пока не придумали как реализовать внесение изменений в готовый образ.

                                          1 ответ Последний ответ
                                          0

                                          • 1
                                          • 2
                                          • Войти

                                          • Нет учётной записи? Зарегистрироваться

                                          • Login or register to search.
                                          • Первое сообщение
                                            Последнее сообщение
                                          0
                                          • Категории
                                          • Главная
                                          • Документация
                                          • Последние
                                          • Пользователи