вторник, 18 августа 2009 г.

Скрипт установки Ubuntu Linux с жёсткого диска.

Автор: Slimer Взято: тут

Никогда не любил устанавливать Ubuntu с Live-CD/DVD. Иногда может быть диск поцарапан и установка прерывается на самом интересном месте, музыку не послушаешь, фильмы не посмотришь. Я устанавливаю Ubuntu из iso-образа со своего жесткого диска на другой винчестер или раздел. Читая раньше в инете статьи, как ставить с жесткого диска, я просто слепо следовал инструкциям, копируя и выполняя команды. Бывали проблемы с загрузчиком grub, приходилось дополнительно искать в интернете решения, как исправить эти ошибки. Затем, чтобы не мучаться, я сделал свой скрипт установки.
Задача: Нужно, используя уже установленную Ubuntu, установить систему на другой винчестер.
Решение:
Для начала раздел, куда будет ставиться Ubuntu, отформатируйте в Редакторе разделов (gparted) и установите на разделе атрибут «boot», иначе после установки компьютер скажет INSERT SYSTEM DISK или что то в этом роде.


Запомните его путь (например /dev/sda1). Разархивированный архив со скриптами и всеми файлами надо положить в папку /home/setup. Это важно! Иначе скрипт не выполнится. Если не нравится местоположение скрипта, просмотрите скрипт и исправьте пути на свои. Разобраться в нем не сложно.

