sleepycat |
|
![]()
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
Призказка: Вообщем, волнения по причине нового образа арчлинукса сподвигли автора на этот эксперимент. Данная статья (скорее howto) не претендует на полноту изысканий, поскольку автор в момент эксперимента пытался додумать сам логику инсталлятора, основываясь на логике и именах файлов. (Вскрывать и изучать initrd ну крайне не хотелось) Весь материал носит характер примера. Сказо о том, как я ночью делал “ремастер” релиза. Подготовка: Данный материал базируется на текущем релизе арчлинукса. А именно на 2012.07.15-netinstall-dual. Этот образ доступен по адресу https://www.archlinux.org/download Скачав образ , перенесите его в каталог ~/tmp. (если каталога нет - создайте его) Приступим, потихоньку. Монтируем образ. $ sudo mount -o loop ~/tmp/archlinux-2012.07.15-netinstall-dual.iso /mnt/temp $ mkdir -p ~/remasters/arch $ cp -R /mnt/temp/* ~/remasters/arch/ $ sudo umount /mnt/temp $ mkdir ~/remasters/newsfs $ cd ~/remasters/newsfs Примечание: Автор взял за пример архитектуру i686, в основном из-за удобства, т.к. система, на которой идет работа, имеет такуюже. Др. образы редактируются также. $ unsquashfs ~/remasters/arch/arch/i686/root-image.fs.sfs $ sudo mount -o loop squashfs-root/root-image.fs /mnt/temp $ ls /mnt/temp/ Все остальные нужные файлы также просто переносятся в проектную фс. Не мудрствуя лукаво и не изобретая велик, автор положил документ в диру /root. Примечание: Можно класть куда угодно, лишь бы Вы потом вспомнили , куда запихали. Единственно, куда автор не советует класть личные файлы - это в древа /usr/share и /usr/lib , поскольку есть предположения, что они служат точками монтирования для др. сквош-образов. $ sudo cp /usr/share/doc/howto/ifconfig-route.txt /mnt/temp/root/ $ sudo mkdir /mnt/temp/usr/local/share/localepkg Для того , чтобы поправить ситуацию, можно пройти процедуру: ————————- Утилитой dd, создаем файл нужного размера (800 мегабайт) с тем же именем (root-image.fs): $ dd if=/dev/zero of=/tmp/root-image.fs bs=1M count=800 Примечание: можно и ext2 $ mkfs.ext4 /tmp/root-image.fs Примечание: Если говорить о строгой последовательности команд в этом хауту, то оригинальный контейнер уже примонтирован в /mnt/temp и первая команда сл. листинга - лишняя. $ sudo mount -o loop ~/remasters/newsfs/squashfs-root/root-image.fs /mnt/temp $ sudo mount -o loop /tmp/root-image.fs /mnt/temp2 $ cp -a /mnt/temp/* /mnt/temp2/ $ sudo umount /mnt/{temp,temp2} $ mv /tmp/root-image.fs ~/remasters/newsfs/squashfs-root/ $ sudo mount -o loop ~/remasters/newsfs/squashfs-root/root-image.fs /mnt/temp Вернемся к тому, где остановились. Примера ради, автор копирует пакет wicd и все его зависимости. (Надо отметить, что часть из них есть уже в образе, но автор не стал тратить время на отсев) $ sudo pacman --cachedir=/mnt/temp/usr/local/share/localepkg/ -Sw python2 dbus-python dhcpcd wpa_supplicant wireless_tools inetutils net-tools ethtool shared-mime-info python2-urwid pygobject dbus-glib wicd $ sudo umount /mnt/temp $ mv ~/remasters/arch/arch/i686/root-image.fs.sfs ~/tmp/root.img.orig $ mksquashfs squashfs-root root-image.fs.sfs $ cp ~/remasters/newsfs/root-image.fs.sfs ~/remasters/arch/arch/i686/ $ ls ~/remasters/arch/arch/i686/ $ cd ~/remasters/arch/arch/ $ mv checksum.i686.md5 ~/tmp/ $ md5sum aitab i686/root-image.fs.sfs i686/lib-modules.fs.sfs any/usr-share.fs.sfs > checksum.i686.md5 $ cd ~/remasters Примечание: Этот инструмент часть пакета cdrkit. $ genisoimage -l -r -J -V "ARCH_201207" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o ~/arch-custom.iso arch $ ls -la ~/arch-custom.iso —————————— Далее написано относительно консоли, уже загруженного нашего образа арча. Т.е. автор проверил свое поделие в virtualbox. Образ i686 успешно загрузился. Сл. контент не относится к теме материала и им можно пренебречь. —————————- Далее пишу по памяти, осторожно, могуть быть опечатки. Для проверки я лишь “включил” в арче русский язык и проверил свои личные файлы на предмет их наличия. (Заодно и глянув на новый релиз =] ) Русифицируемся. Напишу тут, может поможет немного новичкам, которые где-то не доглядели. Итак, научимся сегодня входить и выходить из тьмы. Увидев содержимое файла, стрелками (для начала) опускаемся до строки вида #ru_RU.UTF-8. Стрелками ставим курсор на первый знак в строке - #. Жмем клавишу Янь - она же клавиша ‘x’. После содеянного , первый символ должен удалиться. Чтобы выйти из вима и сохранить файл проделайте сл. комбинацию - Esc,:wq,Enter (где запятыми я просто отделил последовательности, запятые вводить не нужно) Чтобы выйти из вима , не сохраняя результаты вашего деяния - Esc,:q!,Enter # vi /etc/locale-gen Для предыдущей операции подойдет любой редактор, какой сможете найти. Автор адепт vim, поэтому штатного vi хватает, чтобы не искать альтернативы. Пользуйтесь любым, это просто пример. Далее собственно генерируем новое. # locale-gen # locale -a # LANG="ru_RU.UTF-8" # LC_ALL="ru_RU.UTF-8" # locale # setfont cyr-sun16 # less /root/ifconfig-route.txt Проверим наличие наших пакетов. # ls /usr/local/share/localepkg Заключение: Надеюсь хоть кому-то это пригодится. Удачи. Риквизиты: Автор: sleepycat < [email protected] > Соавторы и рецензоры: BeerMan < [email protected] > Дата выкладки: 30.07.2012 Последнее редактирование: 31.07.2012
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
bsm |
|
Темы:
47
Сообщения:
184
Участник с: 18 января 2012
|
Спасибо. Попробую. |
beerman |
|
Темы:
0
Сообщения:
21
Участник с: 18 января 2010
|
Вот спасибо за инструкцию! Если честно - первая, найденная мной, вменяемая инструкция по сборке образа на Линухе. :-) Да еще без всяких GUI'шек. Правда, такого “высшего пилотажа”, как пересборка сквош-образа, мне не требуется, но для, как грится, повышения квалификации - пригодится! В общем, направление взял, буду пробовать! ![]() ================== Есть! Все получилось! ОГРОМНОЕ спасибо! Отлично все загрузилось с iso'шки, мои файлы доступны. Еще проверю на “железе”, но, думаю, тут уж ничего возникнуть не должно. P.S. Правда второй загрузчик, таки, пропал (о котором я подозреваю, что он для EFI), ну, думаю он мне не пригодится. :-) Чтобы было понятней, о чем я говорю: вот как отображает информацию о boot-образах “WinImage”: ![]() |
sleepycat |
|
![]()
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
BeerManя бы хотел сделать получше, попроще, но единственно где я мог предположить проверку, а значит и ошибки, котрольной суммы, это образа сквош. От этого и отплясал. На самом деле никакой это не высший пилотаж, команды простые… Чтобы сделать попроще - нужно точно знать как происходит процесс. А для этого нужно время. Я особо не читал доки, да и где их искать, тут только спросить у того кто делал (ну или медитировать над инитом). Мне просто повезло, что я методом тыка смог “подставить внутрь” свое. Ну а как получилось, тем и поделился, все это на скорую руку. Например , если добавить пару др. пакетов, да взять какойнито скрипт автокоманд у ProFfeSsoRr'а, который бы поднимал систему сам , пускай всего по 1 шаблону, вот был бы пилотаж.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
vadik |
|
Темы:
55
Сообщения:
5395
Участник с: 17 августа 2009
|
sleepycatДальше новичка ждет увлекательнейшее путешествие в мир поисковиков с вопросом древним как мир: “как выйти из vi?”. ) П.С. Пожалуй тему пока прикреплю, надеюсь автор ее не забросит. |
beerman |
|
Темы:
0
Сообщения:
21
Участник с: 18 января 2010
|
sleepycatНе спорю. Когда знаешь куда смотреть. :-) sleepycatДа ну. Это уже перебор, наверное. Т.е. - вещь нужная, но меня и консоль устраивает. А если уж не заморачиваться, можно, “тупо”, за tar-ить установленную систему и закинуть на iso-образ. Делал неоднократно - работает на-ура. И переносится с компа на комп, с совершенно разным “железом” - без проблем. Максимум - initrd перегенерить нужно и загрузчик установить. sleepycatНормально, все предельно понятно. Просто, как говорил кто-то из пиратов в “Острове сокровищ”: “я просто взял не тот галс”. :-) Главное, это именно то, что мне и было нужно. Думаю и другим пригодится. Мало ли, в какой-нить образ что-то свое добавить захочется. Думаю, довольно распространенная ситуация. |
sleepycat |
|
![]()
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
по поводу “двух” загрузчиков. Я чтото такое подозревал, видя диру EFI, но поскольку она мне “до фонаря” и про вторую загрузку я узнал только когда Вы написали, становится очевидным, что я ее и не хотел и не мог видеть. Но однако, стоит это посмотреть. Вообще то, что показано на скриншоте, похоже на выкрутас программиста, который хочет себя поставить(возможно там два загрузчика чисто изза того, что один из этой пары чегото не умеет, и вместо того чтобы намутить один, они извернулись и положили два, вообщем очень лень разбираться с вещами , которые мне кажутся не очень одекватными…), если руки дойдут, я постараюсь вернуть положенную систему, просто видно я не тот загрузчик воткнул, не первостепенный, вообщем не ясно мне пока, что я прицепил. С первого взгляда все хорошо)))), поэтому я ничего не заподозрил.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
beerman |
|
Темы:
0
Сообщения:
21
Участник с: 18 января 2010
|
sleepycatДа-да-да! У меня всё аналогично сказанному. :-) Я, конечно, еще проверю на IBM-ком “лезвии” (на bare metal), как оно грузится. Но обычно BIOS'овского загрузчика хватало. Как я писал ранее (в другой ветке), на предыдущих образах был только BIOS загрузчик. И что образ 2010-05 грузился на “лезвиях”, а 2011-08-19 уже “выделывался”. В общем, ~ через неделю, выйду на работу, освобожу “лезвие”, попробую и отпишусь. Надеюсь, все будет нормально. :-) sleepycatПочему не тот? Именно первостепенный, т.к. BIOS, все же, постарше будет. ;-) Еще подумалось: скорее всего, образ только с BIOS-загрузчиком не пойдет на “фильдиперсовых” современных ноутах (например), где BIOS уже убрали, оставив только EFI. Говорят 7-ка на таких ноутах (от включения питания) грузится до 10 секунд… :-) |
sleepycat |
|
![]()
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
тут уже придется просить др. человека дополнить статью. Так как я пока не собираюсь покупать новые ноут или онли-ефи мат. плату. Просто пока ресурсов нет ;) . Да дело не в том кто мудрее и старше, я так понимаю в нормальном образе как то само грузится, происходит выбор? или какойто выбор(ручной) есть? Может он просто перескакивает на др. загрузчик и берет уже др. меню. Короче, щас бородатые дядьки под вечер придут, и ктонито раскусит этот орех. А я внесу комментарии в топик. Просто до этого случая мои исошки както обходились одним загрузчиком, надо почитать. Да и я предпочел бы увидеть сам, но доберусь только вечером, если не отрублюсь. PS Говорят всякое, во вторых хомяк и вправду взлетает быстрее чем ультимейт. Да и никто не говорит , сколько грузится сама EFI. ;) Так что тут надо сесть с секундомером, и тогда узнаем хуизху.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|