Персонализиране на RepairDisk: Пътят към LFS

В много случаи ни се е налагало да ремонтираме система от LiveCD и в даден момент от процеса сме се оказали лишени от инструмент и когато искаме да го инсталираме, LiveCD OS ни казва, че е свършило място, чесън и вода ( да се прецака и задържи).

Този проблем наистина ми дойде поради влизането в LFS (LinuxFromScratch), което е ръководство (НЕ самата дистрибуция) за инсталиране на персонализиран Linux. Смисълът на това „разпространение“ е, че от всеки LiveCD и със съответните инструменти изтегляте кода на ядрото и други инструменти, за да изградите своя собствена система (компилирайки всичко малко по малко). Ако искате да следвате ръководството стъпка по стъпка, имате нужда от няколко инструмента и компилатори и няма liveCD с всичко, така че трябва да персонализирате един.

Хайде да го направим. Ще използваме SystemRescueCD, който предлага доста изчерпателна среда, базирана на Gentoo.

В нашия пример (инсталиране на Linux от нулата, следвайки книгата Linux From Scratch) липсват програмите Bison и Makeinfo, така че ще създадем нов ISO образ на този диск, но с новите инструменти.

ЗАБЕЛЕЖКА: Gentoo е дистрибуция, която се компилира на място всички пакети, които трябва да бъдат инсталирани, следователно процесът на добавяне и актуализиране на програми е бавен.

Въпреки че се използва мениджър на пакети (като apt-get на Debian), вместо изтегляне на пакети, изходният код се изтегля, за да го компилира на вашата машина.

За процеса ще ви трябва Linux дял (ext4 например) с поне 1.5G безплатно, въпреки че се препоръчва повече. Ако не искате да бъркате с дяловете си, използвайте виртуална машина. Разбира се, препоръчително е дялът да има няколко концерта, тъй като по време на компилирането, инсталирането, синхронизирането на хранилищата ... е необходимо временно пространство; Съветвам да използвате 8G + 2G суап дял (с 4G + 1G би трябвало да е достатъчно, но така че можем да ви уверим, че ако липсва RAM / суап, процесът ще бъде още по-бавен).

Ако приемем, че сте създали виртуална машина с 10G диск, стартирате го, като му кажете да стартира от новоизтегления SystemRescueCd. След като влезем в дял с fdisk (ако сте започнали графичната сесия, можете да го направите с gparted, но целта на тази публикация е да научи използването на основните инструменти). fdisk е интерактивна команда:

  • с опцията "n" създаваме нов дял
  • с опцията "t" променяме типа файлова система, която ще влиза в дяла
  • с опцията «w» записваме на диска
  • с опцията «q» оставяме, без да пишем промените

Когато използваме опцията "n", тя ще ни даде няколко опции, през цялото време ще използваме по подразбиране, освен когато задаваме последния сектор в първия дял, който ще трябва да напишем "+ 8G", като по този начин показва на програмата, че искаме нашия дял заемат 8GB.

При създаването на втория дял ще използваме опциите по подразбиране, тъй като останалото пространство ще бъде заето. Също така, за да кажете на fdisk, че вторият дял ще бъде от тип swap, използвайте опцията "t" (шестнадесетичният код за суап е 82). Интерфейсът изглежда така:

Команда% fdisk / dev / sda (m за помощ):

След като всичко приключи, използваме опцията "w", за да запишем промените на диска и да излезем.
Сега е време да форматирате дяловете. Ще започнем със суапа, за да го използваме незабавно:

% mkswap / dev / sda2% swapon / dev / sda2

Вече имаме форматиран суап дял и с командата супон започнахме да го използваме. Сега форматираме първия дял в ext4:

% mkfs.ext4 /dev/sda1

Можем да започнем да следваме стъпките, описани в http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, тук ги превеждам / описвам със странната анотация.

Монтираме дяла на негово място (LiveCD вече се предлага подготвен с папка / mnt / custom, където трябва да бъде монтиран дялът, в който ще направим съответните промени). Също така след монтирането ще трябва да извлечем файловете от диска, това се постига с вече подготвен скрипт. Скриптът ще отнеме известно време (тъй като изхвърля стотици мегабайта памет), ако искате да проверите дали действително работи, отидете на друг терминал (с Alt + F4 например) и направете df -h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract

