[ РЕШЕНО ] Установка системы на Acer Aspire One AOA110

Есть Acer Aspire One AOA110 хочеться поставить систему ( не обязательно Gentoo, но желательно).
Пробывал puppy, но что-то не особо понравился дистр, да и не все завелось...

Хотелось бы собрать маленькую систему, содержащую все необходимое и оптимизированное под Intel Atom.
CD нет, есть большой ком, но система 64-битная, поднимать distcc и компилить не хочеться, в основном из-за того, что сам ноут будет участвовать в сборке ( а это медленно ) и во-вторых тежялой настройке кроскомпилирования + в любом случае надо собирать систему на flash ( чтобы хотя бы gcc совпадал по версиям )...

Вообщем, хочеться собрать систему локально, а потом просто перетащить на ноут.

Подскажите как это лучше всего сделать, а то просто не знаю с чего начать.
-----------------------------------------------------------------------------------------------------------
Вообщем все получилось, пока дошел до xfce4, осталось только настройки, чтобы все работало....
Вкратце, как получилось:

(Опционально) Создаем виртуальный диск

dd if=/dev/zero of=vdisk.img bs=1M count=$((4*1024))
/sbin/mke2fs -m 0 vdisk.img
mount vdisk.img /mnt/gentoo32 -o loop

Подготовка

# pushd /mnt/gentoo32
# tar -xvjpf /home/user/stage3-x86-2008.0.tar.bz2
# mount -o bind /dev /mnt/gentoo32/dev
# mount -o bind /dev/pts /mnt/gentoo32/dev/pts
# mount -o bind /dev/shm /mnt/gentoo32/dev/shm
# mount -o bind /proc /mnt/gentoo32/proc
# mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb
# mount -o bind /sys /mnt/gentoo32/sys
# mkdir -p /mnt/gentoo32/usr/portage/
# mount -o bind /usr/portage /mnt/gentoo32/usr/portage/
# mount -o bind /tmp /mnt/gentoo32/tmp </pre></blockquote>

В дальнейшем написал скриптик, для быстрого монтирования/размонтирования

#!/bin/sh

echo "Mounting virtual disk"
mount vdisk.img /mnt/gentoo32 -o loop

echo "Copy config files"
cp -L /etc/resolv.conf /mnt/gentoo32/etc/
cp -L /etc/passwd /mnt/gentoo32/etc/

echo "mount virtual file systems"
mount -o bind /dev /mnt/gentoo32/dev
mount -o bind /dev/pts /mnt/gentoo32/dev/pts
mount -o bind /dev/shm /mnt/gentoo32/dev/shm
mount -o bind /proc /mnt/gentoo32/proc
mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb
mount -o bind /sys /mnt/gentoo32/sys

mount -o bind /usr/portage/ /mnt/gentoo32/usr/portage/
mount -o bind /tmp /mnt/gentoo32/tmp
mount -o bind /var/tmp/ /mnt/gentoo32/var/tmp/

echo "This host is "
uname -m

echo "Change Root system to 32-bit"
linux32 chroot /mnt/gentoo32 /bin/bash</pre>

и возвращаем все на место:

#!/bin/sh

echo "Unmount virtual file systems"
umount  /mnt/gentoo32/dev/pts
umount  /mnt/gentoo32/dev/shm
umount  /mnt/gentoo32/dev
umount  /mnt/gentoo32/proc/bus/usb
umount  /mnt/gentoo32/proc
umount  /mnt/gentoo32/sys

umount  /mnt/gentoo32/usr/portage/
umount  /mnt/gentoo32/tmp
umount /mnt/gentoo32/var/tmp/

echo "UnMounting virtual disk"
umount /mnt/gentoo32</pre>

Chroot
linux32 chroot /mnt/gentoo32 /bin/bash
выполняем:

source /etc/portage
env-update</pre>

Желательно сразу обновить систему и обновить gcc на 4.4.1, после

Правим /etc/make.conf и устанавливаем как написано в доке

CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
CXXFLAGS="$CFLAGS"</pre>

выбираем новый gcc через gcc-config
и снова пересобираем gcc
старую версию сносим, с помощью emerge -avP gcc, и далее все по handbook

Конфиг ядра можно взять отсюда:
http://aur.archlinux.org/packages.php?ID=19580

Из известных проблем:
Если не собираеться gettext для perl, perl надо еще раз пересобрать

и пересобрать python, еще разок когда обновлением компилятора будет завершено

Перетаскиваем на flash все через команду:

rsync -av --delete-excluded --exclude usr/src/ --exclude var/db/pkg --exclude var/cache/ /mnt/gentoo32/ /mnt/myflash/

