Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Windows 7, XP
  • Как собрать свой дистрибутив. Cоздание своего дистрибутива Linux с помощью Remastersys

Как собрать свой дистрибутив. Cоздание своего дистрибутива Linux с помощью Remastersys


Автор: Ben Everard
Дата публикации: 23 апреля 2015 года
Перевод: А. Кривошей
Дата перевода: июль 2015 г.

На сегодняшний день существует несколько сотен активно развивающихся дистрибутивов Linux всех цветов и размеров. Но нет ни одного точно такого же, как установлен на вашем компьютере, так как вы скорее всего настраивали его под свои предпочтения. Вы потратили определенное время на то, чтобы установить или удалить программы, изменить внешний вид и так далее.

Было бы неплохо преобразовать свою точно настроенную в соответствии со своими потребностями систему в Live дистрибутив? Вы сможете носить ее с собой на флешке, или устанавливать на другие компьютеры.
Существуют различные инструменты для создания собственного дистрибутива. Мы начнем с наиболее простого в использовании, но предлагающего ограниченное количество опций настройки, и потом перейдем к более сложным, которые позволяют тонко настроить каждый аспект дистрибутива.

Быстрое создание своего собственного Ubuntu

Подходит также для mumbuntu и dadbuntu.

За долгие годы, прошедшие с момента выхода первого релиза Ubuntu, было придумано множество утилит, позволяющих создать собственную версию Ubuntu. Отчасти этим объясняется существование огромного количества его производных. Хотя большинство их быстро забрасывают, Ubuntu Customisation Kit (UCK) жив до сих пор.

Вы можете установить UCK в Ubuntu или любом другом дистрибутиве на его базе, например в Linux Mint. Утилита есть в официальных репозиториях, поэтому вы можете установить ее с помощью пакетного менеджера. Далее, вам понадобится ISO-образ того дистрибутива, который вы хотите изменить. Чтобы упростить этот процесс, желательно использовать образ дистрибутива, включающий графическую оболочку, которую вы собираетесь задействовать. Например, если вы хотите использовать в своем дистрибутиве локализированный декстоп Gnome, лучше использовать образ Ubuntu Gnome, а не стандартного Ubuntu. Если вы работаете на 32-битной машине, образ должен быть собран для архитектуры i386. Однако если у вас 64-битная система, вы можете настраивать 32-битный образ.

После запуска UCK вы увидите приветствие и информацию о требуемом дисковом пространстве, затем мастер, который будет управлять дальнейшим процессом. На первом этапе необходимо будет выбрать язык для вашего дистрибутива вместе с языком загрузочного меню (убедитесь, что дистрибутив на базе которого вы собираете свою систему, поддерживает эти языки).

После выбора языка необходимо указать графическое окружение дистрибутива. UCK позже скачает для него файлы локализации, основываясь на вашем выборе языка. Затем необходимо будет указать местонахождение образа дистрибутива Ubuntu, который вы будете настраивать.

Затем UCK запросит у вас имя вашего дистрибутива и спросит, хотите ли вы вручную настроить свой дистрибутив. Если вы ответите положительно, откроется окно терминала, в котором корневая директория будет изменена на окружение сборки вашего дистрибутива. На последней стадии UCK предложит вам опцию удаления из вашего дистрибутива всех относящихся к Windows файлов, и создания гибридного ISO-образа диска, который можно прожечь на болванку, или скопировать на USB-флешку. После этого UCK распакует образ диска и скачает файлы локализации. Затем, вы сможете настроить дистрибутив вручную, если ранее выбрали эту опцию. Опция "Run Console Application" запустит окно терминала с оболочкой root.

Продвинутые настройки

В этом окне вы можете использовать менеджер пакетов apt-get для удаления и установки приложений. Например, вы можете установить поддержку мультимедиа с помощью apt-get install ubuntu-restricted-extras. Если ваш дистрибутив предназначен для использования на слабых машинах, вы можете удалить LibreOffice:

$ apt-get remove --purge libreoffice* /

и заменить его на AbiWord:

$ apt-get install abiword

Если вы хотите поместить на рабочий стол ярлыки для ваших программ, сначала создайте директорию Desktop:

$ mkdir -p /etc/skel/Desktop

Теперь вы можете скопировать туда ярлыки для всех установленных приложений:

$ cp /usr/share/applications/firefox.desktop /etc/skel/Desktop

и затем сделать их исполняемыми:

$ chmod +x firefox.desktop

Если вы хотите изменить обои для рабочего стола, откройте файл /usr/share/glib-2.0/schemas/10_ubuntu-settings.gschema.override в текстовом редакторе и измените параметр picture-uri на путь к вашему изображению:

Picture-uri="file:///usr/share/backgrounds/Partitura_by_Vincijun.jpg" /

Аналогично вы можете изменить тему и иконки, отредактировав соответствующие параметры в этом файле. Например, если вы хотите заменить тему Ambiance на Radiance и использовать набор иконок HighContrast:

Gtk-theme="Radiance"icone-theme="HighContrast"...theme="Ambiance"

После редактирования этого файла не забудьте скомпилировать модифицированные темы оформления:

$ glib-compile-schemas /usr/share/glib-2.0/schemas

Вы таже можете копировать файлы на свой live CD. Для этого запустите еще один терминал и перейдите в директорию ~/tmp/remaster-root/, которая является корневой для нашего live CD. Например, вы хотите скопировать определенные ярлыки и папки в Desktop:

$ sudo cp -r ~/Documents/README.txt ~/remaster-root/etc/skel/Desktop

После завершения закройте терминал chroot и выберите опцию "Continue Building" в мастере UCK. Теперь начнется сборка вашего нового дистрибутива.

Системы быстрой сборки дистрибутивов

Сборка дистрибутива в браузере с помощью SUSE Studio

SUSE Studio - это наверное самый простая система для создания собственного дистрибутива. Она графическая и работает в браузере. Вам нужен только веб-браузер и подключение к интернету. С помощью SUSE Studio вы можете создавать полнофункциональные десктопные дистрибутивы, серверные системы, или дистрибутивы, заточенные под какую-либо узкую область применения. В веб-интерфейсе вы можете добавлять пользователей, настраивать список приложений и даже настраивать внешний вид и добавлять файлы.

Можно также сэкономить себе время, установив утилиту Kickstart Configurator.

$ yum install system-config-kickstart

Эта программа предлагает простой графический интерфейс для создания файла Kickstart.

Вы можете задать требуемые вам пакеты, перечисляя их в секции %packages. Вместо отдельных пакетов здесь также можно добавить определенные группы пакетов, например gnome-desktop. Вы также можете указывать здесь пакеты из других файлов Kickstart, задавая их имя и расположение с параметром %include:

%include /usr/share/spin-kickfedora-live-base.ks

Если вам нужно после загрузки дистрибутива запустить на выполнение какую-либо команду, например для настройки сети, необходимо задать ее в секции %post. Например, если вы хотите автоматически запускать Firefox, можете поместить его ярлык в папку ~/.config/autostart, добавив в секцию %post следующие строки:

%post # autolaunch Firefoxmkdir -p /etc/skel/.config/autostartcp /usr/share/applications/firefox.desktop /etc/skel/.config/autostart/%end

Убедитесь, что конец секций %packages и %post обозначен с помощью %end. Если вы хотите запустить какую-либо команду за пределами своего live-окружения, например скопировать файлы хоста в свой дистрибутив, добавьте параметр -nochroot в секцию %post, как показано ниже:

%post --nochroot #copy resolv.conf from host to the custom distrocp /etc/resolv.conf $LIVE_ROOT/etc/%end

Переменная $LIVE_ROOT указывает на live-окружение. Аналогичным способом вы можете копировать файлы с хоста в свое live-окружение, например:

$ cp -r /home/bodhi/Music $LIVE_ROOT/

Если вы используете графическую утилиту для задания репозиториев, вы должны вручную добавить в файл Kickstart одну важную строку. Она указывает на список зеркал для репозитория Fedora (а также содержит информацию о версии и архитектуре сборки), откуда будут скачиваться пакеты. Например, если вы хотите получать пакеты для 64-битной Fedora 21, эта строка будет иметь следующий вид:

Repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-21&arch=x86_64

После того, как вы закончили с файлом Kickstart, откройте его с помощью livecd-creator для сборки дистрибутива. Предположим, файл сохранен в ~/custom-kickstarts/Custom-Fedora.ks, тогда команда будет иметь вид:

$ sudo livecd-creator --config=/home/bodhi/custom-kickstarts/Custom-Fedora.ks--fslabel=FedoraUltimate--cache=/var/cache/live--verbose

Ключ -fslabel задает имя вашего дистрибутива. После выполнения всех инструкций в файле Kickstart утилита собирает ISO-образ вашего дистрибутива, который сохраняется в вашей домашней директории.

Создание собственного дистрибутива для Raspberry Pi

