Как сделать загрузочную флэшку Linux/KNOPPIX


Я уже описывал как создать проверочную флэшку для компьютера на базе Linux Puppy. Этот вариант хорош тем, что система безобразно мала и минималистична, занимает всего сотню мегабайт и остальное пространство на флэшке вполне можно использовать под ежедневные нужды. Но, если задача сложнее, чем просто проверить интернет или скопировать документы, то возможности этой Linux-флэшки могут оказаться скудными. Поэтому сегодня я раскажу как сделать загрузочную линукс флэшку на базе KNOPPIX. С такой флэшкой можно будет вытворять следующие вещи к примеру

  • Полноценно поработать бесплатно на компьютере в интернет кафе, где доступен USB и bios boot menu (boot menu вызывается даже при запароленом BIOS при включении компьютера как правило нажатием различных кнопок F8, F9, F11, F12 в зависимости от материнки). Ничего не надо взламывать, всё уже взломано без нас. BIOS boot menu просто так не отключается. Просто вставить флэшку и выбрать загрузку с USB. На диске доступен Firefox, GIMP, Inkscape, k3b и огромное количество опенсурс софта.
  • Агитировать друзей переходить на линукс и демонстрировать его со всеми прелестями включая абалденные эффекты compiz-fuzion. Если кнопикс соизволит схавать видеокарту. У меня compiz заработал без единого клика на Radeon 9550, а на различных видюхах GeForce не пошел.
  • Работать на компьютере без жесткого диска или без работающей операционной системы
  • Слить информацию с системы на ftp или на флэшку, где неизвестен пароль, не грузится система.
  • Дублировать с помощью ssh доступа жесткие диски по сети или по интернету. Как это делается скоро раскажу
  1. Для начала нам понадобится компьютер с линуксом и образ диска KNOPPIX. Подойдет как образ CD, так и DVD. Все зависит от размера флэшки. В интернете образ ищется легко, например DVD KNOPPIX 5.3.1 можно скачать вот тут: http://linux.softpedia.com/progDownload/KNOPPIX-Live-DVD-Download-2621.html
  2. Образ прожигаем или подмонтируем следующими командами с правами суперюзера
    modprobe loop (подгрузить модуль loop для монтирования образа диска, если он вдруг не загружен)
    mkdir /mnt/knoppix (создать директорию куда будем монтировать образ диска или монтируем в существующую дирку)
    mount -o loop /tmp/KNOPPIX_V5.3.1DVD-2008-03-26-EN.iso /mnt/knoppix (подмонтировать образ в нашу дирку)
    ls -l /mnt/knoppix (проверяем наличие файлов с образа, должно показать список файлов и директорий)
  3. Подмонтировать флэшку, если она автоматом не монтируется. Например, если она определилась как sda, то монтирование делается командой
    mkdir /mnt/flash
    mount /dev/sda1 /mnt/flash
  4. Скопировать содержимое директории boot в корень флэшки, а директорию KNOPPIX скопировать как есть
    cp /mnt/knoppix/boot/* /mnt/flash/
    cp -R /mnt/knoppix/KNOPPIX/ /mnt/flash/
    Если вы используете диск DVD, то флэшка нужна не меньше 4х гигабайт, если диск CD то подойдет флэшка на один гигабайт.
  5. Удалить на флэшке файл isolinux.bin который использовался при загрузке с CD/DVD, а файл isolinux.cfg переименовать в syslinux.cfg потому что мы будем использовать загрузчик syslinux (Понятное дело, что нам понадобится установленый пакет syslinux). Переименовываем:
    mv /mnt/flash/isolinux.cfg /mnt/flash/syslinux.cfg
  6. Устанавливается загрузчик syslinux.cfg на флэшку только при отмонтированной флэшке! Отмонтировать:
    umount /mnt/flash
  7. Для установки загрузчика на флэшку выполняем
    syslinux -sf /dev/sda1
    Если ничего не написало, то все получилось. Вытаскиваем флэшку и идем в BIOS/Boot menuб выбираем загрузку с флэшки. Если все сделанно правильно, то кнопикс отгрузится.

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

Свои флэшки я форматнул используя файловую систему ext2 вместо vfat (FAT32):
mkfs.ext2 /dev/sda1 (внимательно, не перепутайте диски чтоб не убить информацию на каком то другом диске)

Потом скопировал на флэшку с диска кнопикс две директории: /boot/isolinux и KNOPPIX. С любого линукса с загрузчиком GRUB берется директория /boot/grub и скидывается на флэшку. В файле конфигурации grub.conf вписываем следующие строки:

timeout 3
default 0
fallback 1

title KNOPPIX
root (hd0,0)
kernel /boot/isolinux/linux ramdisk_size=100000 init=/etc/init apm=power-off vga=791 nomce dma lang=us
initrd /boot/isolinux/minirt.gz

Проверьте что на флэшке файлы linux и minirt.gz находятся именно по приведенному пути или откорректируйте чтоб было верно. Не забываем отмонтировать флэшку. После чего устанавливаем загрузчик GRUB: запускаем команду grub и в грабе пишем:
root (hd0,0) Тут полагается, что флэшка - это первый диск в системе. Например, если первым идет винчестер, то писать надо root(hd1,0). Тут должно выдать ответ строк десять, что найдены файлы относящиеся к загрузчику grub. Если не найдены, значит неверно выбран диск или партиция. Пробуйте следующий диск пока не найдете именно вашу файловую систему с флэшки и не найдутся файлы загрузчика grub.
setup(hd0) установить загрузчик на флэшку
setup(hd0,0) установить загрузчик на первую партицию для надежности. В инете встречал инфомацию, что некоторые материнки ищут загрузчик на загрузочной партиции, а некоторые ищут в начале диска. Поэтому устанавливаю загрузчик в двух местах.
quit

Вуаля. При загрузке с флэшки попадаем в столь незаменимый всем линуксоидам загрузчик GRUB. Если загрузчик показывает менюшку, но не может загрузить ядро, зайдите в редактирование строки загрузки нажав букву "e". Изменив строку нажмите "b" чтоб загрузиться с новыми параметрами. Когда разберетесь, измените grub.conf.

У меня такая флэшка работает как часики, я от нее в восторге. Скоро буду ставить на флэшку Gentoo.

(C) http://internet-club.info