LINUX.ORG.RU

Infinity для процессоров Intel Atom (тестовая альфа версия)

 , ,


6

4

Публикую предварительную личную версию 4-го стейджа gentoo для процессоров Intel Atom. Система минимальная, недоделанная, проще говоря сделан скелет системы. В составе иксы, lxde, compiz, emerald, браузер midori, видеопроигрыватель mplayer, плейер audacious, в качестве текстового редактора задействован bluefish, файловый менеджер pcmanfm заменен на spacefm, калькулятор, редактор разделов gparted, для просмотра графики используется gpicview. Всего установлено 515 пакетов, ежели верить eix -Ic)

Шрифты настроены, как говорят, из коробки. Переработан conky, доработаны настройки compiz. До логина на asus n10j теперь менее 20 секунд.

Порядок установки:

1.Скачиваем (минимально достаточно скачать и установить только infinity.tar и portage-and-kernel-sources.tar):

  • Основная система infinity.tar 542Мб (md5sum 3e552757f853880ec337bfaccb3019f1)
  • Портежи, исходники ядра portage-and-kernel-sources.tar 262Мб (md5sum a9f287ca921ac499d6ae31008c6f4a28)
  • Исходники пакетов distfiles.tar 893Мб (md5sum 374a33ef3a3858c6f4ff9bda0fd712f3)
  • Готовые бинарники packages.tar 546Мб (md5sum c8ea553a704405a9786f88535ea13f2c)

2.Создаём раздел для установки с файловой системой ext4, удобным для Вас способом (минимально рекомендую от 16Гб)

3. Примонтируем его, например, к /mnt/gentoo (вместо sdaX впишите свой раздел, например, sda4)

# mkdir /mnt/gentoo
# mount /dev/sdaX /mnt/gentoo

4. Далее распаковываем необходимые части системы (предполагается, что они уже загружены и находятся в корне домашней папки пользователя):

# cd /mnt/gentoo
# time tar -xf ~/infinity.tar
# time tar -xf ~/portage-and-kernel-sources.tar
# time tar -xf ~/distfiles.tar
# time tar -xf ~/packages.tar

По времени полная распаковка займёт около полутора минут. Если устанавливаете только первые два основных пакета, то около 20 секунд.

Далее настраиваем загрузчик. В примере опишу, что нужно внести в grub.conf для grub-legacy (первый grub) при условии, что установка производилась на sda4.

Для Intel видеокарты:

title=Infinity 2013 alpha version (sda4) Intel
root (hd0,3)
kernel /mnt/atom/write/boot/vmlinuz-3.0.17-gentoo-r2 root=/dev/sda4 real_resume=/dev/sda1 rootfs=ext4 vga=0x315 video=uvesafb:ywrap,1024x600-32@60,mtrr:3,splash=verbose,theme:tty1 console=tty1 udev elevator=cfq doscsi cgroup_disable=memory
initrd /mnt/atom/write/boot/infinity.gz
Для Nvidia видеокарты:
title=Infinity 2013 alpha version (sda4) Nvidia
root (hd0,3)
kernel /mnt/atom/write/boot/vmlinuz-3.0.17-gentoo-r2 root=/dev/sda4 real_resume=/dev/sda1 rootfs=ext4 vga=0x36D video=vesafb:ywrap,1024x600-32@60,mtrr:3,splash=verbose,theme:tty1 console=tty1 udev elevator=cfq doscsi cgroup_disable=memory
initrd /mnt/atom/write/boot/infinity.gz

Обратите внимание, что в строке root (hd0,3) указывается номер на единицу меньше, чем в sda.

По умолчанию система настроена для работы Intel видеокарты. Чтобы переключить на Nvidia при первой загрузке из-под суперпользователя выполните:

# eselect opengl set nvidia && cd /etc/X11 && cp -a xorg.conf.nvidia xorg.conf && reboot

Для переключения обратно на видеокарту Intel:

# eselect opengl set xorg-x11 && cd /etc/X11 && cp -a xorg.conf.intel xorg.conf && reboot

Пароли:

  • root = root
  • quest = quest

Тестовая система скомпонована из нескольких блоков:

  • Основная система - /mnt/atom/infinity.squash
  • Портежи - /mnt/atom/portage.squash
  • Исходники ядра - /mnt/atom/kernel.squash

В каталог /mnt/atom/write записываются все изменения, сделанные в системе. По умолчанию домашний каталог сохраняется в /mnt/atom/write/home. Ядро располагается в каталоге /mnt/atom/write/boot. В режиме по умолчанию настройка fstab не требуется.

После первой устновки выполните от root:

# prelink -amRf

В принципе всё. Далее можно работать как с обычной генту-системой, забыв, что она построена на каскадной файловой системе aufs с использованием нескольких частей на squashfs.

При работе с intel видеокартой после старт будет занято около 70Мб, с nvidia около 140Мб оперативки.

Бенчмарк compiz на intel 945GSE ~ 135 FPS

Бенчмарк compiz на nvidia GeForce 9300M GS ~ 460 FPS

