[devel] qemu-user-static-aarch64 не работает

Ivan A. Melnikov iv на altlinux.org
Пн Янв 18 14:52:08 MSK 2021


On Mon, Jan 18, 2021 at 12:55:51PM +0300, Arseny Maslennikov wrote:
> On Mon, Jan 18, 2021 at 12:44:40PM +0300, Arseny Maslennikov wrote:
> > On Fri, Jan 15, 2021 at 12:28:11PM +0400, Ivan A. Melnikov wrote:
> > > On Tue, Jan 12, 2021 at 01:53:00PM +0100, Pavel Nakonechnyi wrote:
> > > > On Thu, 24 Dec 2020 at 19:33, Dmitry V. Levin <ldv на altlinux.org> wrote:
> > > > >
> > > > > On Tue, Dec 22, 2020 at 05:37:33PM +0400, Ivan A. Melnikov wrote:
> > > > > > On Tue, Dec 22, 2020 at 03:37:13PM +0300, Dmitry V. Levin wrote:
> > > > > > > On Tue, Dec 22, 2020 at 04:10:29PM +0400, Ivan A. Melnikov wrote:
> > > > > > > > On Tue, Dec 22, 2020 at 03:28:38PM +0400, Ivan A. Melnikov wrote:
> > > > > > > > > On Tue, Dec 22, 2020 at 05:58:55PM +0700, Антон Мидюков wrote:
> > > > > > > > > > 22.12.2020 15:00, Антон Мидюков пишет:
> > > > > > > > > > > 22.12.2020 01:01, Dmitry V. Levin пишет:
> > > > > > > > > > >> On Tue, Dec 22, 2020 at 12:51:35AM +0700, Антон Мидюков wrote:
> > > > > > > > > > >>> Здравствуйте
> > > > > > > > > > >>>
> > > > > > > > > > >>> 19 декабря сего года сломалась инициализация hasher (как минимум) для aarch64 с использованием qemu с использованием репозитория Сизиф.
> > > > > > > > > > >>>
> > > > > > > > > > >>> hsh --init --target=aarch64 --apt-config=apt.conf.sisyphus.aarch64 --with-qemu aarch64 -v
> > > > > [...]
> > > > > > > > > > >>> libfakeroot: semop(-1): Function not implemented
> > > > > [...]
> > > > > > > > > > >>> Версия qemu 4.1.1-alt1
> > > > > [...]
> > > > > > > > > > > Попробовал актуальную версию для p9 4.2.1-alt2 на стартерките builder x86_64. Та же проблема для всех архитектур.
> > > > > [...]
> > > > > > > > > > На сизифном qemu 5.2.0-alt1 невозможно проверить из-за бага:
> > > > > > > > > > https://bugzilla.altlinux.org/show_bug.cgi?id=39141
> > > > > > > > > >
> > > > > > > > > > Проверил 5.0.0-alt1 проблема со сборкой на базе Сизифа та же, что и у более ранних версий.
> > > > > [...]
> > > > > > > > glibc начиная с 2.31 реализует semop через semtimedop
> > > > > [...]
> > > > > > > > Однако поддержка этого системного вызова в qemu-user появилась
> > > > > > > > только в 5.2:
> > > > > [...]
> > > > > > Она появилась в qemu 5.1, до того действительно не было.
> > > > >
> > > > > Объясните мне, пожалуйста, насколько нынешняя ситуация с отсутствием
> > > > > какой-либо рабочей версии qemu-user-static-aarch64 является фатальной?
> > > > 
> > > > Работающие над устройствами для aarch64, подскажите, пожалуйста, как
> > > > вы сейчас это делаете?
> > > > 
> > > > Я захотел посмотреть, насколько возможно обновить ядро до новой версии
> > > > для некоторого aarch64 устройства. qemu всё ещё нерабочий (в
> > > > описываемом плане), соответственно, установил его из архива, как
> > > > раньше (2020/06/08). qemu падать перестаёт, зато теперь новая ошибка
> > > > от fakeroot:
> > > > 
> > > > hsh-initroot: Created entry point: /home/zorg/hasher/chroot/.host/entry
> > > > libfakeroot: semop(-1): Function not implemented
> > > > hsh-initroot: Failed to create RPM database.
> > > > 
> > > > Гуглится следующее на форуме Арч:
> > > > https://archlinuxarm.org/forum/viewtopic.php?f=57&t=14466
> > > > 
> > > > Но как быть то?
> > > [...]
> > > 
> > > Если будет возможность, проверьте пожалуйста qemu-user из
> > > таска 264674. Случайно выбранный лёгкий пакет для aarch64
> > > Sisyphus у меня под ним собрался, на чём-то более интересном
> > > пока не проверял.
> > > 
> > 
> > % apt-repo
> > rpm [alt] http://mirror.cs.msu.ru/alt Sisyphus/x86_64 classic
> > rpm [alt] http://mirror.cs.msu.ru/alt Sisyphus/x86_64-i586 classic
> > rpm [alt] http://mirror.cs.msu.ru/alt Sisyphus/noarch classic
> > rpm http://git.altlinux.org repo/264674/x86_64 task
> > rpm http://git.altlinux.org repo/264674/x86_64-i586 task
> > % cat ~/aarch64-apt.conf    
> > Dir::Etc::main "/dev/null";
> > Dir::Etc::parts "/var/empty";
> > Dir::Etc::SourceParts "/var/empty";
> > Dir::Etc::SourceList "/home/ar/aarch64-sources.list";
> > % cat ~/aarch64-sources.list
> > rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus aarch64 classic
> > rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic
> > % hsh --target=aarch64 --with-qemu=aarch64 --apt-config ~/aarch64-apt.conf --initroot-only ~/hasher-aa64
> > hasher-priv: slave: chrootuid: execve: /.host/entry: Exec format error
> > hsh-initroot: Failed to create RPM database.
> > 
> > Правда, пакет из задания 264674 я выкачал вчера, а тестировать начал сегодня.
> 
> # apt-get update && apt-get dist-upgrade
> <...>
> Get:1 http://git.altlinux.org repo/264674/x86_64/task qemu-user-static-aarch64 5.2.0-alt2:sisyphus+264674.100.2.1 на 1610957480 [1604kB]
> <...>
> По дисттегу предполагаю, что сегодняшняя итерация.
> С итерацией 2.1 то же самое.

Хм, а у меня получается. А что у Вас в binfmt-misc? Нет ли там
случайно флага F например?

Ну то есть, перезагружаться пробовали?

Ну и сносить ~/hasher-aa64 со всем содержимым и создавать заново?

А ещё, если хотя бы первоначальный чрут создался, работает ли

/usr/bin/qemu-aarch64.static -L ~/$HASHER_DIR/chroot ~/$HASHER_DIR/chroot/bin/ls

> > Карманы с заданиями, до сизифа не дошедшими, и результатами предыдущих
> > итераций заданий, для которых собираются дальнейшие, у нас пропадают :(
> > поэтому теперь не знаю, как это воспроизводить.

В итерациях 264674 одинаковые исходники, так что прошлые итерации не
жалко.

-- 
  wbr,
    iv m.


Подробная информация о списке рассылки Devel