IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [680]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [357]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [171]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1340
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Июнь » 20 » Живой Debian
    16:29
    Живой Debian

    Живой Debian

    Доброго всем времени суток!

    Представьте ситуацию: у вас есть хорошо настроенная и отлаженная система под управлением Debian. В какой-то момент вы хотите сделать так, чтобы эта система установленная на HDD начала загружаться с флешки или с CD-диска и работать в режиме ReadOnly. Типичное применение подобного решения это различные уличные киоски или тонкие клиенты, состояние которых сбрасывается в исходное при каждой перезагрузке.

    Сегодня я хочу рассказать о том, как добиться подобного результата, но сначала немного теории.
    Как известно, операционная система Linux Debian будучи установленной на HDD состоит из 4 достаточно независимых компонентов, каждый из которых можно подобрать или настроить по своему вкусу, а именно:

    1. Загрузчик — то, что отрабатывает после BIOS и загружает Debian. По умолчанию используется «GRUB», но можно использовать любой другой. Мы будем использовать Syslinux, т.к. умеет грузить ОС с флешки, CD-диска и по сети.
    2. Kernel или «ядро» — собственно центральная часть ОС, вокруг которой все крутится. Будем использовать то, что идет в составе дистрибутива.
    3. initrd — промежуточная файловая система, которая помогает ядру найти RootFS. Требует небольшой модификации, к счастью не ручной.
    4. RootFS — корневая ФС. Вот ее то нам и предстоит преобразовать так, что бы ОС могла грузиться в режиме RO.

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

    #!/bin/bash
    # Задаем имя ядра и файла initrd из каталога "/boot", а также папку, где будет собираться наш проект
    VMLINUZ="vmlinuz-3.2.0-4-amd64"
    INITRD="initrd.img-3.2.0-4-amd64"
    ISO="iso"<source lang="bash">
    
    # Устанавливаем дополнительные пакеты, котрые будут нужны в процессе работы:
    apt-get install squashfs-tools
    apt-get install live-boot live-boot-initramfs-tools
    apt-get install mtools syslinux dosfstools
    
    # Подготавливаем структуру каталогов для нашего проекта
    [ -d /$ISO ] && rm -rf /$ISO
    mkdir /$ISO
    mkdir /$ISO/binary
    mkdir /$ISO/binary/live
    mkdir /$ISO/binary/syslinux
    mkdir /$ISO/fscopy
    
    # Создаем копию оригинальной RootFS и в копии удаляем ненужные вещи
    tar -cpf - --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=boot --exclude=$ISO . | tar xf - -C /$ISO/fscopy/
    
    rm -r /$ISO/fscopy/tmp/* /$ISO/fscopy/var/tmp/*
    rm /$ISO/fscopy/var/cache/apt/archives/*.deb
    rm /$ISO/fscopy/etc/udev/rules.d/*-persistent-net.rules
    rm /$ISO/fscopy/initrd.img /$ISO/fscopy/vmlinuz
    > /$ISO/fscopy/etc/fstab
    mkdir /$ISO/fscopy/proc
    mkdir /$ISO/fscopy/sys
    mkdir /$ISO/fscopy/dev/pts
    
    # Переносим копию RootFS на файловую систему squashfs 
    mksquashfs /$ISO/fscopy/* /$ISO/binary/live/filesystem.squashfs
    
    # Копируем ядро и initrd в структуру проекта
    cp /boot/$INITRD /$ISO/binary/live/initrd.img
    cp /boot/$VMLINUZ /$ISO/binary/live/vmlinuz
    
    # Создаем конфигурационный файл "syslinux.cfg" для занрузчика Syslinux
    cat > /$ISO/binary/syslinux/syslinux.cfg <<EOF
    CONSOLE 0
    default linux
    label linux
     kernel /live/vmlinuz
     append initrd=/live/initrd.img boot=live quiet splash noconfig ro
    EOF
    
    # Из файлов, которые лежат в папке "/iso/binary/" формируем образ, который потом с помощью dd можно записать на флешку
    # Список того, что к этому времени лежит в папке "/iso/binary/"
    # /iso/binary/live/vmlinuz — ядро
    # /iso/binary/live/initrd.img — initrd, который знает как работать с файловой системой Squashfs
    # /iso/binary/live/filesystem.squashfs — RootFS в сжатом виде
    # /iso/binary/syslinux/syslinux.cfg — конфигурационный файл загрузчика
    
    dd if=/dev/zero of=/$ISO/Debian_ro.img bs=10M count=35
    LOFI=`losetup -f`
    losetup $LOFI /$ISO/Debian_ro.img
    mkdosfs -I $LOFI
    syslinux $LOFI
    TMP_DIR="/tmp/$$"
    mkdir $TMP_DIR
    mount $LOFI $TMP_DIR
    cp -r /$ISO/binary/* $TMP_DIR
    umount $TMP_DIR; rm -r $TMP_DIR
    losetup -d $LOFI
    
    # По окончанию работы скрипта имеем файл "Debian_ro.img", который готов к записи на флешку
    



    Некоторые полезные ссылки:

    Достаточно подробное описание на русском особенностей ФС Squashfs: ru.wikipedia.org/wiki/Squashfs
    Описание всех дополнительных параметров, которые можно передать ядру: live.debian.net/manpages/2.x/en/html/live-boot.7.html

    P.S. Если наберется достаточно большое количество желающих, то тему можно продолжить статьями «Живой CentOS» и «Живой Solaris 10».

    http://habrahabr.ru/post/226973/

    Категория: Linux и не только | Просмотров: 486 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Июнь 2014  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024