Видео смотреть бесплатно

Смотреть 365 видео

Официальный сайт synclub 24/7/365

Смотреть видео бесплатно

16.04.10 12:35 Shtsh

How-to`sLinux From Scratch. Part1. Подготовка к установке

Данные статьи являются сокращённой вольной интерпретацией руководства LFS. Тут будет даваться перевод необходимых действий для сбора работоспособной ОС с нуля (from scratch) с некоторыми комментариями. Стоит отметить, что я буду делать некоторые действия, которые, возможно, Вам не понадобятся — например, я буду ставить систему в файл для удобного переноса на другой компьютер. И вообще, я собираю систему только для понимания, как это делать, так что для комфортной работы будущей системы понадобится несколько другая конфигурация (например, /sources рекомендуется делать несколько десятков гигабайт, так как там происходит сборка — у меня же этого нету)

Свежую версию руководства можно получить через svn
svn co svn://svn.linuxfromscratch.org/LFS/trunk/BOOK/

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

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

Это первая статья, которая описывает самый быстрый этап — подготовку к установке LFS.

Сначала нужно создать новый раздел для установки системы. Тестовая сборка LFS, как написано в рукодстве, занимает примерно от 650 Мбайт (32бит) до 710 Мбайт (64бит). Кроме того, потребуется место для сборки файлов. Я пока решил, что гигабайт трёх мне хватит, поэтому создал файл примерно на 3,1GB.
dd if=/dev/zero of=/media/win_d/lfswelinux bs=100M count=30

Дальнейшие операции выполнялись под рутом
1
2
sudo -s
mkfs.ext3 /media/win_d/lfswelinux

Тут мы создаём в файле файловую систему ext3. mkfs ругнётся, что это не блочное устройство, на что мы ответим, что нам всё равно. Далее для удобства создадим переменную LFS, где будет храниться путь к точке монтирования нашего раздела с LFS, создадим такую директорию и примонтируем туда наш образ.
1
2
3
4
export LFS=/mnt/lfs
mkdir -vp $LFS
mount -o rw,loop /media/win_d/lfswelinux $LFS
mkdir -v $LFS/usr


После этого создаём там папочку sources и присваиваем ему права 1777. Для чего нужна единичка в начале? Это так называемый sticky-bit. В результате у нас все могут писать в этот каталог, но удалять можно только те файлы, владельцем которого являешься.
1
2
mkdir -v $LFS/sources
chmod -v a+wt $LFS/sources


Так как при установке будет собираться временная система, то создаётся специальный каталог /tools для того, чтобы потом отделять её от основной системы
1
2
mkdir -v $LFS/tools
ln -sv $LFS/tools /

В результате в системе-хосте появился каталог /tools. Это будет полезно при работе инструментов с хоста, чтобы собранные программы понимали, что они находятся в /tools, а не /mnt/lfs/tools.
Так как собирать систему под рутом не есть хорошая идея, есть смысл создать специального пользователя для данной цели.
1
2
3
4
5
6
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd lfs
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources
su - lfs

В результате этих действий мы создаём пользователя, его каталог, назначаем ему шелл /bin/bash, запрещаем копирование из /etc/skel и добавляем его в группу lfs. Далее там всё логично — задаём пароль, делаем владельцем $LFS/tools и $LFS/sources и логинимся под ним.

Теперь настройка пользователя. Сначала сделаем так, чтобы все переменные окружения (кроме HOME, TERM, и PS1) были пустыми в целях безопасной и корректной сборки.
1
2
3
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF


Далее настраиваем .bash
1
2
3
4
5
6
7
8
9
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF

Сначала тут отключаем функцию хеширования bash, которая запоминает полный путь к программам, чего нам не нужно. Затем задаём umask, то есть новые созданные файлы буду иметь права 755, задаём переменную LFS, задаём локаль (в основном для совместимости с glibc < 2.2.4), задаём описание машины и PATH и делаем следующее.
source ~/.bash_profile


Так как сейчас у многих несколько процессоров (ядер), то есть смысл указать make, что нужно работать в несколько потоков. Для двухъядерного процессора я указал, что нужно использовать 2 потока.
set MAKEFLAGS='-j 2'


После этого можно приступать к сборке.



Username 16.04.10 13:46 # +0
Для двухъядерного процессора я указал, что нужно использовать 2 потока.

рекомендуют количество ядер + 1
Shtsh 16.04.10 13:52 # +0
Да, я это читал. Но в руководстве LFS для двухъядерного процессора было выбрано 2, и я не думаю, что разница будет очень уже большая. Да и хотелось бы что-то параллельно на компьютере делать, а при большом количестве потоков хост-система (как я понимаю) будет слишком сильно для этого нагружена.
Username 16.04.10 13:58 # +0
да вообще ты прав, все эти флаги - по-моему унылая попытка увеличить скорость света. Бррррр вспомнил как ставил генту. Фу прям.
CrankY 16.04.10 20:24 # +0
Несколько раз пробовал собирать LFS, но... как говорится, "то ли лыжи не едут..." - постоянные проблемы при сборке, обычно затыкаюсь на этапе второй сборки gcc.

Короче, подумал, что не стоит эта штука моего времени, и пока забил)
У меня так же с Gentoo было, но в конце концов собрал.
Может, и LFS когда-нить получится)
Shtsh 16.04.10 20:41 # +0
У меня в первый раз не получилась вторая сборка gcc, когда я забыл туда скопировать папки mpfr и gmp
Как вариант, может помочь сборка в один поток
Ну, и традиционный совет - попробовать проверить память при помощи memtest
predator 16.04.10 21:37 # +1
Странно. Мне сборка LFS показалась простым копипастом в командную строку. Были проблемы, но только из-за моей невнимательности.
Shtsh 16.04.10 22:49 # +2
ну, лично моё мнение - сейчас сборка LFS имеет реальный смысл лишь в учебных целях. В обычных условиях удобнее использовать ту же генту или слаку. А для того, чтобы разобраться - просто копипастить не продуктивно.
zivot_je_cudo 19.04.10 11:59 # +0
http://welinux.ru/post/861/

Лучшие блоги (все 107)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2128 из 160 городов)
Топ пользователей Топ блогов
В сети: alienrom, Shtsh, digiwhite

Новенькие: korovann, blaw, off220, troyane, arts
welinux.ru

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн