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

                                          Здравствуйте!Мы пришли к тому, что в конструкторе вместо пакетов должны быть приложения. Так-же  необходимо вынести настройки приложений на шаг Конфигурация, чтобы после сборки образа не надо было ничего дополнительно настраивать при первом запуске Raspberry.Попробуем  использовать docker-контейнеры. Начнём со сборки образов вручную, чтобы обкатать технологию. В качестве первых приложений выбрали то, чем сами пользуемся: Nextcloud, NPM registry, Mediawiki. Буды рады услышать любые другие предложения.Если всё получится - обновим конструктор.

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

                                          • 1
                                          • 2
                                          • Войти

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

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