Netbook-live
Сборка livecd/liveflash от gns@.
Рабочее окружение: LXDE
Ядро: pure-emerald 3.6-rc7
Актуальная стабильная версия: 6.0.8 на базе Шестой Платформы (с поддержкой сенсорного ввода). Где взять: ftp.linux.kiev.ua
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать хуки (оригинал), выполняемые при загрузке.
Загрузить
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.
Установка
[README.bootflash], [README.install]
TODO: перенести тексты на вики.
Создание загрузочной флешки
Из образа live-flash.img
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой:
dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).
Создание образа с использованием makebootflash
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете
- записать напрямую в устройство:
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb
- создать img файл
dd if=/dev/zero of=eeepc-live.img bs=1M count=470
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img
А затем, записать его:
dd if=eeepc-live.img of=/dev/sdb
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.
Вручную, с использованием syslinux
- Необходимо скопировать все содержимое корневой директории на флешку
- Установить загрузчик syslinux
Из iso-образа при помощи unetbootin (не рекомендуется)
- Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.
Для подготовленных пользователей
- Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске
- Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти
- Поместите eeelive на любой носитель
- В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:
title ALT Linux nblive-6.0.2 kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK initrd /boot/alt0/full.cz
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для запуска во время загрузки.
Инсталляция на диск
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"
Ответ: "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""
Вопрос: "Как инсталлировать дистрибутив как обычную, постоянную систему?"
Ответ: "Это невозможно. Это "живая" система. Так и задумано. Основаная идея такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, полнофункциональную систему. Мне было нужно именно это и я это сделал.
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701 где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся разделе, доступном для чтения и записи.
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и это возможно - смотрите [README.hooks]
Я работаю следующим образом:
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для для загрузки из образа eeelive.
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером в 2GB, при помощи этих хуков. Смотрите примеры и вики.
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход: Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb флешке, размером в 8GB. Когда я его вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт /media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel поверх /home/altlinux.
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации) Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.
Когда я заканчиваю, я размонтирую encfs, лочу LUKS и вынимаю флешку.
Важен тот факт, что $HOME виртуальный и эфемерный. Единственными вещами, требующими "онлайн" обновления являются профили mozilla, конфиги или логи jabber и ~/work.
Всю остальную конфигурацию, которую мне надо сохранить, я копирую в /media/m8gb/home.skel. Например, конфиги irssi и .ssh/config.
Поэтому, я могу работать с любым моим ноутбуком, с легкостью переключаясь между ними.
Конечно, у меня есть второй ssd носитель, емкостью 16GB в 901 модели и диск на 250GB в 1215. Первое, о чем я подумал, я должен аккуратно разделить мою работу и... все остальное. Поэтому, вся моя работа на флешке, а диски для хранения музыки, фильмов и тому подобного. Так же, у меня хранится частичный клон сизифа на 1215N. Иногда я использую его для сборки пакетов и образов.
Еще у меня в наличии внешний жесткий диск на 320Gb, иногда приходится копировать информацию между ними, в зависимости от того, какой ноутбук я буду брать.
Разумеется, Вы можете сами придумать, как управляться со своим добром.
Загрузка
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.
Вход в систему: логин altlinux, без пароля.
Обновление
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:
eeelive syslinux/alt0/full.cz syslinux/alt0/vmlinuz
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:
mkdir syslinux/602
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:
label eeepc-new menu label ^2) Boot ALT Linux Netbook-Live 6.0.2 kernel 602/vmlinuz append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet
(вместо PENDRIVE - label вашей флешки)
Версионирование
В каждый момент существуют stable, testing, и current.
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.
Suspend to disk
Начиная с 3.1.1 (Apr 20 2011) система умеет просыпаться из hibernate.
Пересборка
Сборка дистрибутива полностью определяется профилем mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.
Четыре шага на пути к успеху
1. Склонируйте[1]репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git
или
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git
или, если у вас есть ssh доступ:
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git git clone git.alt:/people/yourname/packages/liveflash.eeepc.git
cd liveflash.eeepc git checkout p6
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.
4. скажите make
5. ....
6. PROFIT!
Где работает
- Acer Aspire TimelineX 1830T
- Acer Aspire One NAV50
- ASUS Eee Box 1007 (неттоп)
- ASUS Eee PC 701, 901, 1000
- ASUS Eee PC 1215N
- ASUS Z99H
- BENQ R55V
- IBM ThinkPad R52
- IBM ThinkPad T43
- IBM ThinkPad X61S
- LG LS 50
- 3Q AN1008A
- Asus Eee PC Touch T101MT
- Некоторые планшеты
Примечания
- ↑ Размещать профиль для сборки следует под $HOME или $TMP, см. /etc/hasher-priv/system