
Это не магия, просто образ содержит сетевой загрузчик, который позволяет загрузить ОС прямо из интернета, предлагая на выбор несколько вариантов дистрибутивов. Это очень медленный и "трафико-затратный" способ, который, тем не менее, имеет массу достоинств:
Вы сможете экпериментировать с несколькими ОС и установить нужную без дополнительных телодвижений (ее так или иначе придется выкачивать из интернета).
- Вы всегда будете иметь под рукой кучу независящих от ОС утилит (таких как memtest86). Их загрузка займет секунды.
- Вы сможете организовать массовую установку на множество машин. Для этого можно поднять собственный приватный сервер загрузки.
- Сервис можно использовать для загрузки бездисковых рабочих станций. При этом загрузчик можно записать прямо в BIOS, благодаря чему бездисковые терминалы, не имеющие возможности запускать ОС с носителей, смогут запустить ОС прямо из интернета.
В основе netboot.me лежит загрузчик gPXE), созданный для обеспечения возможностью сетевой загрузки машин, не имеющих поддержки PXE. В отличие от последнего gPXE может быть записан на жесткий диск, флоппи-диск, USB-флешку и поддерживает дополнительный набор сетевых протоколов, таких как FTP, HTTP и NFS. После загрузки gPXE запрашивает меню операционных систем у сайта netboot.me и отдает управление пользователю.
Кроме всего прочего netboot.me позволяет добавлять в меню загрузчика собственные пункты. Для этого необходимо оставить на сайте пути к собственным ядру, образу initrd и прописать необходимые опции. В том случае, если конфигурация понравится администраторам сервиса, она будет добавлена в меню.
На данный момент netboot.me предлагает три образа gPXE-загрузчика: для записи на USB-брелок, флоппи-диск и CD. Для того, чтобы воспользоваться его возможностями достаточно выполнить ряд простых действий:
1. Скачать gPXE-загрузчик.
2. Записать его на носитель:
$ sudo dd if=netbootme.dsk of=/dev/fd0 // Флоппи-диск
$ sudo dd if=netbootme.usb of=/dev/sdf // USB-брелок
3. Загрузиться с носителя.
В случае статической настройки сети придется указать свои сетевые реквизиты, но если сетью управляет DHCP-сервер все заработает из коробки.
4. Выбрать операционную систему для загрузки/установки. На данный момент поддерживается установка следующих ОС:
- Debian Lenny (5.0)
- Debian Testing
- Fedora 11
- OpenSUSE 11.1
- Ubuntu Jaunty (9.04)
- Ubuntu Karmic (9.10)
- FreeBSD 7.2
- MirOS bsd4me current
В виде загружаемых по сети LiveCD доступны:
- Tiny Core Linux 2.2
- Micro Core Linux 2.2
- MirOS bsd4me current
Кроме того есть следующие инструменты:
- Тестеры памяти Memtest 86 и Memtest 86+.
- Утилита для анализа конфигурации машины HDT 0.3.4.
- Мини-дистрибутивы для работы с накопителями GParted Live 0.4.5-2 и Parted Magic 4.5.
- Спасательные образы Ubuntu Jaunty (9.04), Ubuntu Karmic (9.10), Ubuntu Lucid (10.4) и CentOS 5.
- Загрузчик Smart Boot Manager.
Доступны также игра nethack и система меню сервиса boot.kernel.org.

Меню загрузчика netboot.me
Сам boot.kernel.org (или сокращенно BKO) представляет абсолютно идентичную netboot.me функциональность. Он использует тот же gPXE и предлагает собственный вариант загрузочного меню, содержащий дистрибутивы:
- Debian live
- Ubuntu 9.04
- Damm Small Linux
- Knoppix 5.0.1
- Fedora 11 Live CD
Возможности и ограничения сервиса полностью идентичны netboot.me. Цель проекта: распространение загрузочных образов систем диагностики, инсталяторов дистрибутивов и LiveCD, тестирование экспериментальных версий ядра.

Меню загрузчика boot.kernel.org
Кастомный дистрибутив в netboot.me
Выше я уже упоминал о том, что netboot.me позволяет добавлять в сервис собственную конфигурацию для загрузки. Но даже если она не будет принята администраторами сервиса, ее все равно можно будет загрузить с любой netboot.me-флешки.
Для этого необходимо залить ядро и образ initrd (нужно использовать специальный образ, содержащий в себе весь дистрибутив, как это сделать ищите в интернете, по запрсу "netboot initrd") на какую-нибудь сетевую машину с белым адресом, войти на сайт netboot.me (регистрация не требуется, сервис использует аккаунты google для управления пользователями), перейти по ссылке "MY CONFIGS", нажать на ссылку "new". В появившемся поле следует ввести имя новой конфигурации, описание, указать адрес ядра в поле "Kernel/Image", адрес initrd-образа в поле "Initrd" и необходимые аргументы ядра в поле "Args".
После того как конфигурация будет создана в поле "Chainload URL" появится ее адрес, последним элементом которого будет ID конфигурации, который необходимо запомнить. При следующей загрузке с помощью netboot.me нажмите любую клавишу после появления строки "Press any key for options or wait n seconds". Выбери опцию "Boot a configuration directly" и введите ID своей конфигурации.
Свой собственный boot.kernel.org
В отличии от netboot.me, сервис boot.kernel.org не предоставляет возможности создавать собственные конфигурации, зато он полностью открыт (на самом деле netboot.me тоже открыт, но официальной инструкции по его запуску нет). А это значит, что всю используемую им платформу сетевой загрузки можно скачать и установить на свой сервер. Попробуем сделать это.
Для начала установим инструменты сборки, систему управления версиями git и ассемблер nasm:
$ sudo apt-get install build-essential git-core nasm
Затем получим исходные тексты системы BKO:
$ git clone git://git.etherboot.org/scm/people/pravin/BKO.git
$ cd BKO
$ git submodule init
$ git submodule update
Отредактируем конфигурационный файл config так, чтобы опция BASE_URL содержала URL, по которому будет доступен BKO (он будет вшит в gPXE), а опция ISO_LOCATION_LOCAL - URL ISO-образов дистрибутивов (сделаем его равным BASE_URL/ISO).
Теперь запускаем процесс сборки gPXE и всех остальных компонентов BKO:
$ make
$ cd install_help
$ ./configure_BKO.sh
Скачаем модифицированные образы initramfs поддерживаемых дистрибутивов и их ISO-образы:
$ ./download_initramfs_images_http.sh
$ ./download_ISO.sh
Это все. Осталось только перенести содержимое каталога BKO в корень веб-сервера (например, /var/www) и выставить на файлы правильные права доступа.
Проблема загрузки netboot.me и BKO
На некоторых машинах загрузочные диски netboot.me и boot.kernel.org могут отработать неправильно, в результате чего вы не увидите загрузочное меню и не сможете произвести выбор ОС. Причина этого в установке неподдерживаемого видеоадаптером режима. Исправить ситуацию пока нельзя, но можно можно воспользоваться режимом командной строки (комбинация Ctrl+B) для ручной загрузки нужной конфигурации.