Логин:
Пароль:
Поиск:

NetBSD LiveCD

12 мая 20141623admin
    

NetBSD LiveCD.


Это статья перемещена отсюда http://wiki.freeserver.su/index.php?title=NetBSD_LiveCD и откорректирована.

ПРИМЕЧАНИЕ:
Все действия будут производиться из каталога /LiveCD, если не указано обратное.
В конце будет скрипт, по которому можно будет более подробно разобраться.


Общая схема создания NetBSD LiveCD такая:

1. Ставим саму систему. LiveCD надо делать в своем окружении.
2. Ставим пакеты: cdrtools и mklivecd.
3. Нужны будут исходники ядра и бинарники базовой системы.

Делать будем на версии NetBSD 6.1.3

mklivecd


Порядок выполнения команд mklivecd такой:
mklivecd config

В домашнем каталоге появляется конфиг ~/.mklivecd/mklivecd.conf
Редактируем его.

Далее копируем конфиг ядра:
cp /usr/src/sys/arch/i386/conf/GENERIC ~/.mklivecd/

в файле ~/.mklivecd/GENERIC

находим:
config netbsd root on ? type ?

меняем на:
config netbsd root on cd0a type cd9660 dumps on none

Нужно присвоить переменной BOOTKERN значение, например GENERIC

Собираем ядро:
mklivecd kernel

Потом:
mklivecd base

Далее в chroot:
mklivecd chroot
тут можно добавлять новые пакеты и т.д.

Выход из chroot:
exit

Делаем ISO:
mklivecd iso

Потом прожигаем:
mklivecd burn

P.S.
При выполнении прожига, если неправильно настроен привод в конф-файле, образ может не записаться.
В таком случае можно записать такой командой средствами cdrtools:
cdrecord -v dev=/dev/rcd0d data.iso

Откуда что брать, и куда их класть.


При установке из образа(естественно, записанного на болванку) ставятся только бинарники.
Поэтому исходников там нет.
А нам для создание netbsd livecd понадобятся исходники ядра и бинарники базовой системы.

Исходники ядра называются syssrc.tgz находятся по адресу:
http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/source/sets/syssrc.tgz для версии 6.1.3.

Здесь находятся исходники ядра для всех архитектур. Нам понадобятся архитектура i386. Или другая ;)
Их нужно положить/распаковать в папку /usr/src/
В итоге, у вас там будет три каталога:
1. /usr/src/common
2. /usr/src/sys
3. /usr/src/usr.bin

P.S.
Если нету папки src в /usr(а ее не будет ;)), то создаем. Например, midnight commander'ом.

Или, автоматом, командой:
tar xvzpf /LiveCD/syssrc.tgz

Теперь нам понадобятся бинарники базовой системы.
Находятся они по адресу(для версии 6.1.3):
http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/

Откуда нам понадобятся:
1. etc.tgz
2. base.tgz
3. comp.tgz
4. text.tgz
Если мы будет ставить только в консоли, без X-сервера;

и еще:
1. xbase.tgz
2. xcomp.tgz
3. xfont.tgz
4. xserver.tgz
если мы будем ставить еще X-сервер.

Примечание:
Бинарники базовой системы можно еще найти на диске, откуда вы ставили NetBSD.
Весят они немало, поэтому, если инет слабый, можно скатать оттуда.

mklivecd.conf


Вот содержимое mklivecd.conf
# --*-sh-*--    
#
# mklivecd - configuration file
# See mklivecd(8) for a detailed description of each variable.
#
# Generated automatically on Tue Apr 8 20:10:40 UTC 2014.

# Base directories/options
BASEDIR="/root/livecd"
BASE_SETS="etc.tgz base.tgz comp.tgz text.tgz"
BASE_SETS_DIR="/LiveCD"
CHROOT_SHELL="/bin/ksh"
FETCH_SETS="no"
ISODIR="/root/livecd/iso"
MOUNT_PACKAGES_DIR="no"
MOUNT_PKGSRCDIST_DIR="no"
MOUNT_PKGSRC_DIR="no"
PACKAGESDIR="/usr/pkgsrc/packages"
PKGSRCDIR="/usr/pkgsrc"
PKGSRCDISTDIR="/usr/pkgsrc/distfiles"
REMOTE_SETS_URL="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets"
SHAREDIR="/usr/pkg/share/mklivecd"
SOURCEDIR="/usr/src"
WORKDIR="/root/livecd/work"
X11_SETS="xbase.tgz xcomp.tgz xfont.tgz xserver.tgz"
X11_SETS_DIR="/LiveCD"

# kernel options
KERNEL_CONFIG="GENERIC"
KERNEL_NAME="MKLIVECD"
MULTIPLE_KERNELS="no"

# MULTIPLE_KERNELS example:
#
# MULTIPLE_KERNELS="ACPI APM"
# KERNEL_CONFIG_ACPI="KERN_ACPI"
# KERNEL_NAME_ACPI="LIVECD_ACPI"
# KERNEL_CONFIG_APM="KERN_APM"
# KERNEL_NAME_APM="LIVECD_APM"