К сожалению, всё запланированное не успеваю выполнить до Нового года, буду доделывать в январе-феврале. Пока выкладываю с изъянами. Буду благодарен за адекватную критику и хорошие советы.

Недоработки:

1.Скрипт init нуждается в переработке, пока не решил как именно будет переключаться на основную систему

2.Хорошо настроить работу intel видеокарты пока не получилось. Окна дергаются при включенном режиме вязких окон, хотя этого не должно происходить

3.В настройках compiz не выводятся значки, хотя они присутствуют в системе

4.В grub и xorg система настроена для разрешения 1024x600 под DPI 116х116. Для других значений нужно менять эти параметры самостоятельно

5.Не успел написать xorg.conf для radeon, но сама поддержка этих видеокарт присутствует. Если кто поделится хорошим универсальным вариантом для этих видеокарт, буду признателен.

P.S.

Возможно не смогу быстро отвечать на вопросы в праздники, но буду страться уделить внимание всем адекватным собеседникам по мере появления свободного времени.

Ссылка на предыдущую публикацию, где присутствует описание управления

★★

Последнее исправление: cetjs2 (всего исправлений: 1)

Но зачем, готовая система и кастомизируемая гента — взаимоисключающие понятия.

anonymous
()
Ответ на: комментарий от anonymous

Но зачем, готовая система и кастомизируемая гента — взаимоисключающие понятия.

4.2 Ты же не против stage3, например.
Его система точно так же кастомизируется, просто готовый stage4 предоставляет по сути.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Большая часть содержимого stage3 останется в системе, в то время как здесь предустановлен набор пользовательского софта, который я (боюсь и не только) бы сразу снёс в пользу аналогов же.

anonymous
()
Ответ на: комментарий от devl547

И мы плавно переходим к вопросу, заданному в моём первом посте.

anonymous
()
Ответ на: комментарий от anonymous

Данный четвертый стейдж не отходит от принципов генту ни на шаг. При загрузке пользователь видит обычную иерархию каталогов. А вот из другой системы всё ценное можно увидеть на разделе в папке /mnt/atom.

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

glibych ★★
() автор топика
Ответ на: комментарий от anonymous

Готовы обсудить аналоги? Что именно Вы бы поменяли?

glibych ★★
() автор топика

Большая просьба к пользователям, скачавшим данный стейдж - делитесь впечатлениями, пожалуйста. Скоро буду корректировать сборку беты с полным набором софта и хотелось бы по максимуму внести все коррективы к этому моменту. Заранее благодарен.

glibych ★★
() автор топика
Ответ на: real_resume=/dev/sda1 от vlsinner

Этот параметр указывает на раздел, где расположен файл подкачки. Вам необходимо указать, где linux-swap расположен у Вас. Замечание верное, упустил этот момент. Спасибо.

glibych ★★
() автор топика

В альфа по умолчанию не включён файрволл. Для включения можно сделать небольшой скрипт с минимальными правилами для домашней системы (~/firewall):

#!/bin/bash

# Путь к iptables
IPTABLES=/sbin/iptables

# Сбрасываем все правила
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# Разрешающие правила
$IPTABLES -A INPUT -i lo -j ACCEPT
# Разрешаем входящие на установленные соединения
$IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешаем входящие udp и icmp
$IPTABLES -A INPUT -p udp -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT

# При необходимости можно открыть некоторые порты
#$IPTABLES -A INPUT -p tcp -m multiport --destination-port 139,22,80

# Лог входящих соединений
#$IPTABLES -A INPUT -j LOG --log-prefix "INPUT_iptables: "

# Запрещаем пинговать этот компьютер
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP

Разрешаем его выполнять:

# chmod +x ./firewall
Запускаем iptables:
# /etc/init.d/iptables start
Выполняем скрипт:
# ./firewall
Сохраняем настройки:
# /etc/init.d/iptables save
Перезапускаем демон:
# /etc/init.d/iptables restart
Прописываем автоматический запуск файрвола с сохранёнными настройками:
# rc-update add iptables default
В случае необходимости включаем лог:
# /etc/init.d/syslog-ng start && rc-update add syslog-ng boot

glibych ★★
() автор топика

Видео на нетбуках с процом Atom N2600 и Вашим ядром 3.0.17 не работает - проверил... Там видео Intel GMA3600 (PowerVR) - экспериментальная поддержка появилась с ядра 3.3 или 3.4 (ещё не смотрел точнее) - можно поднять версию ядра в следующей сборке?

Ootori
()

Буду благодарен за адекватную критику и хорошие советы.

stage4 конечно хорошо… но удобнее, проще, лучше и вообще гораздо более Ъ было бы отдельно stage1.spec, stage2.spec, stage3.spec, stage4.spec для catalyst и отдельно готовые stage-{1,2,3,4}

Конфиги и все прочее дистфайлсы (а т.е. там не те что на официальных серверах? иначе зачем они?) и бинарные пакеты вполне заслуживают места где то около стейджей.

init_6 ★★★★★
()
Ответ на: комментарий от Ootori

