From: Peter Novodvorsky <nidd@altlinux.ru> To: devel@altlinux.ru Subject: [devel] dumby Date: Thu, 2 Aug 2001 11:56:17 +0400 Message-ID: <20010802115616.A10830@linux.ru.net> (raw) Привет! Некоторым известно, а некоторым еще нет, я работаю над новым вариантом установщика. Он лежит в CVS в модуле dumb-installer. Вчера ночью я написал описание к этому делу, надеюсь это кого-то заинтересует. Жду ваших коммитов и горячего обсуждения моего дизайна dumb (dumb дизайна?). Вот сам спек ------------------------- Dumby -- прототип нового модульного установщика 1. Цели ------- * Прозрачность кода * Малая требовательность к аппаратному обеспечению компьютера * Модульность программы установки 2. Устройство установщика ------------------------- После загрузки ядра из init загружается компонент dumby, main-menu. Это основная часть установщика, она загружает другие компоненты. При составлении прототипа, была определены следующие шаги, которые должен выполонить установщик: * Разбить диск(и) на разделы * Достать базовую систему [1] из источника * Распаковать базовую систему в нужные разделы Все эти шаги были распределены на подзадачи, которые выполняют отдельные компоненты. [1] Базовая система, это файлы, содержащиеся в пакетах от которых зависит пакет basesystem. 3. Компоненты Dumby ------------------- Каждый компонент Dumby кроме main-menu состоит из программы и файла опсания вида: Name: dumby-component Description: Component of dumby Depends: another-dumby-component one-another-dumby-component Provides: common-dumby-component Command: /usr/share/dumby/dumby-component/dumby-component Поле Name содержит кодовое название компонента, Description, его описание, которое будет выдано пользователю. Некоторые шаги установщика не могут быть выполнены без других шагов, например, распаковка базовой системы не может быть выполнена до разбивки диска. Поле Depends содержит кодовые названия шагов от которых зависит данный шаг. Поле Command содержит команду, которая загрузит программу данного шага. 5. Приемники, иначе ``retrievers'' ---------------------------------- Так как источники базовой системы могут быть самые разные, то надо реализовать некоторый единый интерфейс с ним. Работа с приемниками разделена на две части -- настройка приемников и работа приемника. На этапе настройки пользователь выбирает нужныйему приемник и настраивает его. Рассмотрим пример ftp-приемника. При его настройке, пользователю нужно настроить сеть и выбрать сервер-источник. Работу ftp-приемника можно описать так: (cd /target; wget -O - ftp://source.host/path/to/$1.tgz | tar -zx) 4. Описание компонентов Dumby ----------------------------- 4.1 main-menu ------------- Программа этого компонента обрабатывает файлы описания компонентов, составляет список доступных на текущий момент шагов и дает пользователю выбрать один из них. 4.2 partitioner --------------- Name: partitioner Description: Partition the harddisk Depends: На этом шаге пользователь разбивает диск/диски. Сначала ему выдается перечень дисков в компьютере, и он выбирает тот, который хочет разбить на разделы. Затем загружается программа для разбивки дисков [1]. Состояние компонента: еще не написан [1] Скорее всего это будет cfdisk 4.3 partition-config -------------------- Name: partition-config Description: Configure partitions Depends: partitioner На этом шаге пользователь выбирает точки монтирования разделов и раздел(ы) swap. 4.4 network-config ------------------ Name: network-config Description: Configure Network Depends: drivers-config 4.5 drivers-config ------------------ Name: drivers-config Description: Configure Drivers Depends: retrierver-config Зависит от retriever-config, так как надо откуда-то брать драйверы. На данный момент взят modconf из debian. 4.4 ftp-retriever-config ------------------------ Name: ftp-retriever-config Description: Configure ftp retriever Provides: retriever-config Depends: network-config partition-config 4.5 cdrom-retriever-config -------------------------- Name: cdrom-retriver-config Description: Configure cdrom retriever Provides: retriever-config Depends: partition-config 4.6 floppy-retriever-config --------------------------- Name: floppy-retriever-config Description: Configure floppy retriever Depends: partition-config Provides: retriever-config 4.7 {http,ssh,etc}-retriever-config ----------------------------------- Name: {http,ssh,etc}-retriever-config Description: Configure {http,ssh,etc} retriever Provides: retriever-config Depends: partition-config 4.8 bootloader-inst ------------------- Name: bootloader-inst Description: Configure and install bootloader Depends: partition-config 4.9 reboot ---------- Name: reboot Description: Reboot the system 5. Tasklist ------------ Для начала нужны следующие работующие компоненты: main-menu, partitioner, partition-config, cdrom-retriever-config, bootloader-inst, reboot (;-)). После того, как их удастся соединить вместе, будет готовый installer с CD. _______________________________________________ Devel mailing list Devel@linux.iplabs.ru http://www.logic.ru/mailman/listinfo/devel
next reply other threads:[~2001-08-02 7:56 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2001-08-02 7:56 Peter Novodvorsky [this message] 2001-08-02 11:02 ` Alexander Bokovoy 2001-08-02 11:13 ` Peter Novodvorsky 2001-08-02 12:34 ` Volkov Serge 2001-08-02 15:23 ` Peter Novodvorsky 2001-08-02 17:19 ` Alexander Bokovoy 2001-08-02 17:30 ` Alexander Bokovoy 2001-08-02 17:45 ` Dmitry V. Levin 2001-08-02 17:49 ` Alexander Bokovoy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20010802115616.A10830@linux.ru.net \ --to=nidd@altlinux.ru \ --cc=devel@altlinux.ru \ --cc=devel@linux.iplabs.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git