Чтобы загрузиться с usb-flash необходимо указать парамер rootdelay=10, чтобы ядро успело найти файловую систему флешки, а то я долго не мог понять почему ядро корень не находит.

Дальнейшую настройку делаю по статье: http://wiki.archlinux.org/index.php/Acer_Aspire_One

Всем спасибо за подсказки :)

Вопрос такой: Возможен-ли

Вопрос такой: Возможен-ли chroot из amd64 и x86?

Если да, то я делал так.
создавал большой (~6G) файл, в нем ext3. Монтировал, распаковывал stage3, chroot туда и по хендбуку собирал систему для ноута.
После сборки rsync'ом копировал результат на usb-винт, ставил в его корень grub, загружал с винта ноут, конфигурировал. По окончании тем же rsync с винчестера систему слил на ноут. Образ диска на большом брате сохранил, теперь иногда на нем мир обновляю и по сети опять же rsync обновляю ноут

да возможен, см.

да возможен, см. linux32
большой файл ненужен, достаточно простого chroot'а куданибудь

вот только там нужны какие-то

вот только там нужны какие-то хитрости при сборке некоторых пакетов, у меня, например, mplayer не хотел в 32битном chroot-е собираться и ядро.

статья

Нашел статейюу про chroot 32 в 64-х битной системе.
32Bit Chroot Guide for Gentoo/AMD64
Там действительно используется linux32 (setarch тул), вроде, все понятно выглядит...
Буду пробывать... о результатах напишу :)

Спасибо, за совет :)

Пробовать пробуйте, я забыл

Пробовать пробуйте, я забыл добавить, что /usr/portage я монтировал через -o bind, чтобы не перекачивать файлы заново и потом их на ноут не тащить, у меня там всего 8 гигов памяти )

то что он не нужен я понял

то что он не нужен я понял позже. тут правда 1 нюанс возникает. Если хочется куда-то этот образ системы скинуть или удалить нафиг, то 1 файл обработается заметно быстрее) чем куча мелких

Флаги для Intel Atom N270

В нетбуке стоит процессор Atom N270, начал искать для него флаги наткнулся на статейку:
Safe Cflags/Intel

CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
CXXFLAGS="$CFLAGS"

Самое странное, что указана архитектура core2 (4.4.1 GCC указано -march=core2 Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support. )

Собственно, он может работать в 64-х битном режиме?
Если да, то не понятно под какую архитектуру компилировать?

да. могут. однажды

да. могут. однажды лажанулся... :)
ставил на Atom Madriv'у с Dual-Arc диска и не посмотрел... в итоге получил 64бит систему, пришлось пересталять :)

P.S.: Linux - это красная таблетка :-) Windows - синяя...

N270 - только 32 бит. В вики

N270 - только 32 бит. В вики по нему ни слова о 64 битах.
330-й действительно 64 бита.

У меня сейчас на двух системах gentoo - на одной c2d на другой atom - а cflags получились одинаковые, что радует, можно просто пакеты бинарные перекдывать для обновления.

+ sse3, судя по

+ sse3, судя по /proc/cpuinfo, он не поддерживает.
PS ставте
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott"
и дальше по вкусу.
PPS atom 270 не такой и медленный, только смонтируйте tmpfs в /var/tmp на момент сборки пакетов (и быстрее, и нерасходуется ресурс ssd)
PPPS держите portage в squashfs + aufs

model name : Intel(R)

model name : Intel(R) Atom(TM) CPU N270 @ 1.60GHz
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm lahf_lm

model name : Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow

так что в моём случае - оба без sse3 но с ssse3 следовательно -march=core2 с gcc 4.3 и 4.4 работает нормально

следовательно ставте

следовательно ставте -march=prescott и будет Вам счястье.
Незвесно что курил автор, когда пралив wiki,сказал что atom270==core2

кроме sse2 есть больщии

кроме sse2 есть больщии отличия в архитектуре. Просто, если Вы используете gcc-4.3 он не будет генерить код для неправильной архитекруры (например укажите i386, и потом посмотрите листинг)

Поробую для начала core2,

Поробую для начала core2, потом если что-то не так пойдет постараюсь пересобрать :)

Вообще, споров достаточно много, но самый обоснованный ответ, который я нашел, это http://gcc.gnu.org/ml/gcc-help/2009-04/msg00101.html

В любом случае, это только набор инструкций, архитектура все равно 32-х битная ( или я ошибаюсь ?)

Если будет развёрнут chroot

Если будет развёрнут chroot из 32-битного стэйджа то и результат будет 32-х битный.
на samsung nc10 то что собрано с -march=core2 стабильно работает.
надо бы, конечно, производительность сравнить.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".