Книга стремится быть относительно универсальной - дать возможность заставить это собрать на почти любой платформе.
Первый раз gcc собирается чтоб собрать libc - не факт что компилятор на исходной машине соберёт libc без ковыряний с флагами.
Второй раз компилятор собирается лишь затем, чтобы последующие приложения линковались уже с _нами_ собранной версией libc(зачем - первое предложение).
Минимальный набор софта - глава 5 - нужен чтобы выполнить инструкции главы 6 =))) А если серьёзно, что это минимум, необходимый для сборки приложений из части 6. Не больше и не меньше.
Глава 6 - наша будущая система. Она у нас может функционировать без исходной и промежуточной систем. Этого мы и добивались несколько часов. Основной момент - мы заставили все приложения искать libc и libgcc в /lib и показали gcc путь к заголовочным файлам - /usr/include. Как видно, все пути начинаются с корня. Создание второго независимого корня и требует промежуточную систему(глава 5).
Почему нельзя было взять Бубунту, и собрать на ней новые gcc, libc и минимальный набор софта? Во-первых, после такого ты будешь обязан себя ненавидеть, во-вторых - во-первых, и только в третьих - это наикривейшее и наигеморройнейшее решение. А если серьёзно - читай первое предложение ;)
>Почему нельзя было взять Бубунту, и собрать на ней новые gcc, libc и минимальный набор софта? Во-первых, после такого ты будешь обязан себя ненавидеть, во-вторых - во-первых, и только в третьих - это наикривейшее и наигеморройнейшее решение. А если серьёзно - читай первое предложение ;)
Вот, а если берется LiveCD из поставки LFS ?
Т.е. еще раз сфокусируем внимание на предложение - смысл сборки первоначального gcc, если используется LFS LiveCD ?