Налаштування диска відновлення: шлях до LFS

Багато разів нам доводилося відновлювати систему з LiveCD, і в якийсь момент процесу ми виявляли, що нам бракує інструменту, і коли ми хочемо його встановити, ОС LiveCD повідомляє нам, що в ній не вистачає місця, часнику та води ( ебать і тримати).

Ця проблема дійсно прийшла до мене через перехід до LFS (LinuxFromScratch), що є керівництвом (а не самим дистрибутивом) для встановлення користувацького Linux. Суть цього "розподілу" полягає в тому, що з будь-якого LiveCD і за допомогою відповідних інструментів ви завантажуєте код ядра та інші інструменти для побудови власної системи (збираючи все потроху). Якщо ви хочете слідувати покроковому посібнику, вам потрібно декілька інструментів та компіляторів, і немає liveCD з усім, тому вам доведеться налаштувати один.

Давайте зробимо це. Ми будемо використовувати SystemRescueCD, який пропонує досить всебічне середовище, засноване на Gentoo.

У нашому прикладі (встановлення Linux з нуля, слідуючи книзі Linux From Scratch), нам не вистачає програм Bison та Makeinfo, тому ми збираємося створити новий образ ISO цього диска, але за допомогою нових інструментів.

ПРИМІТКА: Gentoo - це розподіл, який компілюється на місці всі пакети, які слід встановити, тому процес додавання та оновлення програм повільний.

Незважаючи на те, що використовується менеджер пакетів (наприклад, apt-get Debian), замість завантаження пакетів завантажується вихідний код, щоб скомпілювати його на вашому комп'ютері.

Для цього вам знадобиться розділ Linux (наприклад, ext4) із щонайменше 1.5 Г безкоштовно, хоча рекомендується більше. Якщо ви не хочете возитися з розділами, скористайтеся віртуальною машиною. Звичайно, доцільно, щоб розділ мав кілька гігабайт, оскільки під час компіляції, встановлення, синхронізації процесів сховищ ... потрібен тимчасовий простір; Я раджу використовувати розділ 8G + 2G своп (з 4G + 1G цього повинно бути достатньо, але ми гарантуємо, що якщо відсутня оперативна пам'ять / своп, процес буде ще повільнішим).

Припускаючи, що ви створили віртуальну машину з 10G-диском, ви запускаєте її, наказавши їй завантажуватися із щойно завантаженого SystemRescueCd. Опинившись всередині, ми робимо розділи за допомогою fdisk (якщо ви розпочали графічний сеанс, ви можете зробити це за допомогою gparted, але мета цієї публікації - навчити користуватися основними інструментами). fdisk - це інтерактивна команда:

  • з опцією "n" ми створюємо новий розділ
  • з опцією "t" ми змінюємо тип файлової системи, яка буде входити в розділ
  • з опцією «w» записуємо на диск
  • з опцією «q» залишаємо, не записуючи змін

Коли ми використовуємо опцію "n", це дасть нам кілька варіантів, весь час ми будемо використовувати за замовчуванням, за винятком встановлення останнього сектора в першому розділі, який нам доведеться написати "+ 8G", таким чином вказуючи програмі, що ми хочемо наш розділ займають 8 Гб.

При створенні другого розділу ми використовуватимемо параметри за замовчуванням, оскільки решта місця буде зайнята. Також, щоб повідомити fdisk, що другий розділ буде типу swap, використовуйте опцію "t" (шістнадцятковий код для swap - 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) і виконайте дф-х.

% 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) за допомогою команди з'являтися (хто обробляє посилку portage від gentoo).

Спочатку ми синхронізуємо дерево переносу (еквівалент apt-get поновлення)
# emerge-webrsync ПРИМІТКА: ми використовуємо цю команду замість "emerge –sync", оскільки вона швидша, оскільки вона завантажує tar-пакет з Інтернету. Цей крок необхідний, тому що якщо ви не з’явитесь, він автоматично з’явиться –синхронізується, уповільнюючи його.

Після синхронізації дерева переносу ми можемо перейти до встановлення пакетів:

# emerge sys-devel / bison # emerge sys-devel / texinfo
зубрам знадобиться деякий час, щоб зібрати, запасіться терпінням

Залишаємо 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. Для цього спочатку потрібно налаштувати гостьову систему за допомогою пароля root. Сервер ssh запускається автоматично, ми все одно перезапускаємо його про всяк випадок.
% passwd
% /etc/init.d/sshd restart

Ми повинні налаштувати переадресацію портів віртуальної машини. У VirtualBox це робиться наступним чином:

  1. Ви отримуєте доступ до конфігурації віртуальної машини
  2. У розділі мережі ви вже налаштували адаптер у NAT
  3. Шукайте варіант переадресації портів
  4. Ви додаєте нове правило з єдиними параметрами "порт порту" та "порт порту"
  5. host = 3022 і guest = 22

Цим ми досягли того, що порт 3022 нашого ПК - це 22 віртуальної машини. Запускаємо клієнт Filezilla:

  1. У параметрі сервера ми пишемо: sftp: // localhost
  2. У параметрі ім'я користувача пишемо: root
  3. У параметр пароля ми поміщаємо той, який ми використовуємо в «passwd»
  4. У параметрі порту пишемо: 3022
  5. Клацніть на «Швидке підключення»

Якщо все пішло добре вліво, ми можемо орієнтуватися на нашому ПК та вправо у віртуальній машині. Досить отримати доступ (у віртуальній машині) до папки «/ mnt / custom / customcd / isofile» і перетягнути ISO-образ туди, куди ми хочемо на нашому ПК.

!! Вітаю !! Якщо все пройшло добре, ви маєте готовий образ ISO із налаштованим SystemRescueCD і готовим до завантаження з компакт-диска, USB ...

Основне зовнішнє посилання: http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd

3 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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

  1.   Лев - сказав він

    Який хороший путівник, дещо складний, але дуже корисний.
    Хороший внесок.

  2.   Лепер_Іван - сказав він

    Потім, трохи більше часу, і без стільки дискомфорту в очах, я прочитаю його ретельно. Це видається дуже корисним та цікавим ..

  3.   Карлос Санчес - сказав він

    Привіт woqer, дуже хороший пост!

    Я працюю в LFS кілька років і створив власний iso, який може вам допомогти, він має все необхідне для компіляції, оскільки це LFS. Я сподіваюся, це вам стане в нагоді

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