Первый файл setup.sh Его содержание:
#!/bin/bash
disk=/dev/sdb3 #раздел на который будет ставиться убунта
version=jaunty #версия убунты.
arch=i386 #архитектура
path=/home/slimer/distr/ubuntu-9.04-alternate-i386.iso #путь до вашего образа Ubuntu
pathstp=/home/setup #измените путь на тот, куда вы разахивировали архив.
#это все переменные, изменяйте их значение в зависимости от раздела и версии убунты. в целом скрипт будет работать.
mkdir /newubuntu #создание папки для монтирования новой системы
mount $disk /newubuntu #монтирование раздела куда будет ставиться Ubuntu
apt-get install debootstrap -y #установка debootstrap'а, если у кого он не установлен...
mkdir /mnt/cd #создание папки для монтирования образа Ubuntu
mount -o loop $path /mnt/cd/ #монтирование образа ubuntu
debootstrap --arch $arch $version /newubuntu file:/mnt/cd #Идет установка базовой системы убунту на новый винчестер
cp /etc/fstab /newubuntu/etc/fstab #копируется ваш fstab в новую систему
cp /etc/hostname /newubuntu/etc/hostname #копируется ваш hostname в новую систему
cp /etc/hosts /newubuntu/etc/hosts #копируется ваш hosts в новую систему
cp $pathstp/sourcescd /newubuntu/etc/apt/sources.list #источники пакетов из образа
cp $pathstp/sources.list /newubuntu/etc/sources.inet #на будущее копируется источники из интернета
cp $pathstp/sudoers /newubuntu/etc/sudoers #файл sudoers копируется в вашу новую систему
mkdir /newubuntu/home/distr/
cp $pathstp/chrootsetup.sh /newubuntu/home/distr/ #копирование второй части установки внутрь новой системы
cp $path /newubuntu/home/distr #пригодится нам еще образ
mount -o bind /dev /newubuntu/dev #необходимо для установки GRUB
mount -o bind /proc /newubuntu/proc #необходимо для вообще работы новой системы
LANG= chroot /newubuntu /home/distr/chrootsetup.sh #переход к выполнению скрипта уже в новой системе
    Второй файл chrootsetup.sh
    #!/bin/bash
    user=slimer #имя будущего юзера
    disk=/dev/sdb3 #раздел на который будет ставиться убунту.
    obraz=ubuntu-9.04-alternate-i386.iso

    mount -t sysfs sysfs /sys #монтирование sysfs
    dpkg-reconfigure console-setup #настройка языка в консоли и всего прочего
    mkdir /mnt/cd #создание папки для монтирования образа
    mount -o loop /home/distr/$obraz /mnt/cd #монтирование образа
    apt-get update #получение пакетов из образа
    apt-get install ubuntu-standard grub linux-image linux-image-generic linux-headers-generic build-essential ssh samba -y #установка важных и нужных пакетов
    apt-get install ubuntu-desktop gnome-user-guide-ru language-pack-gnome-ru language-pack-ru -y #установка gnome
    #apt-get install xubuntu-desktop -y #у кого образ xubuntu раскоментируйте эту строчку и закомментируйте предыдущюю
    apt-get install kubuntu-desktop -y #у кого образ kubuntu раскоментируйте эту строчку и закомментируйте 2 предыдущих
    cp /proc/mounts /etc/mtab #необходимо для grub
    grub-install --recheck $disk #установка grub
    echo "Добавление Юзера. Сейчас вам будет предложено ввести пароль и свои данные"
    adduser $user #создание пользователя
    addgroup --system admin #создание группы
    adduser $user admin #добавление юзера в группу админ
    cp /etc/apt/sources.inet /etc/apt/sources.list #Замена источников с диска на источники с интернета
    apt-get update
    apt-get purge ekiga evolution evolution-common evolution-data-server pidgin pidgin-data transmission-common rhythmbox totem totem-common -y #удаляю всякую чепуху ненужную. можете закомментировать.
    apt-get dist-upgrade -y
    Содержание /home/setup/sourcescd должно быть примерно таким:
    deb file:///mnt/cd/ jaunty restricted universe main multiverse stable unstable
    Идем дальше. После того как установилось, редактируем файл fstab, который находится в /newubuntu/etc/. В одной вкладке терминала пишем:
    ls -l /dev/disk/by-uuid
    Через редактор разделов легко разобраться что есть что и подправить под свои нужды fstab, желательно по UUID, а то эти все /dev/sdxx не очень надежны и не постоянны. После того, как закончили, выполняем команду:
    sudo LANG= chroot /newubuntu /bin/bash
    sudo update-grub

    Создается файл menu.lst. По усмотрению, можете поправить /etc/hosts, hostname…
    Вроде бы все. Скрипт примитивный. Если где ошибся — исправляйте!
    Повторю еще раз: ПРОСМОТРИТЕ СКРИПТ И ИСПРАВЬТЕ МОИ ПУТИ НА СВОИ.
    Не забудьте присвоить скриптам атрибут исполнения:
    chmod +x setup.sh
    chmod +x chrootsetup.sh

    И все =) Запустите файл setup.sh из папки /home/setup/ и откиньтесь на спинку кресла идите пить чай или смотреть фильм, но не забудьте присматривать за выполнением скрипта. Пока он выполняется, будут выдаваться кое-какие вопросы. Например пароль, язык.

    Удачи!

    понедельник, 17 августа 2009 г.

    Увидело свет руководство Linux From Scratch 6.5

    opennet.ru

    Представлен новый выпуск руководства Linux From Scratch, в котором подробно описан процесс создания с нуля базовой Linux системы, используя лишь исходные тексты необходимого программного обеспечения. В Linux From Scratch 6.5 произведен переход на использование Linux ядра 2.6.30.2, набора компиляторов GCC-4.4.1, системной библиотеки Glibc-2.10.1, а также пакетов: File 5.03, module-init-tools 3.10, util-linux-ng 2.16, udev 145, e2fsprogs 1.41.8, Sed 4.2.1, Bash 4.0, Tar 1.22, Grep 2.5.4, Findutils 4.4.2, M4 1.4.13, Less 429, Coreutils 7.4. Проведена работа по редактированию текста, более детальному описанию неясных моментов и добавлению дополнительных пояснений.

    Кроме руководства по созданию базовой системы, в рамках проекта выпускается несколько дополнительных книг:


    • "Beyond Linux From Scratch" - руководство по конфигурировании и сборке более 500 программных пакетов в окружении LFS;
    • "Automated Linux From Scratch" - фреймворк для автоматизации сборки LFS-системы и управлению пакетами;

    • "Cross Linux From Scratch" - описание кроссплатформенной сборки LFS системы, поддерживаются архитектуры: x86, x86_64, sparc, mips, powerpc, alpha, hppa, arm;
    • "Hardened Linux From Scratch" - инструкции по повышению безопасности LFS, применению дополнительных патчей и ограничений;
    • "LFS Hints" - подборка дополнительных советов с описанием альтернативных решений для описанных в LFS и BLFS шагов;
    • "LFS LiveCD" - проект по подготовке LiveCD. Например, одним из самых известных LiveCD на базе LFS является Parted Magic.

    воскресенье, 16 августа 2009 г.

    Я знаменитость?

    Пришел утром на работу, решил поковырять ubuntu дальше, продолжение предыдущей статьи/мануала. И начинаю помаленьку дуреть.
    Причина банальна. Мою итоговую статейку уже размножили за выходные
    Первым я засек тут. http://openkazan.info/Yota-WiMax-Lenovo-S10-2-Ubuntu-9.04
    ну думаю ладно. Приколько. Сейчас сходил, попил кофе, покурил, захожу на opennet.ru и вижу
    http://www.opennet.ru/opennews/art.shtml?num=22941 (Статьи за неделю не попавшие в ленту новостей (выпуск 97)) и опять ссылка на мой jj. Я становлюсь популярным)).
    Блин народ, а это приятно....

    С Уважением Tyranjoks.
    aka SGB
    aka vrzh
    Ну и Читатель естесно

    з.ы. да кстати, блог на blogger'е основной. http://comnote.blogspot.com/

    четверг, 13 августа 2009 г.

    lenovo s10-2 vs я + ubuntu 9.04. Ура yota заработала.

    Ура. Вчерашний вечер не прошел зря...

    Вот и я сумел запустить yot'у на своем нетбуке.
    Как уже было сказано у меня lenovo s10-2.

    Инструкции которыми я воспользовался
    1. http://www.ramoonus.nl/2009/06/10/linux-kernel-2-6-30-installation-guide-for-ubuntu-and-debian-linux/
    2. http://habrahabr.ru/blogs/linux/66879/

    Ну и конечно же мой вариант инструкции.

    И так приступаем.
    1. Установить ubuntu 9.04 (тут все без комментариев)

    2. Обновление ядра.
      т.к. изначально в 9.04 стоит ядро 2.6.28-x

    3. для работы драйверов нам также понадобится пакет libnl-dev
      apt-get install libnl-dev
    4. Перезагружаемся, на новое ядро.
      Нужно для того чтобы не мучаться лишний раз с путями.
    5. Интел сам занимается поддержкой WiMAX в linux и предоставляет исходники.
      качаем
      wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=wimax-i2400m-1.4.1.tar.bz2'
      wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=i2400m-fw-1.4.0.tar.bz2'
      wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=WiMAX-Network-Service-1.4.0.tar.bz2'
      wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2'
      у меня файлы скачались со знаками вопроса, поэтому переименовываем
      mv 'Download?action=AttachFile&do=get&target=wimax-i2400m-1.4.1.tar.bz2' 'wimax-i2400m-1.4.1.tar.bz2'
      mv 'Download?action=AttachFile&do=get&target=i2400m-fw-1.4.0.tar.bz2' 'i2400m-fw-1.4.0.tar.bz2'
      mv 'Download?action=AttachFile&do=get&target=WiMAX-Network-Service-1.4.0.tar.bz2' WiMAX-Network-Service-1.4.0.tar.bz2
      mv 'Download?action=AttachFile&do=get&target=Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2' Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2
      распаковываем исходники в каталог /usr/src
      tar -xvjf 'wimax-i2400m-1.4.1.tar.bz2' --directory /usr/src
      tar -xvjf 'i2400m-fw-1.4.0.tar.bz2' --directory /usr/src
      tar -xvjf 'WiMAX-Network-Service-1.4.0.tar.bz2' --directory /usr/src
      tar -xvjf 'Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2' --directory /usr/src
    6. Первым компилируем и ставим wimax-i2400m-1.4.1
      Следуя инструкции получается
      cd /usr/src/wimax-i2400m-1.4.1
      make
      для проверки можно воспользоваться скриптом load.sh. загрузить - "./load.sh" выгрузить "./load.sh u"
      Устанавливаем модуль
      make install
      depmod -a
    7. Следующий шаг установить/скопировать firmware
      cd /usr/src/i2400m-fw-1.4.0
      cp i2400m-fw-usb-1.4.sbcf /lib/firmware/i2400m-fw-usb-1.4.sbcf
    8. Ставим управляющую обвязку для драйвера
      cd /usr/src/WiMax-Network-Service-1.4.0
      ./configure --prefix=/usr/ --with-i2400m=/usr/src/wimax-i2400m-1.4.1 --localstatedir=/var --enable-debug
      make
      make install
    9. Cтавим Supplicant
      cd /usr/src/Intel-WiMAX-Binary-Supplicant-1.4.0
      ./install_supplicant.sh install
      Супликант у меня поставился в /usr/local/lib, так же как и у автора на харбре, на всякий случай я его сразу скопировал в /usr/lib
      cp -r /usr/local/lib/wimax /usr/lib/wimax
    10. Загружаем yot'овские конфиги, спасибо icelord
      wget http://icelord.net/images/wimax/NDnSAgentConfig_forDriver.xml
      wget http://icelord.net/images/wimax/NDnSAgentDefaultConfig.xml
      копируем по назначению /usr/share/wimax/
      cp NDnSAgentConfig_forDriver.xml /usr/share/wimax/NDnSAgentConfig_forDriver.xml
      cp NDnSAgentDefaultConfig.xml /usr/share/wimax/NDnSAgentDefaultConfig.xml
    11. Перезагрузка
    12. Старт
      Запускаем демона
      /usr/bin/wimaxd
      Переключаем адаптер в Wi-Max режим(Wi-Fi при этом потеряется).
      /usr/bin/wimaxcu ron
      Подключаемся к Yota(15 - это id сети Yota)
      /usr/bin/wimaxcu connect network 15
    13. Для остановки(и переключения в режим WiFi):
      /usr/bin/wimaxcu roff


    Все... теперь должно работать.

    Вот еще несколько команд
    • Сканирование доступных сетей
      wimaxcu scan
    • Получить данные об устройстве.
      wimaxcu info device
    • Информация о подключении
      wimaxcu status link

    И совет от mixermsk
    И напоследок небольшой хинт: я долго бился с проблемой «слепого» адаптера(знал, что сеть есть, но система её не видела в упор) — перепробовал различные способы, переезжал на другое ядро, пересобирал драйвер — без толку. Решением стал ресет настроек адаптера:
    wimaxcu reset factory
    После чего следующий же скан сетей показал наличие Yota.