6.7 Заголовки Linux 'делают mrproper' сбоями в lfs 7.5

если бы мне, оказывается, нужен мой диск для виртуальной машины, как я сказал бы планировщику останавливаться?

Крон и anacron являются (обычно) сервисами демона. Можно остановить и запустить их способ, которым Вы останавливаете и запускаете любой другой сервис.

крон не был бы хорош, так как он не будет работать, когда мой компьютер будет выключен

Это - довольно жесткий критерий для двигений. Что это, Вы хотите, чтобы программное обеспечение сделало, в то время как компьютер выключается?

anacron мог бы быть лучше, но я предполагаю, что он выполнил бы все задачи прямо после начальной загрузки.

По-видимому. Вот идея хотя: запустите и остановитесь anacron с cron.

Выполните только один диск тяжелая задача за один раз

Anacron имеет эту опцию:

- s
Сериализирует выполнение заданий. Anacron не запускает новое задание перед предыдущим законченным.

Это просто оставляет Вас для реализации этих двух:

  • Не работайте, работая от батареи.
  • Обеспечьте некоторое видимое состояние. Это могло быть через kdialog даже.

Первое могло быть выполнено при наличии проверки крона состояние батареи, прежде чем это запустит anacron. Второе могло быть сделано большое разнообразие путей; Вы уже предложили тот сами.

3
23.05.2017, 15:39
3 ответа

Я не знаю, правильный ли мой предыдущий ответ или нет.

Я решил продолжить делать LFS-7.5 в Linux Mint, где пользователь lfs присутствовал в файле sudoers. После окончания главы 5 я снова получил ошибку в главе 6.7 make mrproper. Итак, я удалил всю папку под $LFS за исключением $LFS/sources и начал с самого начала.

После завершения 2-го прохода gcc я проверил, указывали ли библиотеки gcc на те, что находятся под $LFS/инструменты или нет. Но я обнаружил, что они все еще указывают на /usr хост-системы.

Итак, я перестроился с 1-го прохода gcc, а потом все было в порядке.

Итак, после 2-го прохода gcc, делаем:

ldd $LFS/инструменты/бин/$LFS_TGT-gcc

и если полученный результат указывает на /usr, переделываем с 1-го прохода gcc.

По крайней мере, это метод, который я использовал, и сразу же после повторения 1-го прохода gcc во 2-ой раз вывод вышеприведенной команды указывал на $LFS/tools/lib.

4
27.01.2020, 21:19

мне удалось успешно выполнить make mrproper и следующие команды. На самом деле я не знаю, является ли это решением вышеописанной проблемы. Во всяком случае, вот оно:

я использовал Ubuntu 14.04 и я создал lfs пользователя, как это было предложено в книге LFS-7.5. Но проблема была в том, что я не понимал до тех пор, пока позже, намного позже, когда chroot не попал в раздел LFS, которого, если пользователь не был в файле sudoers.

Ubuntu не добавила пользователя автоматически в файл sudoers, вероятно, по замыслу людей Ubuntu. Возможно, это и есть причина, я не пробовал его снова на Ubuntu.

Я разочаровался и начал пробовать LFS-7.5 в Linux Mint 16 и он автоматически добавил пользователя в файл sudoers, и все прошло хорошо в Глава 6.7 во время сборки и установки заголовков линукса.

.
0
27.01.2020, 21:19

У меня была точно такая же проблема. Я проверил динамический компоновщик, используемый gcc :readelf -l /tools/bin/gcc | grep interpreter, и это был не /tools/lib64/ld -linux -x86 -64.so.2 , а /lib64/ ld -linux -x86 -64.so.2 . Итак, gcc не мог запуститься, потому что этого файла не существовало.
Проблема возникла на этапе сборки gcc Pass2. Я не помещал определение CC, CXX, AR и RANLIB в ту же строку, что и команда configure.

Я побежал

CC=$LFS_TGT-gcc
CXX=$LFS_TGT-g++
AR=$LFS_TGT-ar
RANLIB=$LFS_TGT-ranlib
../configure --prefix=/tools...

Вместо

CC=$LFS_TGT-gcc \
CXX=$LFS_TGT-g++ \
AR=$LFS_TGT-ar \
RANLIB=$LFS_TGT-ranlib \
../configure --prefix=/tools...

Та же проблема может возникать на этапе сборки binutils pass2. Я предполагаю, что это проблема переменного фокуса.

0
27.01.2020, 21:19

Теги

Похожие вопросы