# Miscellaneous options
BLANK_BEFORE_BURN="no"
CDRECORD_ARGS="-v"
CDRECORD_BIN="/usr/pkg/bin/cdrecord"
CDROM_DEVICE="15,1,0"
ENABLE_X11="yes"
GRUB_FILES_DIR="/usr/pkg/lib/grub/i386-"
HOSTNAME="PhoeniX@NetBSD"
IMAGE_NAME="NetBSD-LiveCD"
MKISOFS_ARGS="-J -R -v"
MKISOFS_BIN="/usr/pkg/bin/mkisofs"
PERSONAL_CONFIG="no"
PKG_SYSCONFDIR="usr/pkg/etc"
REMOVE_DIRS="altroot usr/share/info"
USE_GNU_GRUB="yes"
VND_COMPRESSION="yes"

# Mount arguments
MNT_RAMFS_ARGS="-s 512m swap"
MNT_RAMFS_CMD="mount_mfs"

Собственно, настроить правильный mklivecd.conf - это самое главное в этом деле))

И, наконец, небольшой скрипт, который автоматизирует всё это дело.
Написано было по причине того, что то экспериментировал, то разные версии системы смотрел, то на разных машинах, включая VMWare.. Надоело каждый раз одни и те же действия делать))
В общем, admin-way ))
обозвал скрипт livecd.sh, естесно, исполняемый.
ПРИМЕЧАНИЕ: повторюсь, все действия - из папки /LiveCD
Вот код:
#// installing utilites
pkg_add http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1.3/All/wget-1.14nb3.tgz
pkg_add http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1.3/All/cdrtools-3.01alpha19.tgz
pkg_add http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1.3/All/mklivecd-0.17.tgz
pkg_add http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/6.1.3/All/qemu-1.6.1nb1.tgz

cd /
mkdir LiveCD
cp livecd.sh /LiveCD/

#// downloading kernel sources
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/source/sets/syssrc.tgz

#// unpacking kernel sources
cd /
tar xvzpf /LiveCD/syssrc.tgz

#// downloadinf for console only
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/etc.tgz
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/base.tgz
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/comp.tgz
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/text.tgz

#// downloading for X version
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/xbase.tgz
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/xcomp.tgz
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/xfont.tgz
wget -P /LiveCD -nc http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.1.3/i386/binary/sets/xserver.tgz

#// mklivecd
cd /root
mklivecd config
cp /LiveCD/GENERIC /root/.mklivecd/
cp /LiveCD/mklivecd.conf /root/.mklivecd/
cp /usr/include/termcap.h /usr/share/misc/
mklivecd kernel
mklivecd base
mklivecd chroot
#exit
mklivecd iso

qemu-system-i386 -cdrom /root/livecd/NetBSD-LiveCD.iso

После запуска livecd.sh будет скачано, установлено, настроено, скомпилировано и запущено в QEMU NetBSD-LiveCD.iso ))

Скачайте http://freeserver.su/Soft/NetBSD/LiveCD/6.1.3/LiveCD.tgz и распакуйте в /LiveCD
И запустите livecd.sh

В архиве 3 файлика:
GENERIC - подготовленное ядро
mklivecd.conf - конфиг-файл
livecd.sh - небольшой скрипт для упрощения

В mklivecd.conf не настроено только одно - пути к бинаринкам, для установки из chroot.
Обновлю как будет время.

спасибо товарищам из runetbsd.ru :)

Ну и, собстно, сам образчик: http://freeserver.su/Soft/NetBSD/LiveCD/NetBSD-LiveCD-v0.1.iso
  • 0

Информация

Комментирование данной новости запрещено.
 Последние новости
   
Последнии комментарии
Не обновляется internet explorer 11, ошибка обновления код 5c59
Автор Аноним (11.08.2018)
Добавление комментария
установка Anti Bot Question mod на phpbb 2.0.x
Автор rusiq (10.08.2018)
Добавление комментария
VLC is not supposed to be run as root. Sorry.
Автор rusiq (10.08.2018)
Добавление комментария
Прошивка принтера XEROX 3020
Автор rusiq (10.08.2018)
Добавление комментария
установка Anti Bot Question mod на phpbb 2.0.x
Автор admin (18.08.2014)
Johnd819,
glad if the information has helped you. ...
установка Anti Bot Question mod на phpbb 2.0.x
Автор Johnd819 (14.08.2014)
I went over this site and I conceive you have a lo...
установка Anti Bot Question mod на phpbb 2.0.x
Автор admin (07.08.2014)
Johnc738,

always welcome)
установка Anti Bot Question mod на phpbb 2.0.x
Автор Pharmk386 (02.08.2014)
Very nice site!
установка Anti Bot Question mod на phpbb 2.0.x
Автор Johnc738 (01.08.2014)
I am truly thankful to the holder of this website ...
Календарь
« Октябрь »
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
FreeServer.su