Установка PuppyRus Linux на flash-носитель

Автор: 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. Инсталлируя на свою флэш мне так и не удалось запустить инсталляцию с опцией . Если у вас происходит то же самое, воспользуйтесь опцией <Сменный USB жесткий диск>. Проблема исчезнет. По какой-то причине флэшка определилась инсталлятором как USB HDD.

Далее появится окно в котором вам предложат:

Выберите, на какой привод инсталлировать

выберите свой флэш накопитель. В текущей ситуации это:

 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

и внизу окна кнопка . Теперь внизу рабочего стола вы увидите линки на устройства накопителей (HDD, CD/DVD, Flash). Смонтируйте CD-диск с которого вы загрузились, нажав на изображение с именем вашего CD/DVD-привода, - после чего появится окно менеджера файлов со списком файлов, которые содержит CD-диск. Далее в окне в котором вам сообщали, что , нажмите кнопку . Потом появится окно в котором вас попросят:

Вставьте пожалуйста Puppy live-CD

Нажмите кнопку . Возможно появится окно, в котором вам сообщат:

Простите, Puppy на CD не обнаружен Смонтируйте CD … нажмите кнопку

Поскольку CD с Puppy вы уже смонтировали, нажмите . Всплывет окно для выбора одного из файлов:

vmlinuz, initrd.gz, pup_301.sfs

Перейдите в окне в директорию /mnt/, в моем случае это /mnt/dvd2, и выберите файл vmlinuz. Нажмите . После этого нажатия появится окно:

Выбор Формальной установки как live-CD и Полной установки

Выбираем <Формальную установку как live-CD>. В следующем окне вас предупредят что:

Puppy будет установлен на раздел sdb1, который в данный момент смонтирован в /mnt/sdb1

В строке окна расположенной чуть ниже вам будет предложено выбрать имя каталога на USB-Flash (будет создан) куда будут копироваться файлы. По-умолчанию имя каталога предлагается puppy301. После определения выбора нажмите . Далее пойдет процесс копирования файлов на sdb1 в каталог puppy301, о чем вас предупредит всплывшее окно. После окончания операции появится окно, которое сообщит, что файлы скопированы, а также выведет содержимое для файла menu.lst, - копия этого содержимого находится в /tmp/NEWGRUBTEXT. Нажмите для завершения установки.

Установка и правка загрузчика GRUB на USB-Flash

Итак, ваш PuppyRus Linux установлен на флэш, но загрузчика GRUB на нем еще нет. Теперь вам предстоит установить его. Проверьте в первую очередь, чтобы ваш USB-Flash был отмонтирован. Если это не так, размонтируйте его. Это можно сделать утилитой pmount расположеной в разделе меню <Менеджер файлов> или закройте окно менеджера файлов (если оно открыто) со смонтированой флэш и во вновь появившемся окне на одной из кнопок вам предложат размонтировать ваш USB-Flash.

Для установки загрузчика GRUB, который будет запускать Puppy с флэшки, запустите <Меню/Система/Конфигурация загрузчика GRUB>. В появившемся окне вам будет предложен выбор уровня установки загрузчика:

 - simple: Попытаться установить GRUB автоматически
 - expert: Использовать расширенные возможности меню установки GRUB

Выберите и нажмите . Далее появится окно:

 Выбор разрешения для консоли.

Кто знает на каком компьютере будет грузиться с нашей флэш Puppy? Для исключения коллизий выбираем опцию и нажимаем .

В следующем окне вам предложат:

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

Введите требуемое в формате /dev/<раздел>. В моем случае это: /dev/sdb1.

И нажмите . Далее появится окно выбора, куда будет устанавливаться GRUB:

 - 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

измените имя на то, что вы вводили, чтобы скорректировать реальный путь к каталогу с файлами vmlinuz и т.д. на вашей флэш. То же сделайте для initrd, - т.е. проверьте правильный путь к файлу initrd.gz в строке:

 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)

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

/boot/grub/menu.lst

на вашей флэшке.

Все. Ваша USB-Flash с Puppy Linux готова к использованию.

Перегрузитесь. Зайдите в BIOS. Выставьте загрузку с флэш высшим приоритетом. Выйдите из BIOS с сохранением. Или по клавишам или в POST, на перезагрузке вызовите меню выбора устройства с которого желаете загружаться, выберите USB-Flash и загружайтесь в Puppy.

Удачи вам в освоении малыша Puppy!

Лицензия

Данный документ распространяется на условиях свободной лицензии GNU FDL (Free Documentation License) версии 1.1 или любой более поздней версии.

Отказ от ответственности

Автор не несет ответственности за возможный причиненный ущерб, вызванный прямо или косвенно при использовании информации содержащейся в документе.

Автор: Pakin Yury (Speccyfighter)

Дата: 2008-11-06