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
    написал в отредактировано
    #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
                                    • piP Не в сети
                                      piP Не в сети
                                      pi
                                      написал в отредактировано
                                      #21

                                      Добрый день, нельзя удалить ранее созданный образ.
                                      Выдает что незадана функция.

                                      А так проект прикольный, какое все же внутри ядро? Нельзя в качестве опции, если не дебиановское поставить его в качестве возможности выбора альтернативного ядра?

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

                                        Roman (2017-01-16 11:28:04):Добрый день, нельзя удалить ранее созданный образ.
                                        Выдает что незадана функция.

                                        А так проект прикольный, какое все же внутри ядро? Нельзя в качестве опции, если не дебиановское поставить его в качестве возможности выбора альтернативного ядра?
                                        Благодарю за находку! Я исправлю удаление образов в воскресенье.

                                        С ядром всё запутано 🙂 Для Raspberry Pi 2 это 3.18 (пакет linux-image-3.18.0-trunk-rpi2 из repositories.collabora.co.uk/debian). Для Raspberry Pi 3 это самое свежее ядро Raspberry Pi Linux (https://github.com/raspberrypi/linux)

                                        Я попробую добавить Debian Stretch в CusDeb и судя по этому посту: michaelfranzl.com/2016/10/31/raspberry-pi-debian-stretch/, всё заработает прекрасно. Осталось дождаться включения вот этих изменений github.com/drtyhlpr/rpi23-gen-image/pull/57 в скрипт сборки.

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

                                          Здравствуйте!
                                          Хочу поделиться последними обновлениями cusdeb.com:

                                          1. Мы исправили ошибку, из-за которой многие не могли проинициализировать сборку. (Привет, AdBlock!)
                                          2. Добавили больше таймзон и локалей.
                                          3. Добавили уведомления по электронной почте о завершении сборки.

                                          Большое спасибо всем тем, кто поделился с нами опытом удачной и неудачной сборки образа для RPi с помощью cusdeb.com. Это очень помогло. Будем рады любым новым отзывам!

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

                                          • 1
                                          • 2
                                          • Войти

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

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