Можно будет, некоторые версии ядер тоже неплохо уже работают. Это ядро фиксировал, так как оно не замораживается даже в явно садистких условиях работы.

glibych ★★
() автор топика
Ответ на: комментарий от fbiagent

Можно. Немного менял make.conf, но примерно там находится следующее:

USE="-3dnow -3dnowext -altivec -gnome -gnome-keyring -gtk3 -hardened -ibm -introspection -ipv6 -iwmmxt -kde -llvm -mmxext -neon -secure-delete -semantic-desktop -sse4 -sse4a -sse4_1 -sse5 -qt3support -qt4 -qt-faststart acpi alsa bzip2 cairo compiz custom-cflags dbus directfb dri dvdr emerald fbcon ffmpeg fftw gif glibc-omitfp gzip hwdb imlib jpeg keymap ladspa lcms lzma lzo mmx mp3 mp4 mpeg mplayer nptl ogg opengl openmp pch pcntl pdf png policykit smp sound sse sse2 sse3 ssse3 svg syslog szip threads tiff truetype udev unicode usb v4l wifi X xcomposite xine xinerama xv xvid zlib"

ACCEPT_LICENSE="*"

#source /var/lib/layman/make.conf

PORTDIR_OVERLAY="/usr/local/portage/ $PORTDIR_OVERLAY"

PORTAGE_BINHOST="/usr/portage/packages/"

#Стабильно 11 месяцев
CFLAGS="-g0 -O3 -march=atom -mtune=atom -mmmx -mssse3 -mfpmath=both -fmerge-all-constants -fno-gcse -funroll-all-loops -fno-tree-pre -fno-tree-forwprop -fno-cprop-registers -fno-predictive-commoning -fno-inline-functions-called-once -funsafe-loop-optimizations -fno-tree-vectorize -fomit-frame-pointer -pipe"

#CC="/usr/bin/llvm-gcc" 
#CXX="/usr/bin/llvm-g++" 
#CPP="/usr/bin/llvm-cpp"

#CC="/usr/bin/clang"
#CXX="/usr/bin/clang++"
#CFLAGS="${CFLAGS} -mllvm -polly"

CXXFLAGS="${CFLAGS}"

#Для оптимизации самого компилятора gcc
BOOT_CFLAGS="${CFLAGS}"
T_CFLAGS="${CFLAGS}"

MAKEOPTS="-j8"
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --jobs=1 --autounmask-write=y --keep-going"

FEATURES="parallel-fetch"


#Включение распределенной компиляции
#FEATURES="${FEATURES} distcc"

#Серверы для распределенной компиляции
#DISTCC_HOSTS="192.168.0.155/12,lzo "

#Временый каталог для распределенной компиляции
#DISTCC_DIR="/tmp/.distcc"

#Включение проверки рапределенной компиляции
#DISTCC_VERBOSE="1"

LINGUAS="en ru"

ALSA_CARDS="hda-intel"

GPSD_PROTOCOLS=""

INPUT_DEVICES="evdev keyboard mouse synaptics"

VIDEO_CARDS="intel nvidia radeon v4l vesa i915 i965 r100 r200 r300 r600"

GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ rsync://mirror.the-best-hosting.net/gentoo-distfiles http://mirror.the-best-hosting.net rsync://gentoo.bloodhost.ru/gentoo-distfiles http://gentoo.bloodhost.ru/ http://mirror2.corbina.ru/gentoo-distfiles/ rsync://mirror2.corbina.ru/gentoo-distfiles/"
glibych ★★
() автор топика
Ответ на: комментарий от init_6

stage4 конечно хорошо… но удобнее, проще, лучше и вообще гораздо более Ъ было бы отдельно stage1.spec, stage2.spec, stage3.spec, stage4.spec для catalyst и отдельно готовые stage-{1,2,3,4}

Спасибо за направление. Попробую разобраться с этим.

Конфиги и все прочее дистфайлсы (а т.е. там не те что на официальных серверах? иначе зачем они?) и бинарные пакеты вполне заслуживают места где то около стейджей.

Сорцы в точности те же, фиксировал по двум причинам. Первое - иногда пакеты выбывают из обоймы основного дерева по разным причинам. Второе - прошлый раз некоторые очень беспокоились, что не было исходников вместе с системой, а их нужно качать из основного дерева)) Поэтому решил отдельно выложить те, из которых всё собрано. Бинарники и дистфайлы подключаются к родному для них каталогу /usr/portage. Сама система разложена в каталоге /mnt/atom для некоторого удобства. К примеру, так её можно и в раздел с работающей системой установить без ущерба для последней.

glibych ★★
() автор топика
Ответ на: комментарий от glibych

Спасибо за направление. Попробую разобраться с этим.

Ага ;) готовые примеры хоть сама гента либо вот у них тоже есть готовые примеры spec-ов.

прошлый раз некоторые очень беспокоились, что не было исходников вместе с системой, а их нужно качать из основного дерева))

на лично мой взгляд если там действительно все те же дистфайлсы и нет ничего уникального это глупость… хотя да вполне может быть и хорошо тем у кого вообще нет интернета

init_6 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.