New Out Of the Box Software, или NOOBS - это официальный инсталлятор для Raspberry Pi. Он упрощает и стандартизирует процесс установки дистрибутивов на Raspberry Pi. Хотя главной целью создания NOOBS является упрощение установки операционных систем на Pi, эта утилита может также использоваться для создания собственных дистрибутивов.

Сначала скачайте инсталлятор NOOBS с сайта и установите его в любом поддерживаемом дистрибутиве, на основе которого вы хотите сделать свою систему. Мы советуем использовать дистрибутив Raspbian, который рекомендуется и создателями NOOBS.

После установки и загрузки Raspbian вы можете вносить в него свои изменения. Например, вы можете изменить обои рабочего стола и сменить тему с помощью утилиты командной строки obconf, а также установить дополнительные темы с помощью команды:

$ sudo apt-get install openbox-themes

Вы также можете устанавливать или удалять с помощью apt-get, или установив графический менеджер пакетов Synaptic.

Вы можете скопировать в этот дистрибутив Raspbian любые файлы.NOOBS позволяет создать раздел размером 512 Мб, в котором вы будете хранить свои файлы. Или вы можете воспользоваться командой raspi-config, чтобы расширить корневой раздел на всю SD-карту.

Кроме того, не забудьте настроить работу с сетью. Например, вы можете настроить беспроводный адаптер для подключения к вашей точке доступа Wi-Fi, а также доступ к различным сетевым службам.

После завершения настройки дистрибутива необходимо упаковать его в архив. Перейдите в корневую директорию с помощью команды cd / и выполните следующую команду:

