Summary: | переложить /lib/udev/rules.d/70-uaccess.rules в udev | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Michael Shigorin <mike> |
Component: | make-initrd-plymouth | Assignee: | Alexey Gladkov <legion> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | antohami, glebfm, ldv, legion, placeholder, pv, rider |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 33000 |
Description
Michael Shigorin
2018-09-19 13:26:52 MSK
shaba@ говорит, что uaccess работает при условии запущенного logind, т.е. сейчас перекладывать смысла нет. 2 rider: в make-initrd 2.2.0 сломался твой коммит b666fe985c8e10d63affbd36f6139385a3ed8f39 (2015) 2 legion: есть ли в m-i возможность указания необязательных путей? Похоже, что /lib/udev/rules.d/70-uaccess.rules, /lib/udev/rules.d/71-seat.rules и /lib/udev/rules.d/73-seat-late.rules как минимум необязательны, а то и не нужны в initrd (где logind нет). (В ответ на комментарий №1) > 2 legion: есть ли в m-i возможность указания необязательных путей? > Похоже, что /lib/udev/rules.d/70-uaccess.rules, /lib/udev/rules.d/71-seat.rules > и /lib/udev/rules.d/73-seat-late.rules как минимум необязательны, а то и не > нужны в initrd (где logind нет). для совсем опциональных файлов можно делать так: https://github.com/legionus/make-initrd/blob/master/mk/initfiles.mk#L13-L20 если есть какие-то явные условия, то лучше делать так: https://github.com/legionus/make-initrd/blob/master/features/raid/config.mk Сделал так поверх 2.2.2-alt1 (bug 34966 читал): --- a/features/plymouth/rules.mk +++ b/features/plymouth/rules.mk @@ -2,7 +2,7 @@ MODULES_ADD += $(shell $(PLYMOUTH_MODULES)) plymouth: create @$(MSG) "Adding plymouth support ..." - @put-file "$(ROOTDIR)" $(PLYMOUTH_FILES) $(PLYMOUTH_RULES) + @put-file "$(ROOTDIR)" $(PLYMOUTH_FILES) $(wildcard $(PLYMOUTH_RULES)) Образ собрался, но plymouth при загрузке не стартует. > Образ собрался, но plymouth при загрузке не стартует. А недавнее тут читали? https://bugzilla.altlinux.org/35415 Добавил в mkimage-profiles такое -- тоже ничего не изменило: + @$(call add,STAGE1_PACKAGES,systemd) Это чтоб те самые файлики $(PLYMOUTH_RULES) долетели -- но их в full.cz _не_ наблюдаю: https://yadi.sk/d/zXb3K4k3WEoiow (В ответ на комментарий №4) > > Образ собрался, но plymouth при загрузке не стартует. > А недавнее тут читали? https://bugzilla.altlinux.org/35415 В смысле #34966? -- да, следил. > > А недавнее тут читали? https://bugzilla.altlinux.org/35415
> В смысле #34966? -- да, следил.
Да он самый.. Это я промахнулся. Тогда ok.
(В ответ на комментарий №1)
> shaba@ говорит, что uaccess работает при условии запущенного logind, т.е.
> сейчас перекладывать смысла нет.
$ initrd-ls initramfs-4.17.9-200.fc28.x86_64.img |grep -e uaccess -e seat
2 -rw-r--r-- 1 0 0 2671 May 11 12:26:48 2018 usr/lib/udev/rules.d/70-uaccess.rules
2 -rw-r--r-- 1 0 0 2758 Jul 18 13:39:09 2018 usr/lib/udev/rules.d/71-seat.rules
2 -rw-r--r-- 1 0 0 636 Jul 18 13:39:12 2018 usr/lib/udev/rules.d/73-seat-late.rules
В федоре правила лежат и logind в initrd нет. Кроме того:
$ rpmquery -f /usr/lib/udev/rules.d/{70-uaccess.rules,71-seat.rules}
systemd-udev-238-9.git0e0aa59.fc28.x86_64
systemd-udev-238-9.git0e0aa59.fc28.x86_64
У нас сейчас все SysV лайвы при установке не могут создать make-initrd. Помогает удаление make-initrd-plymouth. Но его не включить в сборку мы не можем, так как его вытягивает livecd-install. Так что давайте решим чего-нибудь до следующего вторника. ну так что мне ставить зависимость на новое место обитания правил или ставить файловую зависимость на них ? (В ответ на комментарий №8) > У нас сейчас все SysV лайвы при установке не могут создать make-initrd. > Помогает удаление make-initrd-plymouth. Но его не включить в сборку мы не > можем, так как его вытягивает livecd-install. Убрал эту зависимость, ей там в любом разе было не место: bug 35461. (В ответ на комментарий №9) > ну так что мне ставить зависимость на новое место обитания правил или ставить > файловую зависимость на них ? Пока неясно. Но хоть бы ласты-то не склеивать без них _всему_ make-initrd... > (В ответ на комментарий №9)
> > ну так что мне ставить зависимость на новое место обитания правил или ставить
> > файловую зависимость на них ?
> Пока неясно. Но хоть бы ласты-то не склеивать без них _всему_ make-initrd...
Я не понимаю такого пожелания. Ты хочешь, чтобы при отсутствии какого-то _необходимого_ файла сборка завершилась успешно ?! это сделать конечно можно, но, наверно, ты же захочешь, чтобы она ещё и рабочая была.
Если ты требуешь в конфиге фичу plymouth и для её добавления нет необходимых файлов, то сборка очевидно должна обломиться. Ты же не ожидаешь, что configure успешно завершится при указании --enable-foo и отсутствии foo.
Для опциональности есть автоугадав (для некоторых фичей). Для plymouth его нет.
Также можно говорить о неких optional-features, которые если не могут быть добавлены, то просто отключаются. НО такой категории нет (пока?). Ты либо указываешь явно что ты хочешь видеть в образе и обламываешься, если этого всего нет, либо автоугадав накидывает фичи и получаешь, то что угадалось.
http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=242ab73eb5061aa076bd4d7aa7f492a84e0893d1 Можете попробовать ? (В ответ на комментарий №12) > http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=242ab73eb5061aa076bd4d7aa7f492a84e0893d1 > > Можете попробовать ? Попробовал. Сделал для m-p: Revert "3rd stopgap: m-i/plymouth" Образ cinnamon собрался, при этом plymouth выключен. Система загрузилась без plymouth. В конфиге лайва /etc/initrd.mk отсутствует строчка: FEATURES += plymouth Т.е. для лайва make-initrd собрался без plymouth. Установил. На установленной системе. В конфиге /etc/initrd.mk присутствует строчка: FEATURES += plymouth Т.е. make-initrd для установленной системы должен был собраться с plymouth. Но при загрузке в virtualbox сплеша я не наблюдаю. Но есть заставка в grub2. Проверил на реальном железе. При загрузке с лайва сплэш появляется сразу, как только отработает загрузка initrd. Так что этот коммит проблему фиксит. (В ответ на комментарий №14) > Проверил на реальном железе. При загрузке с лайва сплэш появляется сразу, как > только отработает загрузка initrd. Так что этот коммит проблему фиксит. Окажите мне услугу, проверьте на реальном железе make-initrd _без_ этого коммита т.е. чистый 2.2.3-alt1. Просто я не могу поверить, что этот коммит фиксит проблему. (В ответ на комментарий №15) > (В ответ на комментарий №14) > > Проверил на реальном железе. При загрузке с лайва сплэш появляется сразу, как > > только отработает загрузка initrd. Так что этот коммит проблему фиксит. > > Окажите мне услугу, проверьте на реальном железе make-initrd _без_ этого > коммита т.е. чистый 2.2.3-alt1. Просто я не могу поверить, что этот коммит > фиксит проблему. С 2.2.3-alt1, если сделать Revert "3rd stopgap: m-i/plymouth", образы не собираются. Что проверять то? (В ответ на комментарий №16) > С 2.2.3-alt1, если сделать Revert "3rd stopgap: m-i/plymouth", образы не > собираются. Что проверять то? Вот что я хочу проверить: 1. Взять 2.2.3-alt1 2. Удалить из make-initrd/features/plymouth/config.mk PLYMOUTH_RULES = /lib/udev/rules.d/70-uaccess.rules \ /lib/udev/rules.d/71-seat.rules \ /lib/udev/rules.d/73-seat-late.rules 3. Собрать образ и проверить проявится ли сплэш. (В ответ на комментарий №17)
> (В ответ на комментарий №16)
> > С 2.2.3-alt1, если сделать Revert "3rd stopgap: m-i/plymouth", образы не
> > собираются. Что проверять то?
>
> Вот что я хочу проверить:
>
> 1. Взять 2.2.3-alt1
>
> 2. Удалить из make-initrd/features/plymouth/config.mk
> PLYMOUTH_RULES = /lib/udev/rules.d/70-uaccess.rules \
> /lib/udev/rules.d/71-seat.rules \
> /lib/udev/rules.d/73-seat-late.rules
>
> 3. Собрать образ и проверить проявится ли сплэш.
Сделал, но проверил пока только в virtualbox. Образ собрался, т.е. проблему решает. Сплэш в livecd работает, после установки - нет.
(В ответ на комментарий №18) > Сделал, но проверил пока только в virtualbox. Образ собрался, т.е. проблему > решает. Сплэш в livecd работает, после установки - нет. А с коммитом 242ab73eb5061aa076bd4d7aa7f492a84e0893d1 сплэш есть в livecd и после установки ? (В ответ на комментарий №19) > (В ответ на комментарий №18) > > Сделал, но проверил пока только в virtualbox. Образ собрался, т.е. проблему > > решает. Сплэш в livecd работает, после установки - нет. > > А с коммитом 242ab73eb5061aa076bd4d7aa7f492a84e0893d1 сплэш есть в livecd и > после установки ? Сплэша в virtualbox не было видно, как на livecd, так и на установленной. На реальном железе сплэш был в livecd, не устанавливал. Проверил на реальной системе, сплеш работает, как в livecd, так и в установленной системе. Нужно ещё sysV проверить. (В ответ на комментарий №21) > Проверил на реальной системе, сплеш работает, как в livecd, так и в > установленной системе. Нужно ещё sysV проверить. sysV у нас без plymoth идут. Собрал с plymouth, сплеша нет. Считаю, что надо зарелизить это изменение: > 2. Удалить из make-initrd/features/plymouth/config.mk > PLYMOUTH_RULES = /lib/udev/rules.d/70-uaccess.rules \ > /lib/udev/rules.d/71-seat.rules \ > /lib/udev/rules.d/73-seat-late.rules Чтобы во вторник регулярки собрать уже с plymouth. В сегодняшних регулярках, собранных с plymouth, этой проблемы нет. Подтверждаю исправление в версии 2.2.4-alt1 Спасибо. |