Автор: Pakin Yury (Speccyfighter)
Установка PuppyRus Linux 1.20F-Lite-Modern на USB Flash накопитель для использования как Live USB Flash системы загружаемой в память.
Пошаговое вразумительное руководство для новичков.
Введение
Ну вот, скажете вы, еще одно руководство, и будете неправы. Да руководств много, но вопросы по этой теме к сожалению не исчезают. Поэтому и возникла мысль написать простое и понятное руководство по установке, рассчитанное на пользователя Линукс, который имеет поверхностные познания в этой системе. К слову сказать, это не теоретический материал, а практическая, неоднократно использовавшаяся технология исключающая различные непредсказуемые казусы. Некоторые моменты установки используемые в других руководствах и ставшие камнем преткновения исключены из процесса установки и заменены другими методами. При установке дистрибутива использовались только средства дистрибутива PuppyRus Linux, в рассчете на самый худший случай, - отсутствие в компьютере HDD и других средств хранения информации. Таким образом вы можете использовать PuppyRus Linux не только из чистого любопытства, но и в самом худшем случае, - в случае полного и необратимого “падения” винчестера. Почему использовался PuppyRus? Потому, что на текущий момент из всех существующих CD-Cache минидистрибутивов, только в нем полностью и корректно реализована локаль ru_RU.UTF-8, ставшая стандартом для всех Линукс систем.
Флешка. К сожалению под руками есть только USB Flash 128Mb. Поэтому использовалась только она. Но может это и к лучшему: типичный пример того, что при использовании PuppyRus Linux можно пользоваться весьма скромными средствами.
Предполагается что вы уже прожгли на матрицу образ PuppyRus, PuppyRus-1.20F-Lite-M.iso Если у вас нет этого дистрибутива, вы можете скачать последний актуальный образ воспользовавшись линками с официального сайта проекта (puppyrus.org/) на котором вы также найдете полезные ссылки на документацию по дистрибутиву и приложениям, а также полезные ресурсы.
Англоязычный сайт оригинального проекта который и послужил основой для проекта PuppyRus находится по адресу www.puppylinux.org/
Вероятно вы пожелаете посетить и ru.wikipedia.org/wiki/Puppy_Linux
Исследование USB Flash накопителя
Загрузитесь с CD PuppyRus Linux. Если в качестве загрузочной команды подадите:
puppy pfix=ram
то при достаточном количестве памяти система будет установлена в память компьютера.
Загрузившись в Puppy, запустите терминал, который находится в <Меню/Утилиты/Эмулятор терминала Urxvt>
Подайте в нем команду:
dmesg > ~/dmesg.txt
Чтобы получить сообщения ядра системы и сохранить эти сообщения в файле, в домашнем каталоге. Откройте этот файл в редакторе Leafpad, который находится в <Меню/Текстовый редактор/Текстовый редактор Leafpad>. Воспользовавшись поисковиком редактора, введите для поиска строку:
USB Mass Storage
Курсор перейдет к этой строке текста и вы увидите приблизительно такие сообщения, с поправкой на вашу флэшку:
Initializing USB Mass Storage driver...
usb 7-5: new high speed USB device using ehci_hcd and address 2
usb 7-5: configuration #1 chosen from 1 choice
scsi6 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to seprele before scanning
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
Registering unionfs 2.1.2 (for 2.6.21.7)
fuse init (API version 7.8)
scsi 6:0:0:0: Direct-Access Easy Disk 3000 PQ: 0 ANSI: 0 CCS
SCSI device sdb: 252928 512-byte hdwr sectors (129 MB)
sdb: Write Protect is off
sdb: Mode Sense: 43 00 00 00
sdb: assuming drive cache: write through
SCSI device sdb: 252928 512-byte hdwr sectors (129 MB)
sdb: Write Protect is off
sdb: Mode Sense: 43 00 00 00
sdb: assuming drive cache: write through
sdb: sdb1
sd 6:0:0:0: Apreached scsi disk sdb
usb-storage: device scan complete
Строки сообщения
SCSI device sdb: 252928 512-byte hdwr sectors (129 MB)
sdb: Write Protect is off
скажут, что ваша флэшка объемом 129MB это незащищенное от записи SCSI устройство и является устройством sdb. Запомните имя устройства.
Создание и форматирование раздела на USB Flash
Для опытных скажу сразу, использовались cfdisk (можно fdisk, - непринципиально) и mkfs. Почему не использовались программы с фронтэндами? Ответ прост: под этими программами мне так и не удалось выставить флаг boot.
На этапе создания раздела я бы рекомендовал новичкам использовать программу cfdisk. Из консольных программ подобного рода она обладает простым и интуитивно-понятным интерфейсом. Пользователи неоднократно использовавшие менеджеры разделов без особого труда разберутся в ней.
Запустите в терминале на исполнение консольный менеджер разделов cfdisk, параметром для которого будет имя устройства вашей флэш, которое вы получили из dmesg:
cfdisk /dev/sdb
Откроется интерфейс с приблизительно таким содержанием, если флэшка неформатирована:
cfdisk 2.12r
Disk Drive: /dev/sdb
Size: 129499136 bytes, 129 MB
Heads: 4 Sectors per Track: 62 Cylinders: 1019
Name Flags Part Type FS Type [Label] Size (MB)
--------------------------------------------------------------------------
Pri/Log Free Space 129.39
[ Help ] [ New ] [ Print ] [ Quit ] [ Units ]
[ Write ]
Print help screen
Опцией New создайте новый раздел. Вас попросят создать раздел как первичный, ввести объем этого раздела или оставить предложеный объем по-умолчанию (будет использоваться вся флэш). Далее опцией Type задайте тип файловой системы которая будет находиться на разделе. Вас попросят ввести код типа файловой системы. Для файловой системы Linux введите шестнадцатиричный код 83. Опцией Bootable выставьте флаг boot, чтобы сделать флэшку загрузочной. Теперь вы получили Linux-раздел на вашей флэшке:
Name Flags Part Type FS Type [Label] Size (MB)
------------------------------------------------------------------------
sdb1 Boot Primary Linux 129.39
У вас на флэш появился раздел sdb1. Сохраните изменения опцией Write. Но раздел еще не содержит файловой системы, а только идентификатор, который говорит о том какая файловая система будет содержаться на разделе. Чтобы создать файловую систему на разделе подайте комаду в терминале. Для файловой системы ext2 это:
mkfs.ext2 /dev/sdb1
Через непродолжительное время вам сообщат, что операция выполнена. Флэшка готова к установке Puppy.
Вы наверное уже обратили внимание, что не было ни одного упоминания о swap-разделе. В связи с этим вы должны знать, что интенсивное использование swap-раздела может привести флэш-накопитель в нерабочее состояние из-за ограниченного количества циклов записи для этих устройств.
Установка PuppyRus Linux на USB Flash
Запустите инсталлятор Puppy из <Меню/Настройки/Универсальный инсталлятор Puppy>. Откроется окно, в котором вам предложат выбрать куда вы хотите установить Puppy. Инсталлируя на свою флэш мне так и не удалось запустить инсталляцию с опцией
Далее появится окно в котором вам предложат:
Выберите, на какой привод инсталлировать
выберите свой флэш накопитель. В текущей ситуации это:
sdb EasyDisk, size 123.5Mb
и нажимаем
В следующем окне вам предложат выбрать вариант установки на выбранном устройстве:
sdb1: ext2, size 123.4Mb
Второй вариант, внизу окна, это Superfloppy. Выбираем первый вариант:
Установить Puppy на sdb1
и нажмите на кнопку расположенную рядом с этой опцией. В самом низу окна вы увидите длинную кнопку <Вернуться и выбрать текущее устройство> что и можно сделать если возникла необходимость. В следующем появившемся окне вам сообщат:
Вы выбрали установку Puppy на раздел /dev/sdb1, который имеет ext2 файловую систему и размер 123.4Mb
Нажмите
Puppy установит от 2-х до 4-х файлов
vmlinuz - Ядро Linux
initrd.gz - инициализатор виртуального диска
pup_301.sfs - Это все файлы Puppy
и внизу окна кнопка
Вставьте пожалуйста Puppy live-CD
Нажмите кнопку
Простите, Puppy на CD не обнаружен
Смонтируйте CD … нажмите кнопку
Поскольку CD с Puppy вы уже смонтировали, нажмите
vmlinuz
, initrd.gz
, pup_301.sfs
Перейдите в окне в директорию /mnt/
Выбор Формальной установки как live-CD и Полной установки
Выбираем <Формальную установку как live-CD>. В следующем окне вас предупредят что:
Puppy будет установлен на раздел sdb1, который в данный момент смонтирован в /mnt/sdb1
В строке окна расположенной чуть ниже вам будет предложено выбрать имя каталога на USB-Flash (будет создан) куда будут копироваться файлы. По-умолчанию имя каталога предлагается puppy301. После определения выбора нажмите
Установка и правка загрузчика GRUB на USB-Flash
Итак, ваш PuppyRus Linux установлен на флэш, но загрузчика GRUB на нем еще нет. Теперь вам предстоит установить его. Проверьте в первую очередь, чтобы ваш USB-Flash был отмонтирован. Если это не так, размонтируйте его. Это можно сделать утилитой pmount расположеной в разделе меню <Менеджер файлов> или закройте окно менеджера файлов (если оно открыто) со смонтированой флэш и во вновь появившемся окне на одной из кнопок вам предложат размонтировать ваш USB-Flash.
Для установки загрузчика GRUB, который будет запускать Puppy с флэшки, запустите <Меню/Система/Конфигурация загрузчика GRUB>. В появившемся окне вам будет предложен выбор уровня установки загрузчика:
- simple: Попытаться установить GRUB автоматически
- expert: Использовать расширенные возможности меню установки GRUB
Выберите
Выбор разрешения для консоли.
Кто знает на каком компьютере будет грузиться с нашей флэш Puppy? Для исключения коллизий выбираем опцию
В следующем окне вам предложат:
Укажите в строке окна раздел где будут располагаться файлы GRUB.
Введите требуемое в формате /dev/<раздел>. В моем случае это:
/dev/sdb1
.
И нажмите
- Root - в superblock Linux раздела
- Floppy - установка на дискету
- MBR - установка в MBR на HDD</pre>
Выберите Root, чтобы установить загрузчик в superblock Linux раздела флэш и нажмите
GRUB успешно установлен
Осталось нажать
Теперь вам необходимо внести изменеия в файл
menu.lst
.
загрузчика GRUB. Для начала вызовите программу pmount, нажмите кнопку <Обновить> и кнопку соответствующую вашей флэш. Из меню Puppy вызовите редактор Leafpad, откройте в нем файл
/tmp/NEWGRUBTEXT
.
Далее откройте еще один редактор, воспользуйтесь опцией <Файл/Открыть> и выберите файл
/boot/grub/menu.lst
.
на вашей флэш. Выделите содержимое файла
NEWGRUBTEXT
.
скопируйте его в буфер обмена и вставьте содержимое буфера в открытый файл menu.lst вашей флэш после строки
<# Linux bootable partition config begins>
Уберите во вставленном тексте из опции title русские слова или вообще переименуйте опцию по вашему вкусу. Например
<title Puppy 1.20F-Lite-M>
Не применяйте только кириллицу. Остальные опции GRUB’а, например такие как:
# Linux bootable partition config begins
title Linux (on /dev/sda3)
root (hd0,2)
kernel /boot/vmlinuz root=/dev/sda3 ro vga=normal
# Linux bootable partition config ends
и аналогичные вы можете закомментировать введя в начале строк файла menu.lst символ <#>. В добавленой через буфер опции загрузки измените строку:
rootnoverify (hd1,0)
на
rootnoverify (hd0,0)
Если в процессе инсталляции Puppy вы изменяли имя каталога для копирования файлов (по-умолчанию предлагалось puppy301), то в строке:
kernel /puppy301/vmlinuz pmedia=usbhd psubdir=puppy301
измените имя
initrd /puppy301/initrd.gz
В конце концов файл menu.lst приобретет приблизительно такой вид:
# GRUB configuration file '/boot/grub/menu.lst'.
# generated by 'grubconfig'. Thu Aug 28 19:41:18 2008
#
# Start GRUB global section
timeout 30
color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title Puppy Linux 1.20F-Lite-M
rootnoverify (hd0,0)
kernel /puppy301/vmlinuz pmedia=usbhd psubdir=puppy301
initrd /puppy301/initrd.gz
# Linux bootable partition config ends
title - For help press 'c', then type: 'help'
root (hd0)
title - For usage examples, type: 'cat /boot/grub/usage.txt'
root (hd0)
Опция
/boot/grub/menu.lst
на вашей флэшке.
Все. Ваша USB-Flash с Puppy Linux готова к использованию.
Перегрузитесь. Зайдите в BIOS. Выставьте загрузку с флэш высшим приоритетом. Выйдите из BIOS с сохранением. Или по клавишам
Удачи вам в освоении малыша Puppy!
Лицензия
Данный документ распространяется на условиях свободной лицензии GNU FDL (Free Documentation License) версии 1.1 или любой более поздней версии.
Отказ от ответственности
Автор не несет ответственности за возможный причиненный ущерб, вызванный прямо или косвенно при использовании информации содержащейся в документе.
Автор: Pakin Yury (Speccyfighter)
Дата: 2008-11-06