Здесь будут шапка и навигация. Вернуться на сайт.
На всех нетбуках есть один минус, отсутствие CD-ROM, решил накидать небольшую статью, как поставить на свой нетбук генту по сети.
У меня EEE PC 701 для него
Boot → OnBoard LAN Boot ROM ставим в Enabled
допустим у нас сеть 192.168.0.0/24
IP большого брата 192.168.0.4
IP шлюза в инет 192.168.0.1
IP для ноута будет даватся 192.168.0.131
мак адрес ноута AA:AA:AA:AA:AA:AA (как узнать свой мак адрес? когда грузишся по сети загрузчик в биосе ноута говорит мой мак такойто … )
emerge -avu net-misc/dhcp net-ftp/tftp-hpa sys-boot/syslinux
Cоздадим файл /etc/dhcp/dhcpd.conf
default-lease-time 600; max-lease-time 7200; ddns-update-style ad-hoc; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.131 192.168.0.131; option routers 192.168.0.1; deny unknown-clients; host setup_server { filename "pxelinux.0"; server-name "192.168.0.4"; next-server 192.168.0.4; hardware ethernet AA:AA:AA:AA:AA:AA; fixed-address 192.168.0.131; } } option option-150 code 150 = text ;
/etc/init.d/dhcpd start
правим фал /etc/conf.d/in.tftpd
раскоментируем или добавим
INTFTPD_PATH="/var/tftp/"
создаем папку
mkdir /var/tftp/ /var/tftp/gentoo/
незабываем запустить
/etc/init.d/in.tftpd start
cp /usr/share/syslinux/pxelinux.0 /var/tftp/
mkdir /var/tftp/pxelinux.cfg
создадим файл
/var/tftp/pxelinux.cfg/default
DEFAULT gentoo LABEL gentoo kernel gentoo/vmlinuz append initrd=gentoo/initramfs.cpio.gz PROMPT 1 TIMEOUT 0
Уже можно попытаться загрузится, вы должны увидеть приглашение загрузчика
boot:
осталось дело за малым собрать ядро и загрузочный образ.
У меня 64х битный большой брат поэтому я буду делать не большой финт ушами, чтобы собрать необходимое нам ядро и образ для 32х битного ноута.
Эти действия можно делать и если битность систем совпадает, можно на большом брате пересобрать установленное ядро и образ в отдельной папке, но имхо первый способ удобней.
Сделаем небольшую 32х битную подсистему внутри 64х битной.
Это немного похоже на установку генты.
создадим папку
mkdir /var/tftp/gentoo/tmp
нам понадобится stage3 у меня stage3-i686-2008.0.tar.bz2
скопируем его в /var/tftp/gentoo/tmp/ и распакуем там tar -xpvf stage3-i686-2008.0.tar.bz2
создадим папку
mkdir /var/tftp/gentoo/tmp/usr/portage
прибиндим портежи, если у вас distfiles монтируется отдельно то их тоже стоит прибиндить.
mount --bind /usr/portage /var/tftp/gentoo/tmp/usr/portage
копируем настройки DNS
cp /etc/resolv.conf /var/tftp/gentoo/tmp/etc/
переходим в нашу новую систему
linux32 chroot /var/tftp/gentoo/tmp/ /bin/bash
Я обычно чищу переменные окружения, а то иногда из-за них че нить нехорошее случается.
su -
Ну вот и готова наша 32х битная система для сборки ядра и образа.
Пункты 3.1, 3.2, 3.3 выполняются в ней!
Cтавим ядро.
emerge gentoo-sources
cd /usr/src/linux
конфигурируем ядро
Важно! Все драйвера, файловые системы, которые нам понадобятся, компилим монолитно в ядро, никаких модулей!
make menuconfig
главное что должно стоять
General Setup ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support () Initramfs source file(s)
Остальное по вашему усмотрению.
компилим, устанавливаем
make ; make install
ядро готово!
Тут два пути, можно тупо весь stage засунуть туда и не мучатся, главное чтобы в ноуте оперативки хватило, для stage - 1G, этот метод я опущу он слишком простой.
Итак нам нужен маленький образ корневой ФС, с минимум приложений для начала установки генты на ноуте.
создадим папку для образа
mkdir /tmp/image/
распакуем туда busybox у меня в distfiles последний busybox-1.13.2.tar.bz2
tar -xpvf /usr/portage/distfiles/busybox-1.13.2.tar.bz2 -C /tmp/image/
идем в папку busybox
cd /tmp/image/busybox-1.13.2/
конфигурируем, лично я оставляю все настройки по умолчанию.
make menuconfig
компилим, инсталим
make ; make install
идем в папку образа
cd ./_install/
кое что допиливаем
ln -s ./linuxrc ./init mkdir lib cp -vd /lib/ld* ./lib/ cp /lib/libm.so* ./lib/ cp /lib/libc.so* ./lib/ cp -dR /dev/ ./dev mkdir proc
Для установки генты нам понадобятся утилиты которох нет в busybox
например mkfs.ext3, как её добавить ?
скопируем её в наш образ
cp /sbin/mkfs.ext3 ./sbin/
Это не все, у нее есть зависимости которые тоже необходимо скопировать, посмотрим на них ldd /sbin/mkfs.ext3
linux-gate.so.1 => (0xffffe000) - хитрая библиотека ядра её не копируем. libext2fs.so.2 => /lib/libext2fs.so.2 (0xf7f05000) libcom_err.so.2 => /lib/libcom_err.so.2 (0xf7f01000) libblkid.so.1 => /lib/libblkid.so.1 (0xf7ef7000) libuuid.so.1 => /lib/libuuid.so.1 (0xf7ef2000) libe2p.so.2 => /lib/libe2p.so.2 (0xf7eeb000) libc.so.6 => /lib/libc.so.6 (0xf7dbb000) - это уже копировали выше /lib/ld-linux.so.2 (0xf7f2e000) - это уже копировали выше
копируем все необходимые библиотеки
cp /lib/libext2fs.so.2 lib cp /lib/libcom_err.so.2 lib cp /lib/libblkid.so.1 lib cp /lib/libuuid.so.1 lib cp /lib/libe2p.so.2 lib
и так далее, собираем все что нам может понадобится
(find . | cpio -o -H newc | gzip) > "/boot/initramfs.cpio.gz"
с другой консоли (в основной системе а не 32х битной) копируем ядро и образ в папку tftp
cp /var/tftp/gentoo/tmp/boot/vmlinuz /var/tftp/gentoo/ cp /var/tftp/gentoo/tmp/boot/initramfs.cpio.gz /var/tftp/gentoo/
В итоге, моя система получилась ядро+образ 5MB - вполне неплохо!
Включем ноут, выбираем загрузку из сети и радуемся.
Замечание, приглашение можно не заметить нажмите пару раз enter, это потому что ядро сыпит все свои сообщения в консоль и »#» бывает трудно найти за всем этим мусором :)
для того чтобы работали некоторые утилиты нужно примонтировать proc
mount -t proc proc /proc
у вас есть ifconfig, есть wget, есть fdisk, есть mkfs.ext3, есть tar, больше ничего и не нужно ;)
Собственно все.
PS:
Не стоит выбирать этот способ если вы первый раз ставите генту, этот способ требует хорошого знания особенностей линукса.
Кое-какие рекомендации (частично навеянные этим мануалом):
make INSTALL_MOD_PATH=«путь_к_образу» modules_install
. При этом стоит установить на рамдиск udev и озаботиться его включением в автозагрузку. USE=»-* minimal» emerge -avt –root=путь_к_образу пакет1 пакет2…
. Необходимые для полноценной работы пакеты в образе - baselayout, wget, busybox, tar, gzip, bzip2, e2fsprogs, sed, awk, grep, procps, shadow. Могут оказаться весьма полезными nano, dhcpcd, reiserfsprogs, reiser4progs, grub, udev. Плюсы такого подхода - не нужно возиться с библиотеками/файлами (кроме нескольких - все тех же ld-linux, librt и т.д., что идут в составе gcc/glibc), и не нужно запускать strip для дебаг-информации в файлах для экономии места - этим озаботился сам emerge. Если Большой Брат заведомо поддерживает все комманды проца нетбука (а оно обычно так и есть - кроме машин 4-5-летней давности, в частности К7 архитектуры) - следующие советы позволят заметно ускорить установку: