Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Categories:

ArchLinux i686 Docker images

https://hub.docker.com/r/nponeccop/archlinux-microcontainers/~/dockerfile/

Провёл полдня в работе "на бумажке", т.к. Кларо лежал. Вторые полдня занимался "приседаниями" чтобы завелись имиджи.

nponeccop/archlinux-pacstrap-i686 обошелся почти без приседаний: mkrootfs.sh. Интересно, что там лжеприседания, которые не работают. Также обнаружил, что официальный аналог debootstrap tarball у нас в i686-версии отсутствует.

В-общем есть пакет arch-install-tools, в котором утилита pacstrap может собирать чруты, и это имидж из неё.

Но оказалось, см. archlinux-base-i686/Dockerfile, что наступает несколько жоп, из-за которых голый pacstrap не работает, и надо приседать:

- в группе base в Арче лежат заведомо дебильные пакеты типа cryptsetup и e2fstools, которые в контейнере не нужны. Кроме того, pacman -Qg base перечисляет все-все пакеты из группы, а не только топовые. Короче чем перечислять список пакетов, которые НЕ надо ставить, оказалось проще перечислить то, что НАДО
- в триггере установки gpgme, который зависимость pacman, наблюдалась двойная жопа: а) в pacstrap-имидже нет coreutils, б) он генерирует какие-то ключи, а энтропии в urandom не хватало, поэтому пришлось поставить и запустить haveged
- без setarch pacstrap пытается искать 64-битный арч на зеркалах 32-битного арча, а его там нет и нам нужен именно 32-битный
- сам setarch идет в util-linux, которых внезапно нет в base
- pacstrap в процессе хочет монтировать в НОВУЮ rootfs специальные файловые системы, что не работает в докере

В-общем, завтра будет вторая итерация.
Tags: programming, vz
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments