Tags: linux

Image

LFS создание инструментария

ImageПеред началом компиляции линкера и ассемблера, которые являются главной частью binutils, проверяю переменную окружения $LFS
echo $LFS
Должна быть установлена в /mnt/lfs,
так и есть.
Распакуем binutils командой tar -xvf в папку и, находясь в этой папке, создаю отдельную папку binutils-build. Это рекомендовано разрабочиками, чтобы сбор происходил в отдельной папке.
 mkdir -v ../binutils-build
cd ../binutils-build
И в новой папке начинаем строить линкер, ассемблер и остальные программы пакета.
CC="gcc -B/usr/bin/" ../binutils-2.17/configure --prefix=/tools --disable-nls --disable-werror
make
make install
У меня все нормально собралось и разместилось по новым папкам.
Затем почистим
make -C ld clean
make -C ld LIB_PATH=/tools/lib
cp -v ld/ld-new /tools/bin
Ну, вот, вроде и собрал двоичные утилиты -- краеугольный камень в строительстве нового Линукса.
Image

LFS установка окружения

LFSДля установки чистых, "с нуля" переменных окружения служит следуещее содержимое файла .bash_profile
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
Курсивом выделена часть, которую нужно ввести по приглашению команды cat. По концу файла EOF команда выполнится и в файл попадут нужные мне строки.
Затем изменяю еще один файл
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
EOF
Шелл будет искать программы сначала в папке tools, что нужно для компиляции.
Ну и применяю созданный профайл:
source ~/.bash_profile
Все готово для компиляции инструментов, которые после создания системы будут удалены.
Image

LFS Инструменты

LFSПродолжаю строительство Линукса с нуля.
Выполнять компиляцию инструментария с правами root смысла не имеет, да и небезопасно.
Поэтому рекомендовано создать группу и юзера lfs. Что я и делаю:
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
-k в пустоту предотвращает копирование файлов по умолчанию из скелета, то есть домашняя папка юзера lfs будет пустой.
-m -- создать папку
Дадим юзеру lfs пароль, чтобы залогиниться в дальнейшем
passwd lfs
Меняем владельца ранее созданных папок с источниками и служебными программами
chown -v lfs $LFS/sources
chown -v lfs $LFS/tools
Логинюсь как lfs
su - lfs
После перекура займусь установкой окружения.
Вообще, лучше всего заниматься учебным строительством Линукса на виртуальной машине. Пользуясь снимками состояний машины можно в любой момент вернуться к предыдущим точкам, а также не вводить вручную каждый раз переменные среды.
Image

LFS монтирование диска

LFSПо книге после форматирования диска и создания раздела подкачки нужно создать в окружении переменную LFS.
Что и делаю.
export LFS=/mnt/lfs
Можно проверить значение переменной
echo $LFS
Создаю папку с LFS
mkdir -pv $LFS
(-p -- создать родительские папки, нет ошибки, если существуют, -v -- побольше инфы на экран)
Монтирую диск с будущей системой к папке в системе виртуальной с Live-CD
mount -v -t ext3 /dev/sda1 $LFS
(-v -- расширенная информация о происходящем, -t -- тип файловой системы).
Раздел подкачки тоже надо подключить
/sbin/swapon -v /dev/sda5
Эти операции придется производить часто, как я понимаю, поскольку в нашем районе теперь часто гаснет свет.
Image

LFS форматирование диска

ImageПокурив, решил отформатировать новый раздел в виртуальной системе.
Делается просто (-j -- создать журнал, то есть форматировать в ext3, -v -- verbose, то есть побольше сообщений на экране):
mke2fs -jv /dev/sda1
sda1 и sda5 -- получившиеся у меня разделы. swap пока не форматирую.
Добавлю, что с диском все проходит как по маслу. Если собирать из пакетов на хост-системе, возможны всякие нюансы.
P.S. Раздел подкачки создается так
mkswap /dev/sda5
имею теперь основной раздел и раздел подкачки, оба отформатированы.
Image

LFS или ликбез сисадмина

Linux From ScratchРазговоры про новый интерфейс Windows 8, облачные хранилища и использование личных данных навеяли на меня тоску. Может, я по природе анархист, не знаю. Но Линукс и вообще свободное и открытое программное обеспечение снова возникли на моем пути. Для ликвидации безграмотности, хотя и админю, решил я пройти LFS. Скачал загрузочный Live-CD 6.8. Новее дисков нет. Книгу скачал той же версии. Поставил VirtualBox и подмонтировал в нем диск LFS.
Первое задание по книге, да и мне понятное, создать партишн на виртуальном диске
Collapse )
  • Current Music
    Сева Новгородцев 1982 архив передач
  • Tags