$ sudo tar -cvpf root.tar /bin /boot /cdrom /dev /etc /home /initrd.img /initrd.img.old /lib /lib64 /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var /vmlinuz /vmlinuz.old --exclude=proc/* --exclude=sys/* --exclude=dev/pts/*

Упаковка займет примерно полчаса, в зависимости от количества сделанных вами изменений.
Теперь у вас есть файл root.tar в корневой директории. Аналогично упаковываем загрузчик. Сначала переходим в директорию boot.

Затем создаем архив.

$ tar -cvpf boot.tar

Это не займет много времени. Теперь у вас есть файл boot.tar в директории boot.

NOOBS требует сжатые версии этих файлов. Но у Raspberry Pi недостаточно ресурсов для сжатия этих файлов, поэтому вам необходимо переместить их на PC и сжать с помощью команд xz -9 -e boot.tar и xz -9 -e root.tar. При этом исходные файлы будут заменены на их сжатые версии, boot.tar.xz и root.tar.xz соответственно.

Теперь отформатируйте SD-карту и разверните на ней свежую копию NOOBS. С помощью файлового менеджера перейдите в директорию os, которая, в свою очередь включает множество директорий, в каждой из которых имеются файлы для одного из поддерживаемых дистрибутивов, включая Arch, Pidora, Raspbian и других. Так наш дистрибутив сделан на базе Raspbian, мы можем удалить все другие директории. Назовите директорию Raspbian именем, которым вы хотите назвать свой дистрибутив.

Перейдите в эту директорию и откройте файл os.json в текстовом редакторе. Заметите текст рядом с полями name и description на свой. Удалите файл flavours.json.

И наконец, удалите имеющиеся в этой директории файлы root.tar.xz и boot.tar.xz, заменив их на свои. Это все. Теперь загрузите Pi с этой карты.

Сборка пользовательского дистрибутива на базе Arch с нуля

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

Вы можете создать пользовательский дистрибутив на базе Arch с помощью утилиты командной строки Archiso, которая представляет собой набор скриптов Bash и достаточно сложна в освоении, но при этом дает вам полный контроль над конечным результатом.

Настройка среды для сборки дистрибутива

Первое, что вам нужно для сборки - это установленный дистрибутив Arch. Инструкций по его инсталляции в сети более чем достаточно, поэтому здесь мы не будем описывать этот процесс.

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

После того, как вы настроите свой дистрибутив, откройте терминал и установите зависимости для Archiso:

$ pacman -S make squashfs-tools libisoburn dosfstools patch lynx devtools git

Теперь скачайте последнюю версию пакета archiso из репозитория Git с помощью команды:

$ git clone git://projects.archlinux.org/archiso.git

Она скопирует файлы в директорию ~/archiso. Перейдите в эту директорию и установите утилиту с помощью команды make install. После окончания установки вы можете без всяких опасений удалить директорию ~/archiso. Далее, создадим директорию, в которой мы будем настраивать файлы для нашего будущего дистрибутива:

$ mkdir ~/archlive

Убедитесь, что у вас достаточно свободного дискового пространства для размещения всех приложений, которые вы хотите установить, а также любых других файлов, которые вы решите поместить в свой дистрибутив.

Теперь вам нужно скопировать один из двух профилей Archiso. Профиль baseline хорош для создания базовой live-системы без предустановленных пакетов. Мы будем использовать профиль releng, который позволяет создать полностью настроенный под свои нужды Arch Linux с предустановленными приложениями. Для использования этих скриптов просто скопируйте их в директорию ~/archlive:

$ cp r /usr/share/archiso/configs/releng/ ~/archlive/

Добавление пакетов

Добавлять пакеты в ISO-образ с помощью Archiso также просто, как добавлять их в текстовый файл, по одному пакету на строку. В директории ~/archlive у нас три файла: packages.i686, packages.x86_64 и packages.both. Вы можете открыть их в текстовом редакторе и добавить названия пакетов, которые вы хотите включить в дистрибутив. Archiso будет считывать содержимое файла для соответствующей архитектуры и затем упаковывать их в образ, который будет работать как на 32-х, так и на 64-битных машинах. Тем не менее, для обеспечения согласованности, мы рекомендуем вам добавлять название пакетов в файл packages.both, чтобы они были доступны для обеих архитектур.

Файл packages.both уже содержит определенный набор пакетов. Вы должны оставить их там, и добавлять свои пакеты в конец файла. Вы можете вывести список всех установленных в системе пакетов с помощью команды:

И затем скопировать те, которые вам нужны. Вы можете создать базовую систему с рабочим столом Mate, менеджером входа в систему и браузером Firefox, добавив в файл packages.both следующие пакеты:

Xorg-server xorg-xinit xorg-server-utils xf86-video-vesa slim mate firefox

Вы также можете скопировать в файл packages.both все пакеты, установленные в системе, с помощью команды:

$ pacman -Qqe >> ~/archlive/packages.both

Настройка корневой директории

Директория airootfs внутри ~/archlive/ служит оверлеем для того, что будет находиться в корневой директории нового дистрибутива. Любые файлы, которые вы поместите в эту директорию, будут добавлены в файловую систему дистрибутива, поэтому, если вы используете менеджер входа Slim, скопируйте его конфигурационный файл:

$ cp /etc/slim.conf ~/archlive/airootfs/etc/

Аналогично, вам необходимо скопировать файл /etc/systemd/system/display-manager.service в соответствующее место внутри ~/archlive/airootfs/, а также директории, в которых хранятся темы оформления, а именно /usr/share/backgrounds, /usr/share/icons и /usr/share/themes.

Если вы хотите, чтобы новый дистрибутив имел тот же набор пользователей, скопируйте соответствующие файлы:

$ cp /etc/{shadow,passwd,group} ~/archlive/airootfs/etc/

Перед тем, как копировать любые файлы из домашней директории пользователя, необходимо создать директорию skel:

$ mkdir ~/archlive/airootfs/etc/skel

Эта директория отображает домашнюю директорию пользователя во время подготовки системы. Теперь вы можете копировать файлы из домашней директории:

Таким образом, вы можете скопировать любые файлы или папки из своей домашней директории в директорию skel, включая ~/.xinitrc и ~/.config.

Для того, чтобы автоматически авторизовываться в системе от имени обычного пользователя, а не root, откройте файл ~/archlive/airootfs/etc/systemd/system/[email protected]/autologin.conf в текстовом редакторе и отредактируйте следующую строку:

$ cp ~/.bashrc ~/archlive/airootfs/etc/skel/

ExecStart=-/sbin/agetty --autologin bodhi --noclear %I 38400 linux

Замените bodhi на свое имя пользователя.

Заключительные настройки

В домашней директории root (~/archlive/airootfs/root) есть файл customize-root-image.sh. Любая задача по администрированию систему, которую вы хотели бы выполнять после установки Arch, может быть добавлена в этот файл. Помните, что инструкции в этом файле должны составляться для нового окружения, то есть / в скрипте должна относиться к корневой директории собираемого дистрибутива.

Откройте файл в текстовом редакторе, найдите строку с /etc/localtime и задайте свой часовой пояс:

$ ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime

Также убедитесь, что в качестве командной оболочки установлен Bash:

$ usermod -s /usr/bin/bash root

Затем скопируйте содержимое директории skel в свою пользовательскую домашнюю директорию:

$ cp -aT /etc/skel/ /home/bodhi/

и задайте правильного владельца этих файлов:

$ chown bodhi:users /home/bodhi -R

В двух последних командах замените bodhi на свое имя пользователя.

Наконец, прокрутите страницу вниз, до конца файла, и закомментируйте все команды systemctl, добавив перед ними символ #. Чтобы загружаться в графический интерфейс, добавьте следующие строки для запуска всех нужных служб:

Systemctl enable pacman-init.service choose-mirror.service systemctl set-default graphical.targetsystemctl enable graphical.target

Это все. Теперь вам нужно собрать образ дистрибутива. Перейдите в директорию ~/archlive и запустите нижеприведенную команду для запуска процесса сборки:

$ ./build.sh -v -N EduArch -V 1.0 -L EduArch_1.0

Ключ -v включает режим вывода подробной информации о процессе, -N задает имя ISO-образа, -V задает версию, в а -L добавляет метку в сгенерированный ISO.

Обратите внимание, что процесс сборки достаточно медленный, и может занять до нескольких часов в зависимости от мощности вашего компьютера. После завершения вы найдете ISO-образ в директории ~/archlive/out.

Обновление образов

Через некоторое время после сборки образа вы захотите обновить его. Возможно выйдут новые версии приложений, или вам понадобится изменить какие-либо файлы, которые вы добавляли в образ вручную.
Для этого перейдите в директорию ~/archlive/work. Директории i686 и x86_64 внутри work содержат файловые системы для соответствующих архитектур. Вы можете сменить корневую директорию на одну из них с помощью команды:

$ arch-chroot ~/archlive/work/x86_64/root-image

$ arch-chroot ~/archlive/work/i686/root-image

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

$ pacman-key --init $ pacman-key --populate

После чего можете обновить систему с помощью команды:

Сделав необходимые изменения, выйдите из окружения chroot.

Не забудьте сделать эти изменения для обеих архитектур. Теперь необходимо заново собрать образ. Однако скрипт build.sh, так как мы уже в директории work. Чтобы заставить его все-таки собрать новый образ, откройте файл build.sh в текстовом редакторе. Перейдите в конец файла и удалите параметр run_once из начала команд make_prepare и make_iso:

For arch in i686 x86_64; do make_preparedonemake_iso

Сохраните файл и запустите скрипт для создания образа:

$ ./build.sh -v -N EduArch -V 2.0 -L EduArch_2.0

Сборка дистрибутивов Linux для встраиваемых систем

Linux - это популярный выбор на рынке встраиваемых решений. Однако это поле занято различными специализированными встраиваемыми дистрибутивами Linux. Чтобы упорядочить этот рынок, Linux Foundation вместе с такими лидерами отрасли, как Intel, AMD, Freescale, Texas Instruments, Wind River и другими, создали проект Yocto.

Главной целью проекта является создание и распространение окружения и инструментов для создания и сборки встраиваемых дистрибутивов Linux. Проект поддерживает 32- и 64-битные встраиваемые архитектуры, такие как ARM, PPC и MIPS. С помощью этих инструментов разработчики могут собирать полнофункциональные системы Linux для встраиваемых устройств.

В помощь разработчикам проект предлагает программу Hob, которая представляет собой графический фронтенд к движку сборки проектов BitBake. Hob читает инструкции и, следуя им, скачивает пакеты, собирает их и компилирует результат в виде загрузочного образа. Вы можете установить его во всех популярных дистрибутивах, включая Fedora, Ubuntu, Debian, OpenSUSE и CentOS.

Для начала вы можете загрузить систему сборку с сайта проекта, используя git:

$ git clone -b daisy git://git.yoctoproject.org/poky.git

В процессе жизнедеятельности компьютера, пользователь сталкивается со многими проблемами. Помимо вирусной атаки, могут быть разные системные ошибки и тогда, чтобы устранить их, приходится переустанавливать "Виндовс". Это не всегда просто, так как у многих пользователей нет специального установочного диска Windows 7. В последних версиях ПК очень часто отсутствуют устройства для чтения оптических дисков. В таких случаях может помочь дистрибутив Windows 7, установленный на флешке.

Создание загрузочного диска Windows 7

При первом включении компьютера (Windows 7, Windows 8 / 8.1) пользователю предлагается создать CD / DVD для резервного копирования установки Windows, но многие просто не обращают на это сообщение внимания. После того как момент упущен, создание загрузочных носителей Windows можно будет выполнить с помощью соответствующего программного обеспечения. AOMEI PE Builder является одним из таких сторонних инструментов, поддерживает не только Windows 7, но и версии 8 / 8.1 и может сделать диск похожим на Windows PE, без установки AIK / ADK. Перед загрузкой автономной версии AOMEI PE Builder, нужно предварительно отключить антивирус на ПК. Шаги по созданию дистрибутива windows 7:

  1. Скачать программу из Интернета.
  2. Загрузить, установить и запустить.
  3. Нажать желтую кнопку «Далее», чтобы перейти к следующему шагу.
  4. Выбрать второй вариант: USB Boot Device.
  5. Затем нажать «Далее», появится окно подсказки, извещающий, что диск будет отформатирован.
  6. Нажать «ОК», чтобы закрыть сообщение и «Далее».
  7. AOMEI PE Builder начнет создание образа.

Формат дистрибутива ISO

ISO-файл является виртуальной копией секторальных данных с одинаковой структурой файлов, вроде идеальной копии фотографии имеющей цвета, тени и абсолютно все нюансы оригинала. Поэтому копии ISO еще называются «изображениями». Акроним ISO происходит от имени организации, создавшей этот отраслевой стандарт. ISO диск используется для отправки копии с одного компьютера на другой.

Это идеальный дубликат, поскольку ничего не теряет при копировании или сжатии. Можно бесплатно создавать и смонтировать ISO-файлы с помощью специальных инструментов, при этом устройства на флешке или CD могут быть загрузочными вместо жесткого диска.

Образы ISO часто используются для распространения больших программ через Интернет из-за того, что все файлы программы могут быть аккуратно записаны в виде одного файла.

Один пример можно увидеть в бесплатном инструменте восстановления пароля Ophcrack, который содержит всю операционную систему и несколько программных продуктов, при этом все составляющие программы, записываются в один файл.

Ophcrack, конечно, не является единственной программой для использования ISO-файла, поэтому распределяются многие типы программ. Например, большинство загрузочных антивирусных программ используют ISO.

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

Windows 10 и ранние версии Windows 8 и Windows 7 можно приобрести непосредственно у Microsoft в формате ISO, которые готовые к извлечению на устройство или смонтированные на виртуальной машине.

Получение образа из Windows


Процесс создания будет зависеть от того, какая версия ОС устанавливается - 7, 8.1 или 10. Все они имеются в Microsoft, включая утилиту получения загрузочного носителя. Перед тем как начать процесс нужно иметь ключ продукта "Виндовс". Если пользователь не уверен в своем ключе, можно получить фирменный ключ продукта "Виндовс" с оригинальным дистрибутивом Windows 7 или по электронной почте от Microsoft, при покупке или восстановить свой ключ с помощью специального программного обеспечения.

В Интернете есть достаточно приложений, которые помогут найти серийные ключи, однако, специалисты предлагают использовать бесплатную версию KeyFinder Magical Jellybean. По завершении установки он сразу же покажет серийный ключ продукта в виде текстовых строк или файлов. Это 25-значный ключ с меткой CD-ключа лучше сохранить в безопасном месте, потому что он еще не раз понадобится пользователю. Вооружившись ключом продукта, нужно перейти на страницу восстановления ПО и выполнить инструкции. На сайте поставщика электронной коммерции для Microsoft TechRiver можно получить дистрибутив Windows 7:

  • 32-бит Ultimate x86.
  • 64-бит Ultimate x64.
  • 32-разрядная профессиональная x86.
  • 64-bit Professional x64. 3
  • 2-bit Home Premium x86.
  • 64-bit Home Premium X64.

Кроме того, на сайте Softpedia можно получить образы на других языках. Время скачивания будет зависеть от скорости интернета, может занять от нескольких минут до двух часов.

Загрузочный USB-накопитель


Microsoft предлагает бесплатный инструмент под Windows USB / DVD Download Tool для интеграции usb 3 0 в дистрибутив Windows 7. Алгоритм создания образа:

  1. Открыть Windows USB / DVD и далее «Загрузить».
  2. Открыть загруженный исполняемый файл Download-Tool-Installer-ru-US.exe нажать «Установить».
  3. Подождать завершения установки и подтвердить «Готово».
  4. Загрузить файл ISO "Виндовс". Его можно получить из Microsoft Store, с сайта MSDN или других проверенных источников. Он работает с любыми ОС, так как структура установки "Виндовс" не изменилась с Windows 7. На рабочем столе появится ярлык программы для запуска.
  5. Нажать «Да».
  6. Нажать «Обзор».
  7. Просмотреть свой компьютер, выбирать файл «.iso» и «Открыть».
  8. Выбрав файл, подтвердить «Далее».
  9. Выбрать тип носителя.
  10. Подключить тип носителя и выбрать его в инструменте загрузки.
  11. После выбора типа носителя подтвердить «Начать копирование».
  12. Очистить диск, если на нем есть информация, подтвердить операцию.
  13. Установочные файлы "Виндовс" теперь копируются на выбранный диск.
  14. Подождать завершения интеграции usb драйверов в дистрибутив Windows 7. Поступит сообщение, что загрузочное устройство было создано успешно.
  15. Закрыть программу загрузки и извлечь диск с ПК.

Программа образов Rufus


Существует несколько полезных программ, которые делают загрузочные USB. Наиболее популярная и простая – Rufus, работающая в русскоязычном сегменте. Она требует у пользователя права администратора на ПК. Порядок создания:

  1. Перед тем, как интегрировать драйвера в дистрибутив Windows 7, нужно выбрать функцию запуска от имени администратора.
  2. Выбрать конкретный USB в поле «Устройство», имеющий не менее 4 ГБ.
  3. Следующие четыре области автоматически отсортируют выбранный файл ISO.
  4. Убедиться, что отмечен флажок «Быстрый формат» или создание с применением расширений ярлыков.
  5. Рядом с меткой «Создать», используя раскрывающийся список, выбрать образ.
  6. Для того чтобы начать - нажать «Пуск».
  7. Процесс создания на USB дистрибутива Windows 7 займет некоторое время, которое зависит от мощности ПК.

Rufus не только делает загрузочный флеш-накопитель, но и записывает несколько гигабайт данных на USB-накопитель. В зависимости от различных аппаратных факторов, это займет около 10 минут. Как только процесс будет завершен, у пользователя появится загрузочный USB.

Загрузчик Disk Utility

Можно выбрать из широкого спектра сторонних программных решений, которые помогут упростить работу по созданию загрузочного диска. Одна из упомянутых выше программ - Disk Utility.Эта утилита не может функционировать должным образом, если ей не предоставили поддерживаемый USB-накопитель и подключение к Интернету.

Процесс создания дистрибутива wWndows 7:

  1. Выбрать «Файл» > «Пустое изображение».
  2. Ввести имя, теги и выбрать месторасположения, которое определится на ПК после открытия.
  3. Во вкладке «Размер» заполнить нужную величину.
  4. Выбрать «Формат». Для использования с "Виндовс" или Mac объемом, не превышающим 32 ГБ выбирают MS-DOS, для большего - ExFAT.
  5. Кликнуть всплывающую вкладку «Шифрование» и выбрать параметр.
  6. Нажать «Разделы» и выбрать макет.
  7. Нажать «Формат» и выбрать необходимый вариант.
  8. Мастер изменит его на 178 МБ Используя.cdr.
  9. Нажать «Сохранить» и «Готово».

Создание образа безопасного диска


Для сжигания загрузочного DVD-диска можно использовать программу CDBurnerXP. При ее открытии в первом окне можно увидеть несколько вариантов. Каждый параметр работает как мастер настройки.

Алгоритм создания дистрибутива Windows 7 (64):

  • Выбрать необходимое задание и программа сама проведет через все этапы формирования.
  • Выбрать Burn ISO Image, затем нажать кнопку OK.
  • Убедиться, что установлен DVD-диск на компьютере. Выбрать DVD-рекордер будет записывать ISO-файл. Скорее всего, есть только один, поэтому он будет предварительно выбран.
  • Если на компьютере установлено более одного CD / DVD-рекордера, применить раскрывающееся меню «Целевое устройство», выбрать, какой из них использовать, после чего программа может внести небольшие корректировки, в зависимости от выбранного CD / DVD-рекордера.
  • Нажать кнопку «Обзор» и перейти к файлу ISO. Когда он будет найден, дважды кликнуть по нему.
  • Нажать кнопку «Запись диска», появится окно выполнения, после завершения появится сообщение, в котором будет указано, сколько времени проходил ожог и средняя скорость передачи битов.

Бесплатные инструменты для установки Windows


Продвинутые пользователи в своем арсенале программ всегда имеют несколько бесплатных инструментов, доступных для настройки Windows 7, от установки до управления учетными записями пользователей (UAC). Интеграция в дистрибутив Windows 7 осуществляется с помощью бесплатных инструментов. Они позволяют создавать автоматическую установку, добавлять / удалять собственные, программы Windows, интегрировать драйверы, настраивать реестр, присоединять новые темы и многое другое.

В этой подборке предложены пять бесплатных инструментов для настройки и установки дистрибутива Windows 7 professional. Для запуска этих инструментов необходимо установить Windows Automated Installation Kit:

  • VLite , хотя она была разработана для Windows Vista, можно использовать ее и для Windows 7. Инструмент позволяет создавать автоматическую установку Windows 7, интегрировать исправление, языковые пакеты и драйверы, настраивать настройки Windows и создавать загрузочный ISO.
  • RT Seven Lite - инструмент, специально разработанный для интеграции в дистрибутив Windows 7. Этот инструмент содержит больше возможностей по сравнению с другими инструментами. На вкладке «Настройка» несколько разделов, позволяющих добавлять новые темы, гаджеты, скринсейверы, фон рабочего стола, значки, логотипы OEM и многое другое.
  • 7 Customizer - простой инструмент для настройки и создания автоматической установки Windows 7.
  • Se7en Unattended – программа способна отключать службы, включать надстройки, добавлять сторонние приложения, добавлять обновления Windows, интегрировать драйверы и добавлять другие настройки для создания настраиваемого ISO 7 Windows.
  • Win Integrator - этот инструмент почти похож на vLite. Помимо, вышеупомянутых может включить или отключить одну или несколько функций Windows. В целом, хороший инструмент с простым пользовательским интерфейсом.

Установка обновлений на носителе

Slipstreaming - это метод, используемый для включения различных дистрибутивов обновлений Windows 7 в установочный носитель, он также работает и с другими операционными системами. Обычно после чистой установки Windows на компьютере одна из первых вещей, которую делает пользователь, - это установка обновлений, известных как Windows Updates. Для этого компьютер должен быть подключен к Интернету, проверять наличие обновлений, загружать, устанавливать и выполнять необходимые перезагрузки. Этот процесс займет много времени, особенно если установлена более ранняя версия Windows.

Именно здесь необходима полезная процедура - slipstreaming, которая не очень известна большинству пользователей. Она позволяет интегрировать все обновления в образ ISO Windows, который будет использован для процесса установки. Загружаются все обновления только один раз, и во время установки операционной системы они будут автоматически установлены в системе, и не будет потеряно время для загрузки обновлений на любой компьютер.

К счастью, существует ряд приложений сторонних разработчиков, предназначенных для облегчения slipstreaming для любого пользователя без применения командной строки. Фактически, с таким приложением настраивается ISO по выбору, добавляя все новые обновления, а также драйвера в дистрибутив Windows 7, программы и настройки операционной системы или удаляя элементы, которые не нужны. Выполняется это просто и без усилий с помощью бесплатного приложения, например, NTLite.

Slipstream драйверов


Слайд-драйвы (slipstream), входящие в установку Windows, делают ее простой. Большинство современных SATA и RAID-контроллеров нуждаются в определенных драйверах для Windows, чтобы видеть и использовать жесткий диск, а большинство новых компьютеров, не имеющих флоппи-дисковода, неспособны использовать подключенный USB-порт. Поэтому этот способ оставляет пользователю единственную возможность добавить правильный драйвер с использованием технологии slipstream.

NTLite предназначен для облегчения жизни, позволяя бесплатно выполнять slipstreaming, используя очень простой и удобный интерфейс. Хотя базовая версия программы предоставляется бесплатно, есть несколько платных версий с дополнительными функциями. Основным преимуществом NTLite по сравнению с аналогичными приложениями такого рода является его совместимость со всеми новыми версиями Windows. Он постоянно обновляется, чтобы поддерживать даже инсайдерские версии Windows 10. Конечно, он не подходит для старых версии ОС, таких как XP или Vista.

Для того чтобы начать установку, необходимо перейти на страницу загрузки на официальном сайте. Есть две версии: стабильная и бета-версия. Рекомендуется скачать стабильную версию. После завершения загрузки запустить программу и следовать инструкциям.

Процесс установки довольно прост:

  1. При первом запуске программы будет предложено выбрать тип лицензии, который нужно использовать.
  2. Выбрать «Свободный» (ограниченный, некоммерческий) и нажать «ОК». Чтобы загрузить ISO в NTLite, нажать кнопку «Добавить», расположенную на панели инструментов, и выбрать соответствующую папку, содержащую извлеченные ранее файлы, или просто перетащить ее в программу.
  3. Сразу после загрузки ISO в разделе «История изображений» появится список всех Windows, которые могут быть установлены этим ISO.
  4. Выбрать выпуск, который нужно применить в своей пользовательской установке, нажать кнопку «Загрузить» и нажать «ОК» во всплывающем окне, которое откроется.
  5. Начнется процесс загрузки.

Можно проверить его статус рядом с выбранной версией Windows. Это может занять пару минут. После завершения загрузки в левой части окна появится несколько параметров. Оттуда можно настроить все для своей пользовательской ISO. Далее выполнить обновления Windows. После того, как загружены обновления для ОС:

  1. Перейти на вкладку «Обновления», нажать «Добавить» и выбрать «Папка» и «Папки с подпапками».
  2. Найти папку, в которой хранятся обновления.
  3. Интеграция драйверов в дистрибутив Windows 7 выполняется на вкладке «Драйверы». Предварительно они должны быть загружены.
  4. Добавить их в одну папку, нажать кнопку «Добавить» на панели инструментов NTLite и найти эту папку.
  5. Выполнить автоматическую установку без надзора, по умолчанию эта функция отключена.
  6. Перейти в меню навигации «Автоматическое» и установить флажок, расположенный в верхнем левом углу.
  7. Добавить локальную учетную запись, нажав соответствующую кнопку на панели инструментов, а в появившемся окне ввести свои данные и нажать «ОК».
  8. Аналогичным образом можно ввести данные для своей локальной сети, нажав кнопку «Присоединиться к сети».
  9. Добавить сторонние приложения, перейти в «Послеустановочная», нажать «Добавить» и найти файл.exe по выбору.
  10. Создать новую Windows ISO, перейти на вкладку «Применить».
  11. Проверить кнопку «Создать ISO».
  12. После этого появится диалоговое окно с просьбой выбрать каталог назначения, в котором нужно сохранить файл ISO, его имя файла и метку ISO.
  13. Нажать кнопку «Процесс» на панели инструментов. С этого момента процесс становится автоматическим, поэтому нужно подождать несколько минут, чтобы завершить интеграцию драйверов в дистрибутив Windows 7, в зависимости от сделанных изменений, после чего ISO будет готов к использованию.

Вот и все. Пройден процесс от получения ISO версии Windows, приобретения программного обеспечения для создания загрузочного флеш-накопителя USB и способа его применения, а также для использования одной конкретной утилиты для создания загрузочного DVD из Windows ISO.

Если Вы решили заняться распространением своих программ, то без установочного дистрибутива не обойтись. В настоящее время практически все программы имеют инсталлятор, обычно он называется Setup.exe. В этой статье мы рассмотрим на примере, как собрать инсталлятор для приложения Access и разберем некоторые особенности, которые необходимо при этом знать.

Как уже говорилось ранее, Access не позволяет сделать исполняемый файл, способный работать без Access. Но в то же время, Microsoft предлагает для решения проблемы воспользоваться пакетом Microsoft Office Developer , в состав которого входит и лицензия на распространение программы Microsoft Access runtime . Остановлюсь на этом подробнее.

Программа Microsoft Access runtime - это версия Access, которая позволяет пользователям выполнять, но не модифицировать приложение Access. Устанавливать Microsoft Access runtime вместо полной версии есть смысл только в том случае, когда нужна лицензионная чистота, а у клиента, у которого исполняется Ваша база, нет лицензии на Access. В этом случае придется покупать ODE (Оffice Developer Edition). Тогда вместе с его покупкой Вы получаете некоторые дополнительные инструменты и самое главное ПРАВО устанавливать клиентам вместе с разработанной вами базой еще и Run-time версии Аccess. В этом случае к клиенту не будет притензий по поводу незаконного использования Аccess. Иначе каждому клиенту необходимо купить лицензию MS AАccess.

В пакет ODE входит "создатель дистрибутивов" который включает в диистибутив Вашу MDB и Run-time версию. Все библиотеки необходимые для создания Run-time уже есть в полной версии Аccess (даже без ODE). Но тут есть одно НО (это для тех, кого беспокоит лицензионная "читота"):

Если Вы его не купите официально, то у клиентов все равно не будет права использовать даже Run-time версию.

Может возникнуть такая мысль: А что, если узнать какие файлы нужны Access для работы и включить их в установочный дистрибутив? Можно, но это не решает проблемы с лицензией. К тому же придется создавать достаточно сложную программу установки с проверкой имеющихся компонентов и установкой/регистрацией отсутсвующих. Причем в последнем случае можно при неумелых действиях даже разрушить систему.

Вообще, если рассматривать реальные ситуации с продажей приложений на Access, то лишь немногие разработчики (речь идет о России) действительно покупают лицензионные пакеты. Как правило это те, для кого "при определенном уровне развития бизнеса вопрос покупать - не покупать теряет свою актуальность" - или говоря проще, кто может себе позволить купить лицензионный пакет за 600$ - 1000$. Интересно потом выслушивать их чертыхания на форумах по поводу работы таких программ. Насколько я понял там те же самые "косяки", что и в пиратских версиях. Поэтому призывать Вас использовать только бесплатные или пиратские версии Office для Ваших программ я не буду, но и рекомендовать пользоваться лицензионным тоже не стал бы (см. выше).

Интересно, что полную версию Access можно запустить в runtime - режиме, задав в командной строке ключ /runtime. Например, создайте на рабочем столе ярлык, кликнете по нему правой кнопкой мыши, в появившемся диалоговом окне в поле объект напишите примерно так: (это для Office 2000 - XP, а для 2003 нужно будет исправить вместо Office10 - Office11)

"C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE" "D: \Базы\Моя База.mdb"/runtime

а в поле «Рабочая папка»:

Теперь запустим приложение через этот ярлык. Откроется окно проекта Access, но ярлыка Access, а так же стандартных панелей инструментов уже там не будет. Это и есть runtime - режим.

Для начинающих разработчиков распространение приложений Access через пакет Microsoft Office Developer вряд ли приемлемо. Ведь он стоит денег, и не малых. Мы рассмотрим другой способ, при помощи бесплатного инсталлятора Inno Setup . Есть конечно и другие как платные, например InstallShield , так и бесплатные инсталляторы. Различаются они по удобству работы, размеру создаваемого дитсрибутива.

Inno Setup - свободно распространяемый инсталлятор для программ Windows. Английские версии появились ещё в 1997, теперь Inno Setup переводится на несколько языков, а инсталляторы может создавать более чем на 20 языках. Inno Setup превосходит многие коммерческие инсталляторы по возможностям, стабильности и размеру создаваемых файлов.

Основные характеристики:

  • программа может сравнивать информацию о версии файла
  • перемещать используемые файлы
  • регистрировать DLL/OCX/FNT/TLB и типовые библиотеки
  • инсталировать шрифты
  • проверяет, активны ли определенные программы
  • создание ярлыков быстрого доступа (например, через старт-меню или на рабочем столе)
  • осуществление записи в ini-файлы
  • встроенная машина для написания скриптов на языке Pascal
  • поддерживает многоязыковую инсталяцию
  • инсталяция и деинсталяция по умолчанию
  • весь код доступен (Borland Delphi 2.0-5.0)
  • защита пароля для setup
  • в случае отмены во время исполнения, все действия будут приведены в исходное состояние
  • поддерживает все 32-х битные версии Windows (95, 98, 2000, 2003, XP, Me, NT 4.0)
  • создает создание одного файла exe, что значительно облегчает процесс инсталяции Вашей программы
  • стандартный интерфейс Windows 2000/XP
  • ориентирован на пользователя (например, полный, минимальный, пользовательский вариант)
  • все инструменты для деинсталяции
  • инсталирование файлов: встроенная поддержка "deflate", bzip2, 7-zip LZMA файлы сжатия

Так же начиная с версии 2.0.6 Inno Setup включает в себя полную поддержку для MBCS. В более ранние версии последнее свойство не входит. А вот Web-инсталяцию не поддерживает.

Особенность создания инсталлятора в Inno Setup - это то, что инсталляторы создаются при помощи скриптов - простых текстовых файлов ASCII, напоминающих.INI файлы. Скрипты редактировать легче, чем, например, работать с интерфейсом Installshield. Скрипты имеют расширение ".iss" (inno setup script). В нём указываются все параметры инсталлятора, и при установке, программа ассоциирует себя с этими файлами. Скрипт разделен на секции, имена которых пишутся в квадратных скобках . Внутри секций существуют ключевые слова и указания, которые компилятор может читать и выполнять.

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

; -- Sample1.iss --
; Demonstrates copying 3 files and creating an icon.

Порядок секций не имеет значения. Все они (за исключением ) являются произвольными. Ключевому слову значение присваивается при помощи знака равенства (=).

Указания состоят из одного или нескольких параметров и их опций, а также флагов flags . Параметр же в свою очередь состоит из имени, за которым следует двоеточие : и значения. Параметры, опции и флаги отделяются друг от друга точкой с запятой ;

Рассмотрим в кратце основные секции:

Секция

Значение

сoдержит указания по поведению инсталяционной рутины, а также, как это должно выглядеть. Ключевые слова AppName, AppVerName и DefaultDirName являются обязательными. Все остальные - по необходимости
Здесь содержатся файлы для setup
ярлыки (иконки)
Соотношение компонентов к типу инсталяционной рутины
разрешает создать новые пустые папки
делает записи в INI- файлы
первое действое при инсталяции, cистаксис соответствует секции
разрешает специфические изменения в тексте
делает запись в регист
выполняет другие программы после того как данные успешно были исталированы, но еще до того как будет закрыто диалоговое окно
разрешает дополнитекльные действия в setup
устанавливает тип setup-а
последняя операция при деинсталяции. Таким образом папки и/или файлы будут удалены
первая операция при деинсталяции. Систаксис соответствует секции
содержит информацию о языке. как правило, не используется

Inno Setup работает внутри скрипта с различными предопределеными константами, которые, как правило, содержат пути (path). Способ написания: {имя} . Некоторые константы, такие как {app} и {group} могут/должны быть предопределены пользователем. Тот, кто сам желает определить константы, должен обратиться к припроцессеру Алекса Якимова (Alex Yackimoff).

Вот основные константы Inno Setup:

константа

пример

{win} путь в директорию/папку Windows C:\Windows
{sys} путь в системную папку Windows, в частности папку System32 C:\Windows\System или C:\Windows\System32
{app} путь к собственной аппликации (программе)
{pf} путь к программной папке C:\Programme
{cf} путь к общим данным C:\Programme\Gemeinsame Dateien
{dao} cоответствует{cf}\Microsoft Shared\DAO C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO
{src} путь к папке инсталявионной рутины, в момент выполнения setup R:\
{group} группа программ для стартового меню

Итак, рассмотрим задачи, которые нужно решить (определим только минимальные). Наш инсталлятор должен сделать следующее:

Распаковать файлы в нужные места
Создать папку в каталоге программы (папка «Коп» - для хранения резервных копий базы)
Создать меню запуска приложения в Пуск - Все программы, а так же иконку на рабочем столе

Это необходимый минимум. Но, разумеется, это далеко не все возможности Inno Setup. Ведь не зря его используют многие разработчики. Но в данной статье я ограничусь только этим, желающие глубже изучить возможности программы могут обратиться к справочной системе. В Интернет есть множество ссылок как на программу, так и на переводы справки. Например, Inno Setup 5.1.6. и справку к нему Вы можете скачать здесь… Английский сайт программы http://www.innosetup.com

Для начала попробуйте поэкспериментировать, создавая инсталлятор при помощи мастера, а затем изучая структуру полученного скрипта. В принципе, я думаю нет нужды подробно описывать, что где нажимать. Inno Setup настолько прост в освоении, что без проблем изучается, что называется «методом научного тыка». Вот например скрипт инсталятора, который делает определенные ранее задачи (все файлы дистрибутива находятся в каталоге D:\Setup.)


AppName=Моя программа
AppVerName=Моя программа. Версия 1.0.
AppPublisher=MyProgram, Inc.
AppPublisherURL=http://MyMySoft.ru/
AppSupportURL=http://MyMySoft.ru/
AppUpdatesURL=http://MyMySoft.ru/
DefaultDirName={pf}\MyProgram
DisableDirPage=no
DefaultGroupName=Моя программа
DisableProgramGroupPage=yes
LicenseFile=D:\Setup\license.txt
InfoAfterFile=D:\Setup\readme.txt
AlwaysCreateUninstallIcon=yes


Name: "desktopicon"; Description: "Создать ярлык на &Рабочем столе"; GroupDescription: "Дополнительные ярлыки:"


Source: "D:\Setup\Сервер.mdb"; DestDir: "{app}"; DestName: "Сервер.mdb";
Source: "D:\Setup\license.txt"; DestDir: "{app}";
Source: "D:\Setup\readme.txt"; DestDir: "{app}";
Source: "D:\Setup\Log.JPG"; DestDir: "{app}";
Source: "D:\Setup\Log.ico"; DestDir: "{app}";
Source: "D:\Setup\База.mdb"; DestDir: "{app}";


Filename: "{app}\MyProg.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://MyMySoft.ru/"


Name: "{app}\Коп"


Name: "{group}\Моя программа"; Filename: "{app}\База.mdb" ;WorkingDir: "{app}";IconFilename:{app}\Log.ico
Name: "{group}\Сайт программы"; Filename: "{app}\MyProg.url"
Name: "{userdesktop}\Моя программа"; Filename: "{app}\База.mdb" ;WorkingDir: "{app}"; IconFilename:{app}\Log.ico;Tasks: desktopicon

Пример, как это все работает, Вы можете скачать ниже.

  • Обратиться в "Интерфейс" за дополнительной информацией/по вопросу приобретения продуктов

Файлы для загрузки

Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.

Шаг 1. Выбор носителя
Вариантов немного: либо ваша ОС запускается с LiveCD, либо с жесткого диска, либо с флеш-устройства. Сразу оговорюсь: не скажу в посте ни слова про жесткий диск, потому что гораздо удобнее создавать гибкий дистрибутив из серии «все свое ношу с собой», либо залоченный дистрибутив на оптическом диске. Если вы научитесь создавать LiveCD или LiveUSB систему, с установкой на жесткий диск проблем не будет.

На всякий случай, приготовьте чистую флешку, CD-диск, и установите, наконец, Virtualbox.

Шаг 2. Компиляция ядра
По поводу выхода третьего ядра Linux, этот шаг воодушевляет на дальнейшие разработки… Итак, нам нужны исходники ядра. Каждый пользователь знает, что их можно достать на сайте kernel.org. Ни в коем случае, слышите?, никогда не прикручивайте к своей системе постороннее ядро, скомпилированное не вами!

Поскольку лень моя зашкаливала, я создал папку /linuxkernel и распаковал туда архив с исходниками. Залогинившись под рутом, я сделал следующее:

Cd /linuxkernel
make menuconfig

В принципе, ядро можно конфигурировать тремя способами: make config (диалоговая конфигурация), make menuconfig (псевдографическая конфигурация через ncurses), а также make xconfig (графическая конфигурация). Суть в том, что make config испортит вам настроение надолго, т.к. он задаст все возможные вопросы по всем аспектам всех тем. Проблема с make xconfig встречается не у всех, но вот у меня встречалась и встречается. Если приспичило сделать через X, разбирайтесь сами. Оптимальный вариант - make menuconfig. Эта штука откроет вам псевдографический интерфейс, через который вы сможете настроить ядро на свой лад. Штука требует библиотеки ncurses, которая легко устанавливается.

В принципе, если ваш мозг хоть сколько понимает Линукс, вы разберетесь с конфигурированием. Процесс это интересный, вариантов действительно много, а справка, хоть и на английском языке, но все же радует своей доступностью и простотой.

Однако, направить вас все же придется. Перейдите по адресу File Systems ---> и поставьте необходимые звездочки. Буква M означает, что поддержка того или иного драйвера осуществляется с помощью подключения к ядру внешнего модуля (ненавижу их!). Нам понадобится также поддержка isofs, для чтения дисков. File Systems ---> CD-ROM/DVD Filesystems ---> ISO 9660 CDROM file system support. Можно еще поддержать древнедосовские системы.

Чмошные разработчики Mandriva забыли разрешить File systems ---> DOS/FAT/NT Filesystems ---> NTFS write support, и на одном из их дистрибутивов я мучился с доступом к древневиндовскому разделу.

Посмотрите Processor type and features ---> Processor family, мне порекомендовали выбрать Pentium-MMX.

Еще поройтесь в Device Drivers, полезно. Можете шутки ради понавыбирать там все и скомпилировать ядро весом > 50 Мб.

Далее. Ядро после загрузки себя должно загружать, собственно, систему. Либо из скомпилированных в себе файлов (используются во встраиваемых системах), либо из CPIO архива, сжатого чем-нибудь, либо из Initrd. Здесь вам не DOS, здесь не получится сразу сослаться на какой-нибудь init"овый файл в корневом каталоге диска или флешки. На самом деле получится, не слушайте дядю Анникса! Неправильно это, хоть в Интернете по этому поводу уже нехилая полемика ведется. В своей системе мы будем использовать initrd, т.к. это удобно, и не вызовет нецензурных выражений от сторонних разработчиков, в отличие от CPIO архива.

Ах, да, скомпилируйте ядро командой

Если у вас x86, найдете его по адресу /linuxkernel/arch/x86/boot/bzImage.

Для суровых челябинских программистов можно использовать Кросс-компайлинг…

Создание Ramdisk.

Теперь нам нужен initrd с установленной там простейшей оболочкой. Мы будем использовать busybox, потому что эта няша может все. Способ мы украдем у Роберто де Лео, создателя Movix (я бы даже уважать его начал, если бы не запредельная любовь к Perl):

Dd if=/dev/zero of=/dev/ram0 bs=1k count=5000 - Создаем Ramdisk в оперативной памяти нашего компьютера.
mke2fs -m0 /dev/ram0 5000 - Форматируем Ramdisk в системе Ext2
mkdir /distro - Создаем папку
mount /dev/ram0 /distro - Монтируем в папку /distro

Все, теперь у нас есть Ramdisk, емкостью в 5 Мб. Можно и больше, только не нужно. В отличие от Томаса Матеджисека, я не собираюсь пичкать initrd модулями в Squashfs, сжатыми LZMA. Все, что необходимо, будет скомпилировано вместе с ядром. Да, это не очень логично и правильно, но мороки в сто раз меньше. А специально для тех, кто осуждает такой подход, можно разрешить опцию модульности в ядре: Enable loadable module support.

В нашем Ramdisk"е, смонтированном в /distro, есть такая папка, lost+found. Это потому, что мы отформатировали его в ext2. Ни в коем случае нельзя ее удалять, хоть она здесь вряд ли поможет, образ-то фиксированный. Нам бы busybox сначала поставить…

Установка Busybox
Вот почему у таких классных проектов такие отстойные сайты? Хотя… это уже не суть важно, если исходники скачаны и успешно распакованы в папку /busybox.

Сконфигурировать busybox можно так же:

Cd /busybox
make menuconfig

Если вы еще не поняли, что это, объясню. Busybox заменяет тонны UNIX приложений, хранящихся в папках /bin, /sbin, /usr/bin, /usr/sbin. Вместо этого, создается только одно приложение: /bin/busybox, а на него создается куча ссылок в указанных выше папках. Установим busybox следующей командой:

Make CONFIG_PREFIX=/distro install

Еще Busybox создаст файлы /sbin/init и зачем-то /linuxrc, чтобы ваша система корректно запустилась. Но не все необходимые папки были созданы. Так что завершаем все руками и создаем:

/distro/etc
/distro/lib
/distro/dev
/distro/mnt
distro/proc
/distro/root
/distro/tmp
/distro/root

Если что забыл - вспомните, т.к. директории эти забыть сложно.

Все бы хорошо, вот только busybox для работы требует библиотеки, которые нужно скопировать в наш дистрибутив. Очень легко узнать, какие:

Ldd /distro/bin/busybox

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

При копировании библиотек можно отсекать отладочную информацию (так Роберто советует):

Objcopy --strip-debug откуда куда

Делаем из Линукса Линукс

Надо создать несколько системных текстовых файлов:

Нам нужен /etc/inittab. Удивлю вас: в начале жизни система даже не знает, что такое Root. У нас даже пользователь безымянный, но вот файл общесистемных низкоуровневых фич (ОНФ) должен присутствовать. Пилотное содержание файла следующее:

::sysinit:/etc/rc.d/rc.S

# Запустить оболочку в консоли.
::respawn:-/bin/sh

# Команды, выполняемые перед выключением и перезагрузкой.
::shutdown:/sbin/swapoff -a >/dev/null 2>&1
::shutdown:/bin/umount -a -r >/dev/null 2>&1

Следующий файл - /etc/fstab. Это таблица, в которой описано, что и куда монтировать при загрузке. Вещь бесполезная! Нам нужно обязательно смонтировать proc, иначе вообще ничего работать не будет, так что в файле пишем:

None /proc proc defaults 0 0

Для mount нужен также файл /etc/mtab. Создайте его и оставьте пустым.

Но mount сделает все необходимое только тогда, когда мы явно его об этом попросим. А просить мы будем в том самом первозагрузочном файле /etc/rc.d/rc.S (rc.d - папка). Вежливо попросим:

/bin/mount -av -t nonfs

Еще нам необходим файл профиля (b)(a)sh, тут вообще раздолье для фантазии. Создаем файл /etc/profile и заполняем следующим:

PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:"
LESS=-MM
TERM=linux
HOME=/root
PS1="> "
PS2="> "
ignoreeof=10
export PATH DISPLAY LESS TERM PS1 PS2 HOME ignoreeof

Понадобится также файл /etc/shell, в котором указано, что есть оболочка:

/bin/sh
/bin/ash
/bin/bash

Вот собственно и все. Можно записывать наш Ramdisk в файл.

Mkdir /os - папка для "готового".
umount /dev/ram0 - размонтируем кусочек оперативной памяти.
dd if=/dev/ram0 of=/os/initrd bs=1k count=5000 - создаем файл.
gzip /os/initrd - сжимаем файл initrd

Создание загрузочной флешки

«Финишная прямая» нашей маленькой разработки. Берем флешку, вставляем, форматируем в vfat (можно и в ext, но не забывайте, что еще не все пользователи Windows застрелились).

На флешке создаем папку boot, в ней папки initrd и kernel.

Из папки /os копируем сжатый Ramdisk в папку boot/initrd на флешке, называем «main.gz». Из папки с исходниками ядра копируем bzImage в папку boot/kernel на флешке, называем «main.lk». Достаем файлы загрузчика Syslinux (в Интернете, либо из другого дистрибутива: тут не принципиально), а именно syslinux.bin, syslinux.boot, syslinux.cfg. Копируем их в корневой каталог нашей флешки. В файле syslinux.cfg пишем что-то подобное:

Default mm
prompt 1
timeout 100
label mm
kernel /boot/kernel/main.lk

label mc
kernel /boot/kernel/main.lk

label cm

append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cc
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label hd
localboot 0x80

Тем самым мы поддержали кастомные initrd и ядро, которые, эксперимента ради, можно подключить к нашему дистрибутиву.

Узнаем, каким девайсом в системе является наша флешка (можно запустить mount без параметров и посмотреть). Это либо /dev/sdb1, либо /dev/sdc1, либо /dev/sdd1. Стоит отмонтировать флешку перед началом установки.

Устанавливаем syslinux (если пакета в системе нет, apt-get install syslinux):

Syslinux -d путь_к_устройству

В корневом каталоге флешки должен появиться файл ldlinux.sys. Если он есть, значит syslinux.bin, syslinux.boot больше не нужны.

Как настроить BIOS на загрузку из флешки, я вам рассказывать не буду - это легко. Скажу только, что очень удобно создать папку /boot/initrd/init, в которую можно будет смонтировать /boot/initrd/main, для последующей работы с ним. Только не забудьте разжимать и сжимать его gzip"ом.

Ну вот и все.

Как-бы я только что рассказал вам, как создать с нуля систему на Linux. Легко, не правда ли? Далее вы можете редактировать скрипт /sbin/init, ведь у вас еще много работы! Вы должны будете написать скрипт для монтирования флешки, который делает chroot в корневой каталог. В противном случае, вы вынуждены будете работать с ReadOnly разделом, величиной в 5 Мб. Но это уже совсем другая история.

Как создать свою эталонную сборку Windows 10 – дистрибутив с проведенными настройками системы, внедренными твиками и установленным десктопным ПО? Этот процесс в деталях будет рассмотрен ниже, но прежде поговорим об особенностях собственных сборок системы.

1. Плюсы и минусы собственных сборок Windows

Какие плюсы у собственных сборок Windows? Своя сборка системы - это экономия времени и усилий при установке системы. Например, можно подготовить дистрибутив Windows 10 со стандартным набором программ для круга близких: браузер, архиватор, торрент-качалка, чистильщик, деинсталлятор и подобного рода софт для широкой аудитории будет устанавливаться вместе с системой. Выгоды по сравнению с обычным дистрибутивом Windows очевидны, а что получим в противовес прочим способам развертывания системы? Своя сборка Windows, эталонный образ которой создавался на GPT-диске, в дальнейшем может быть развернута на MBR-диске и наоборот. Тогда как перенос системы с помощью программ-бэкаперов или менеджеров дискового пространства не поможет при смене стиля разделов диска. В отличие от последних, собственная сборка на установочном носителе не будет привязана к файлу резервной копии на несистемном разделе диска или съемном устройстве, как и не нужно будет подключать жесткий диск назначения для клонирования Windows.

У собственных сборок Windows три минуса. Первый – дистрибутив своей сборки будет занимать больше места, чем чистый дистрибутив Microsoft. Но эта проблема решается использованием флешки с объемом как минимум 8 Гб. Второй минус – процесс установки Windows продлится немного дольше, чем обычно, что связано с развертыванием добавленного софта. Третий минус – это волокита с созданием сборки. Затраченные усилия вряд ли будут оправданы, если система переустанавливается редко.

2. Алгоритм действий

Процесс создания своей сборки Windows 10 будет проходить в несколько основных этапов:

  • Создание эталонного образа системы – подготовленного к развертыванию идеального состояния системы (с проведенными настройками и внедренным ПО, без привязки к комплектующим компьютера);
  • Захват эталонного образа в файл install.esd;
  • Перепаковка оригинального установочного ISO-образа системы с подменой файла install.esd.

3. Эталонный образ Windows 10

Эталонный образ Windows 10 можно подготовить разными способами, это может быть:

  • Наработанная система с удаленной привязкой к комплектующим при помощи утилиты Sysprep (см. п. 7 статьи);
  • Новая Windows 10, установленная на другом разделе диска;
  • Новая Windows 10 на борту виртуальной машины.

Наработанную систему необходимо тщательно почистить – удалить файлы в папках пользовательского профиля, почистить папки «Temp» и т.п. Иначе дистрибутив получится гигантских размеров. С новыми системами проще: во-первых, дистрибутив на их базе будет занимать меньше места, во-вторых, в процессе их установки эталонный образ Windows 10 можно создать с нуля в режиме аудита - специальном режиме работы системы без участия пользовательской учетной записи. Режим аудита предусмотрен компанией Microsoft для внедрения корпоративных настроек и софта OEM-поставщиками и крупными организациями перед поставкой компьютеров, соответственно, покупателям и наемному персоналу. На выходе получим нужным образом настроенною систему с установленным десктопным ПО, на этапе установки которой можно формировать новые учетные записи, задавать региональные параметры, отключать опции отправки данных компании Microsoft и т.п. При этом нигде не будет болтаться старая учетная запись.

В нашем случае эталонный образ Windows 10 создадим с нуля в режиме аудита при помощи Hyper-V. Этот гипервизор был выбран из-за удобства в работе и простоты переноса больших объемов данных с виртуальной машины в основную систему. Диски VHDX и VHD, используемые в работе виртуальных машин Hyper-V, монтируются в основную систему средствами проводника. Сторонники других гипервизоров - VMware Workstation и VirtualBox – могут использовать их. Чтобы упростить доступ к данным виртуального диска с основной системы и не возиться с дополнениями гостевых ОС, виртуальные машины можно создать на базе VHD-дисков. И VMware Workstation, и VirtualBox работают с дисками VHD.

Принявшим решение формировать эталонный образ Windows 10 на втором разделе диска реального компьютера на будущее в помощь инструкции по и полному .

4. Нюансы с активацией

Понятие собственной сборки Windows необходимо отличать от пиратских сборок системы, поставляемых активированными или с активатором на рабочем столе. Цель этой статьи – упростить процесс установки Windows, но не решать вопрос с ее активацией. Эталонный образ Windows 10 будет создан с использованием средств, не противоречащих политике Microsoft - собственно, ее же инструментов. А их использование не гарантирует работоспособность активированных сборок системы. Напомним, требования Microsoft таковы: активация каждой копии Windows, с какого бы дистрибутива она ни устанавливалась, на каждом отдельном компьютере. Если в качестве эталонного образа выступает активированная наработанная Windows, в процессе удаления привязки к комплектующим с помощью утилиты Sysprep необходимо сбросить активацию (см. п. 7 статьи).

Ищущим способ переноса активированной Windows на другие компьютеры .

5. Создание виртуальной машины Hyper-V

Итак, для подготовки эталонного образа Windows 10 создаем виртуальную машину. Условия работы с Hyper-V, активация гипервизора, а также процесс создания виртуальной машины в деталях описываются в статье сайта . Только, в отличие от рассмотренного в п. 5 этой статьи примера, выбор поколения виртуальных машин не принципиален, можно создать и машину 1 поколения. Если не планируется внедрение ресурсоемкого софта типа игр, можем ограничиться объемом создаваемого жесткого диска VHDX в 50-60 Гб. Ну и избитый совет для владельцев SSD – путь хранения файлов виртуальной машины и VHDX-диска нужно указывать на разделе HDD. На последнем этапе создания виртуальной машины указываем ISO-образ , включаем машину и запускаем процесс установки системы. Последний будет отличаться от того, как это происходит обычно.

6. Установка и настройка Windows 10 в режиме аудита

Проходим процесс установки Windows 10 до этапа выбора типа установки и выбираем второй вариант.

Нам понадобится два раздела – один для Windows, другой несистемный, куда впоследствии будет сохранен файл install.esd. Формируем раздел С из 30-40 Гб.

Оставшееся место отдаем другому разделу.

Устанавливаем Windows.

По завершении этапа копирования файлов установочный ISO-образ не извлекаем из виртуальной машины, он нам еще понадобится. На этапе установки, где необходимо задать первые настройки, ничего не трогаем, просто жмем клавиши Ctrl+Shift+F3.


5

Войдем в режим аудита с подключением скрытой учетной записи администратора.

На входе в систему в режиме аудита нас встречает окно утилиты Sysprep. Утилита будет дожидаться своей участи, чтобы провести удаление привязки настроенной системы от комплектующих. Можно приступать к настройке системы. Один нюанс: в режиме аудита не работает Microsoft Edge, для доступа к Интернету нужно запустить Internet Explorer.


7

Что касается пределов вмешательства в систему, в режиме аудита можем работать со всем, что не относится к пользовательским учетным записям. Можем устанавливать десктопное ПО, менять системные настройки, применять твики, оставлять папки или файлы на рабочем столе. А вот универсальные приложения из Windows Store установить не получится. Как и Microsoft Edge, магазин не работает в режиме аудита. Не получится даже при условии активации системы сменить тему оформления или прочие параметры персонализации. Для установки универсальных приложений и применения настроек персонализации нужна пользовательская учетная запись, а не скрытая администратора.

Если понадобится перезагрузить систему, например, это требуется для доустановки каких-то программ, этот процесс нужно провести с помощью окна Sysprep: необходимо выставить значения «Переход в режим аудита» и «Перезагрузка». Затем нажать «Ок».

Параллельно с настройкой системы необходимо сделать важную вещь – отформатировать несистемный раздел диска.

7. Удаление привязки к комплектующим (Sysprep)

Итак, эталонный образ системы готов. Теперь можем приступать к процессу удаления привязки к комплектующим. Обращаемся к окну открытой утилиты Sysprep или запускаем ее нажатием клавиш Win+R и вводом:

В открывшейся папке будет содержаться EXE-файл запуска утилиты.

В окне Sysprep выставляем действие «Переход в окно приветствия (OOBE)». Ставим галочку «Подготовка к использованию» для сброса активации. В параметрах завершения работы указываем «Завершение работы». И жмем «Ок».

Дожидаемся окончания работы Sysprep и выключения виртуальной машины.

8. Создание файла install.esd

Проверяем, стоит ли запуск виртуальной машины с ISO-образа установки Windows 10, и загружаемся с него. Установочный диск используем для доступа к командной строке. Если эталонный образ Windows 10 создавался на втором разделе диска реального компьютера, просто заходим в основную операционную систему и открываем там командную строку.

На первом этапе установки системы жмем клавиши Shift+F10.

С помощью утилиты DISM осуществим захват эталонного образа системы и сохраним его в файл install.esd. Но прежде посмотрим, под какими буквами значатся два нужных раздела – системный и раздел назначения, куда будет сохранен install.esd. Вводим:

В нашем случае диск системы значится как D, а несистемный – как E. Потому команда захвата образа системы будет такой:

Dism /capture-image /imagefile:E:\install.esd /capturedir:D:\ /name:windows

В этой команде, соответственно, в каждом отдельном случае необходимо заменить буквы E и D на свои.


12

По завершении операции выключаем виртуальную машину. Она нам больше не понадобится.

9. Монтирование диска виртуальной машины в основной системе

Чтобы диск виртуальной машины отображался в основной системе, где будут происходить дальнейшие действия, открываем в проводнике файл диска этой машины VHDX (или VHD). В контекстном меню жмем «Подключить».


13

Все разделы виртуального диска отобразятся в проводнике как отдельные диски. В нашем случае выбираем последний диск M, именно там хранится файл install.esd. После перепаковки ISO-образа виртуальный диск нужно будет размонтировать, это делается с помощью опции «Извлечь» в контекстном меню любого из добавленных разделов виртуального диска.


14

Новоиспеченным файлом install.esd заменим оригинал в составе официального дистрибутива Windows 10.

10. Перепаковка ISO-образа дистрибутива Windows 10

Заменять одни файлы на другие в составе загрузочного ISO-образа могут многие программы, в нашем случае для перепаковки выбрана программа UltraISO . Запускаем ее. Жмем меню «Файл», затем – «Открыть» и в проводнике указываем путь к ISO-образу, с которого осуществлялась установка Windows 10 на виртуальную машину.


15

Содержимое ISO-образа отобразится в верхней части окна UltraISO. Здесь открываем папку «sources» и удаляем в ней исходный файл install.esd. В нашем случае он весил 3,7 Гб. Нижняя часть окна UltraISO – это системный проводник, здесь открываем подмонтированный раздел диска (или нужный раздел реального диска), на котором хранится новоиспеченный файл install.esd. В нашем случае он весит 4,09 Гб. Новоиспеченный файл либо перетаскиваем в верхнюю часть окна - туда, где был файл исходный, либо добавляем с помощью контекстного меню.


16

Проверяем: в папке «sources» образа диска должен находится не исходный install.esd с весом в 3,7 Гб, а новоиспеченный install.esd с весом в 4,09 Гб.


17
18

Дожидаемся завершения прогресса операции.

***

Теперь осталось только протестировать свою сборку Windows 10 на новой виртуальной машине.

Отличного Вам дня!

Лучшие статьи по теме