Собираем собственный дистрибутив на базе Debian 6
Не дают мне покоя лавры Попова. Сегодня будем собирать свою уникальную операционную систему. Надеюсь это оценят ведущие программисты страны. Если серьезно, то будем собирать Live дистрибутив на базе Debian 6. В качестве основного (и единственного) окружения рабочего стола будем использовать wmii. Устанавливаем debian и wmii по этому топику.
Редактируем:
/etc/apt/sources.list
Добавляем:
Обновляем информацию о репозитариях, устанавливаем live-build:
Создаем директорию, например, live в домашней директории:
Создаем директорию auto:
Создаем скрипт-обертку auto/config:
Т.е. наш дистрибутив будет представлять собой минимальный Debian 6 +
нужный нам софт. wmii в списке пакетов нет, так как deb пакет с версией 3.9.2 я собрал сам.
Создаем auto/build:
Создаем auto/clean:
Назначаем права на исполнение:
Создаем директорию config:
В директории config/chroot_local-includes будут храниться файлы, которые заменят стандартные при сборке дистрибутива. Нам нужны настройки wmii — wmiirc.
Мой wmiirc при старте запускает trayer — утилиту для отображения иконок свернутых программ. Также запускается setxkbmap для переключения раскладок capslock'ом. Привожу начало wmiirc:
Собранный пакет с wmii помещаем в директорию config/chroot_local-packages. Все .deb пакеты, помещенные в данную директорию, будут установлены в конечном дистрибетиве.
Собираем наш дистрибутив так:
В последствии при сборке новых версий сначала чистим:
Для сборки необходимо подключение к интернету, будут скачаны .deb пакеты, создана chroot с новым дистрибутивом, а потом это все упаковано в iso образ. Это в 2х словах.
На выходе получаем iso вида:
binary-hybrid.iso
live.debian.net/manual/en/html/live-manual.html
Редактируем:
/etc/apt/sources.list
Добавляем:
deb http://live.debian.net/ squeeze-snapshots main contrib non-free
deb-src http://live.debian.net/ squeeze-snapshots main contrib non-free
Обновляем информацию о репозитариях, устанавливаем live-build:
apt-get update && apt-get install live-build
Создаем директорию, например, live в домашней директории:
mkdir ~/live
cd ./live
Создаем директорию auto:
mkdir auto
Создаем скрипт-обертку auto/config:
#!/bin/sh
lb config noauto \
--username user \
--hostname mtaalamu \
--architecture i386 \
--linux-flavours 686 \
--debian-installer live \
--bootappend-live "locales=en_US.UTF-8 keyboard-layouts=us" \
--archive-areas "main contrib non-free" \
--packages-lists "standard-x11" \
--tasks "standard laptop" \
--packages "virtualbox-ose-guest-utils virtualbox-ose-guest-dkms trayer lxterminal lxappearance gigolo pcmanfm shutter gqview gimp inkscape vlc evince brasero pidgin chromium-browser wicd xsane rcconf vim gzip bzip2 p7zip unrar-free mc cmus htop testdisk fsarchiver gparted lvm2 mdadm" \
"${@}"
Т.е. наш дистрибутив будет представлять собой минимальный Debian 6 +
нужный нам софт. wmii в списке пакетов нет, так как deb пакет с версией 3.9.2 я собрал сам.
Создаем auto/build:
#!/bin/sh
lb build noauto "${@}" 2>&1 | tee binary.log
Создаем auto/clean:
#!/bin/sh
lb clean noauto "${@}"
rm -f config/binary config/bootstrap \
config/chroot config/common config/source
rm -f binary.log
Назначаем права на исполнение:
chmod 755 auto/config
chmod 755 auto/build
chmod 755 auto/clean
Создаем директорию config:
mkdir config
В директории config/chroot_local-includes будут храниться файлы, которые заменят стандартные при сборке дистрибутива. Нам нужны настройки wmii — wmiirc.
mkdir -p config/chroot_local-includes/etc/X11/wmii/
cp /etc/X11/wmii/wmiirc config/chroot_local-includes/etc/X11/wmii/
Мой wmiirc при старте запускает trayer — утилиту для отображения иконок свернутых программ. Также запускается setxkbmap для переключения раскладок capslock'ом. Привожу начало wmiirc:
#!/bin/dash -f
# Configure wmii
wmiiscript=wmiirc # For wmii.sh
. wmii.sh
# Sergei_T
setxkbmap -option grp:caps_toggle,grp_led:scroll "us,ru"
killall -u $(getent passwd $UID | sed -e 's/\:.*//') trayer
trayer --edge top --widthtype request --align right &
Собранный пакет с wmii помещаем в директорию config/chroot_local-packages. Все .deb пакеты, помещенные в данную директорию, будут установлены в конечном дистрибетиве.
Собираем наш дистрибутив так:
lb build
В последствии при сборке новых версий сначала чистим:
lb clean && lb build
Для сборки необходимо подключение к интернету, будут скачаны .deb пакеты, создана chroot с новым дистрибутивом, а потом это все упаковано в iso образ. Это в 2х словах.
На выходе получаем iso вида:
binary-hybrid.iso
live.debian.net/manual/en/html/live-manual.html
Комментарии (4)
RSS свернуть / развернутьшапочкаисошничек-то, извините, хде?На мтааламовку хоть принеси, у меня теперь переностой DVD-привод есть, можно прямо в кафе переписать (если розетку найдем .
Там, надеюсь, загрузчик isolinux?
yababay
Sergei_T
первым делом надо --bootappend-live переключить на русский, а то гном будет на буржуйском языке
а вторым делом надо понять как сделать две разные раскладки русскую и англицкую
morozko77
Sergei_T
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.