Ако сега навигирате вътре / mnt / custom / customcd, ще видите няколко папки. В / mnt / custom / customcd / files основната файлова система е намерена. Сега е време да представим бъдещата нова система. Тук ще сложа командите, за повече информация относно chroot можете да видите този урок, който написах преди месец

% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

Вече сме в chrooted системата, която ще бъде системата LiveCD, след като я стартираме. Ще инсталираме липсващите пакети (bison и texinfo) с помощта на командата появят (който обработва колета на пренасяне на багаж от gentoo).

Първо синхронизираме дървото за пренасяне (еквивалент на ап-GET актуализация)
# emerge-webrsync ЗАБЕЛЕЖКА: ние използваме тази команда вместо "emerge –sync", защото тя е по-бърза, тъй като изтегля tar пакет от мрежата. Тази стъпка е необходима, защото ако не се появи, тя автоматично ще се появи - синхронизиране, забавяйки я.

След синхронизиране на дървото за пренос можем да пристъпим към инсталиране на пакетите:

# emerge sys-devel / bison # emerge sys-devel / texinfo
bison ще отнеме известно време, за да компилира, бъдете търпеливи

Оставяме chroot:# exit

Демонтираме "/ proc", така че новите инсталирани пакети да се съхраняват в squashfs. Демонтираме също "/ dev" и "/ sys", за да не забравяме по-късно
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Тъй като вече сме подготвили новата файлова система за скуош, ние я създаваме със следната команда
% /usr/sbin/sysresccd-custom squashfs
Ако искаме да добавим файл в ISO изображението, но искаме да е извън squashfs, трябва да го поставим в папката «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

В този момент официалното ръководство ви казва, че можете да настроите клавишната карта да се стартира с клавиатура по подразбиране (например "es" за испански клавиатури). Но при извършването на няколко теста скриптът, който използват за мен, не работи и това доведе до грешка при зареждане на ядрото, така че ще пропусна тази стъпка.

Славният момент настъпи, вече можем да генерираме новия ISO образ с нашата персонализирана система!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" е името, което даваме на тома, можете да го наричате както искате. Изображението се запазва в «/ mnt / custom / customcd / isofile», освен това се генерира и .md5 файл 🙂

Ако работите на виртуален диск, ключовата стъпка остава: извлечете ISO образа на виртуалната система. Има няколко начина да го направите, ще ви обясня един прост (във VirtualBox), за да не се налага да инсталирате „добавки за гости“ или нещо подобно.
Ще използваме клиента, за да получим файла през ssh тунел. За да направите това, първо трябва да конфигурираме системата за гости с корен парола. SSH сървърът се стартира автоматично, все пак го рестартираме за всеки случай.
% passwd
% /etc/init.d/sshd restart

Трябва да конфигурираме пренасочването на портове на виртуалната машина. Във VirtualBox се прави по следния начин:

  1. Имате достъп до конфигурацията на виртуалната машина
  2. В раздела за мрежата вече сте конфигурирали адаптер в NAT
  3. Потърсете опцията за препращане на портове
  4. Добавяте ново правило, с единствените параметри "порт за хост" и "порт за гости"
  5. хост = 3022 и гост = 22

С това постигнахме, че порт 3022 на нашия компютър е 22 на виртуалната машина. Стартираме клиента на Filezilla:

  1. В параметъра на сървъра пишем: sftp: // localhost
  2. В параметъра на потребителското име пишем: root
  3. В параметъра за парола поставяме този, който използваме в «passwd»
  4. В параметъра на порта записваме: 3022
  5. Щракнете върху «Бърза връзка»

Ако всичко е минало добре наляво, можем да навигираме на нашия компютър и надясно във виртуалната машина. Достатъчно е да влезете (във виртуалната машина) в папката «/ mnt / custom / customcd / isofile» и да плъзнете ISO изображението до желаното от нас място на нашия компютър.

!! Честито!! Ако всичко е минало добре, вие имате готов ISO образ с персонализиран SystemRescueCD и готов за зареждане от CD, USB ...


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Лъв каза той

    Какво добро ръководство, донякъде сложно, но много полезно.
    Добър принос.

  2.   Leper_Ivan каза той

    След това с малко повече време и без толкова дискомфорт в очите, ще го прочета старателно. Изглежда много полезно и интересно.

  3.   Карлос Санчес каза той

    Здравейте woqer, много добър пост!

    Бях с LFS от няколко години и създадох свой собствен iso, който може да ви служи, той има всичко необходимо за компилиране, тъй като е LFS. 😀 Надявам се, че е полезно за вас

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso