Linux From Scratch

Автор olex984, 19 Января 2011, 12:22

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

olex984

19 Января 2011, 12:22 Последнее редактирование: 19 Января 2011, 14:59 от Zhek@Ch
Приветствую всех форумчан. И хочу спросить, если среди вас кто-то, кто собирал Linux с нуля (Linux From Scratch)? Просто я щас решил попробовать, точнее попробовал уже дней как 5 назад и появились траблы, и хотелось бы порешать их с кем то из казахстанских линуксоидов. Если нет таких, то есть предложение с кем нибуть попробовать собрать (лишним это ни для кого не будет).
Скачал два архива LFS-packages-6.6 и также LFS-packages-6.7 (почему два, а не сразу последний - хотел ядро как в сборке убунты 10,4 2.6.32 а не 35 как в 10,10). Вот и не сконфигурировался gcc. Вот решил скачать новый LFS 6.7 и по нему книгу (на англ правда) LFS-book-6.7. Но увы, все так же ошибки, тока уже на бинутился показывает, и дальше на gcc.
Посмотрел в логах он ищет файл gmp.h в другом каталоге. Щас попробовал добавил вручную этот каталог и туда файлы закинул вроде прошло. Теперь так же щас с mpfr сделаю.
Но таких траблов может быть много.
Так вот, если есть тут на форуме люди которые это уже проделывали, и могут поделиться знаниями, можем проделать на старых LFS-packages-ах. Главное собрать Linux с нуля http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

По форуму поиск делал, он ничего не дал (это если щас кто-то на поиск отправит).
Поиск по гуглу дает все на англ. языке, ну вы же понимаете что да, англ. надо знать, но все таки хочется нюансы на родном языке обсудить http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

skok

А что это будет? Еще один дистрибутив? Olex984Linux.  http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/laugh.gif\' class=\'bbc_emoticon\' alt=\':lol:\' />

Это не сарказм, это вопрос.

hedgeven

20 Января 2011, 08:02 #2 Последнее редактирование: 20 Января 2011, 08:10 от hedgeven
2olex984, я 6.6 собирал, кажется там gmp и mpfr надо было распаковать в исходники gcc. все компилилось. единственная проблема, почему я не довел дело до конца - собирал под x64, и появились недокументированные косяки. по сути gentoo - та же LFS, созданная для самостоятельной сборки системы с некоторыми инструментами, облегчающими этот процесс.
русский перевод книги увы сильно не актуален, без английского никак...
могу посоветовать скачать html-версию и пользоваться BabelFish - дополнение для firefox сильно упрощающее чтение на английском.
2skok, самообразование же. никогда не узнаешь так хорошо об устройстве велика пока его не разберешь и не соберешь сам.
Jah will give us everything...

olex984

20 Января 2011, 11:56 #3 Последнее редактирование: 20 Января 2011, 11:58 от olex984
Что будет? Просто ось.
Как сказал hedgeven(и попал в точку)
Цитироватьникогда не узнаешь так хорошо об устройстве велика пока его не разберешь и не соберешь сам.
hedgeven да ты прав тоже это было и исправил, правда на 6.7. Из за того что ошибки были постоянно пробую то на 6.6 то на 6.7, и щас уже запамятовал на чем собираю, но исправил я второй раз этот случай тем (потому что он ну никак не хотел брать mpc из папки gcc), что просто установил себе на убунту пакеты mpc mpfr gmp и тогда он мне сразу ОК выдал. А щас проблема в том что .configure проходит отлично а make ошибка типа [make] error: leave /каталоги/ вот щас хочу снова на 6.6 перейти потому что там таких траблов небыло, а в 6.7. уже на сборке бинутилс так же было.

А так не плохо было бы раздел на форуме создать для новичков LFS. Так что есть пожелание для ГУРУ, собрать и подробно изложить здесь как он делал все http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/wink.gif\' class=\'bbc_emoticon\' alt=\';)\' />.

Цитата: skok от 19 Января 2011, 20:09А что это будет? Еще один дистрибутив? Olex984Linux. http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/laugh.gif\' class=\'bbc_emoticon\' alt=\':lol:\' />

Это не сарказм, это вопрос.


Нет что то длинно слишком лучше типа ONUX (Oleg +Linux) или Olenux http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/laugh.gif\' class=\'bbc_emoticon\' alt=\':lol:\' />

hedgeven

20 Января 2011, 12:18 #4 Последнее редактирование: 20 Января 2011, 12:19 от hedgeven
http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />
Ubuntu - линкс для человеков. Olenux - линукс для оленей.

ну... раздел - не раздел, но ты пиши свои действия и какие ошибки появляются, и будем пытаться решить проблему. длинные вставки кидай на http://www.megabytov.net/
add: я думаю лучше писать в раздел "Другие Linux-ы и Unix-ы"
Jah will give us everything...

olex984

Начал собирать на LFS-6.6, все пошло отлично, ошибок таких небыло. Все как по книге, но до этапа сборки Binutils-2.20 part2.
Команда:
CC="$LFS_TGT-gcc -B/tools/lib/" \
 AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
 ../binutils-2.20.1/configure --prefix=/tools \
 --disable-nls --with-lib-path= /tools/lib
Выдает ошибку:
lfs@tsittser-desktop:/home/tsittser/lfs/sources/binutils-build-part2$ CC="$LFS_TGT-gcc -B/tools/lib/" AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib ../binutils-2.20/configure --prefix=/tools --disable-nls --with-lib-path= /tools/lib
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: /tools/lib
checking build system type... Invalid configuration `/tools/lib': machine `/tools/lib' not recognized
configure: error: /bin/bash ../binutils-2.20/config.sub /tools/lib failed
До этого все что предлагалось проверить:
Теперь проверим, что у нас всё работает правильно
  1
2
3
4
5
 
echo 'main(){}' > dummy.c
$LFS_TGT-gcc -B/tools/lib dummy.c
readelf -l a.out | grep ': /tools'
   
В результате должно получиться

[Requesting program interpreter: /tools/lib/ld-linux.so.2]
У меня все так же. В чем же трабл?!

hedgeven

тут пробел точно нужен?

--with-lib-path= /tools/lib
Jah will give us everything...

olex984

Цитата: hedgeven от 20 Января 2011, 17:53тут пробел точно нужен?

--with-lib-path= /tools/lib
Спасибо тебе hedgeven, точно убрав пробел вроде пошло.
Еще догадался сам(может кому интересно будет): в инструкциях стоит использование ../binutils-2.20.1/configure , исправил на ../binutils-2.20/configure и пошло без ошибок.
Буду продолжать дальше ...

olex984

Нет ну почему gcc не может ни на одном этапе нормально собраться а? http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' /> уже запарился я воевать в ней.
В части второй идет команда(в книгах):CC="$LFS_TGT-gcc -B/tools/lib/" \
 AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
 ../gcc-4.4.3/configure --prefix=/tools \
 --with-local-prefix=/tools --enable-clocale=gnu \
 --enable-shared --enable-threads=posix \
 --enable-__cxa_atexit --enable-languages=c,c++ \
 --disable-libstdcxx-pch --disable-multilib \
 --disable-bootstrap
Ошибка снова на gmp.h ругается, в логе написано что не находит gmp.h хотя он есть.
вышел из положения тем что по отдельности набиралCC="$LFS_TGT-gcc -B/tools/lib/" затем AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib и потом ../gcc-4.4.3/configure --prefix=/tools \
 --with-local-prefix=/tools --enable-clocale=gnu \
 --enable-shared --enable-threads=posix \
 --enable-__cxa_atexit --enable-languages=c,c++ \
 --disable-libstdcxx-pch --disable-multilib \
 --disable-bootstrap
Но видимо нельзя так, потому что ошибка при make make[2]: Leaving directory `/home/tsittser/lfs/sources/gcc-build-part2/libdecnumber'
make[2]: Entering directory `/home/tsittser/lfs/sources/gcc-build-part2/gcc'
make[2]: *** No rule to make target `all'. Stop.
make[2]: Leaving directory `/home/tsittser/lfs/sources/gcc-build-part2/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/tsittser/lfs/sources/gcc-build-part2'
make: *** [all] Error 2

hedgeven

я так понимаю, если задавать эти переменные и команду в разных строках, то они будут недоступны для команды.если паришься с бэкслешами, убирай их и пиши все в одну строку через пробел, они в данном случае экранируют следующий за ними перевод строки.
ЦитироватьОшибка снова на gmp.h ругается, в логе написано что не находит gmp.h хотя он есть.
лог бы поглядеть
Jah will give us everything...

olex984

Цитата: hedgeven от 21 Января 2011, 21:50лог бы поглядеть
Если не весь то вот строки:
configure:4612: checking for correct version of gmp.h
configure:4635: i686-lfs-linux-gnu-gcc -B/tools/lib/ -c -g -O2 -I/home/tsittser/lfs/sources/gcc-build-part2/gmp -I/home/tsittser/lfs/sources/gcc-build-part2/mpfr conftest.c >&5
conftest.c:12:17: error: gmp.h: No such file or directory

За выходные вот что еще наблюдается:
скачал LFS-6.3 livecd, вот в нем и пакеджы есть и инструкция для него. Загрузился, и начал делать. Были ошибки не такие конечно, но решились тем что я открыл инструкцию в браузере и стал копипастить команды, и идет пока без ошибок. Может и LFS-6.6 тоже надо под лайв сд ихом делатьт, а то я прям в системе своей ковыряю http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' /> ?
P.S. по позже хочу попробовать под диском сделать. Отпишусь как что у меня....

hedgeven

ну с liveCD конечно проще и безопаснее для базовой системы.
Jah will give us everything...

olex984

Цитата: hedgeven от 24 Января 2011, 10:49ну с liveCD конечно проще и безопаснее для базовой системы.
Вобщем, так и сделал, принес на работу live cd lfs-6.3, запустил вирт машину. Ну, уже дошел до 3 главы: "III. Building the LFS System" - пока все без ошибок. Буду пробовать дальше.

olex984

Эх, как я ошибался, когда думал что все проидет без ошибок http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' /> (см.вложение)
Кто может подсказать в каком направлении думать.?

Забыл сказать что:../gcc-4.1.2/configure --prefix=/usr \
 --libexecdir=/usr/lib --enable-shared \
 --enable-threads=posix --enable-__cxa_atexit \
 --enable-clocale=gnu --enable-languages=c,c++
ошибок не показывала. И все что по книге выше было все без ошибок и все выводы совпадали по книге.

hedgeven

Цитата: olex984 от 26 Января 2011, 13:46../gcc-4.1.2/configure --prefix=/usr \
 --libexecdir=/usr/lib --enable-shared \
 --enable-threads=posix --enable-__cxa_atexit \
 --enable-clocale=gnu --enable-languages=c,c++

где такое в книге? где сказано что префиксом надо делать /usr и вообще на каком этапе ты остановился?
и еще, неужели текстовую информацию нельзя представить в виде текста?
Jah will give us everything...

olex984

Цитата: hedgeven от 26 Января 2011, 14:16где такое в книге? где сказано что префиксом надо делать /usr и вообще на каком этапе ты остановился?
1. В книге LFS-6.3.
2. Извиняюсь, не подумал, по истории сообщений я просто выше отписал что занимаюсь щас третьей главой "III. Building the LFS System" и Там как раз мы меняем префикс с /tools на /usr.
Цитироватьи еще, неужели текстовую информацию нельзя представить в виде текста?
Я конечно извиняюсь за графический вариант, но для меня это был самый простой и быстрый способ показать вам ошибку, т.к. собираю на VirtualBox-е. А оттуда я не знаю как бы скопировать вывод в буфер и вставить в текст сообщения на форуме.

hedgeven

сейчас совсем нет времени на сборку LFS, хотя очень хотелось бы собрать. надеюсь ты решишь проблему и отпишешься здесь(похоже что ошибка опять в какой-то ерунде, попробуй внимательно перечитать, или заново начни).
вот наткнулся на забавную статью на хабре.
Jah will give us everything...

olex984

Да я тоже думаю в ерунде. ДО конца конечно постораюсь довести и тогда обязательно отпишусь и т.д. Сейчас тоже новый год, работы валом свалилось - времени нет щас копаться, как обычно в начале года: нов. договора, разные нововедения, щас разгребу и продолжу дальше.

sotrud_nik

Работать надо ребята, работать!