Создание установочного CD

From ArchWiki

Jump to: navigation, search
Image:Tango-document-new.png This article is a stub.
This typically means the article is a placeholder for more content to come. Knowledgeable users are encouraged to help expand the article.

Contents

Вам понадобится два раздела:

  • Ваш рабочий
  • Раздел примерно в 3 Гб ( в зависимости от того что вы решили включить в дистрибутив), для данных, которые будут на CD
На рабочем разделе создадим папку /mycd
  • Монтируем Arch Linux Install CD и копируем его содержимое в /mycd
Качаем isolinux-x.bin.tar.gz (38MB)

[1]

В папке root директории /mycd разархивируем пакет:

zxf isolinux-x.bin.tar.gz
  • Примонтируем раздел (mount /dev/hda2 /mnt/slave)
  • Редактируем конфиги /mnt/slave/etc/fstab. Примерно так:
# 
# /etc/fstab: static file system information
#
#
# <file system>  <dir>         <type>    <options>    <dump> <pass>
none             /dev/pts      devpts    defaults       0      0
none             /dev/shm      tmpfs     defaults       0      0
/dev/cdrom  /mnt/cdrom  iso9660  ro,user,uid=userspace,gid=users,noauto,unhide  0 0
/dev/dvd    /mnt/dvd  udf   ro,user,uid=userspace,gid=users,noauto,unhide  0 0
/dev/fd0    /mnt/floppy  auto  user,noauto,uid=userspace,gid=users,unhide  0 0


  • И тут тоже /mnt/slave/etc/issues. Пример:
Arch Linux 0.7.2 (Gimmick)    (\n) (\l)
Username    Password
root        root
userspace   user
1) Login, type "root" (w/out quotes) and press Enter.
2) Start KDE, type: "kdm"
NOTE: If this is your first login generate xorg.conf
for X (vga), type: "hwd -xa"
Hardware detect:      "hwd -s"
X (vga) configure:    "xorgcfg -textmode"
Change root password: "passwd"
Change user password: "passwd userspace"
DHCP connection:      "dhcpcd eth0"
Update packages:      "pacman -Syu"
Install packages:     "pacman -S <pkgname>", Uninstall: -R
Logout, type: "exit"
Quick exit, press Ctrl-Alt Del 
  • Редактируем /mnt/slave/etc/lilo.conf. Пример:
# /etc/lilo.conf
#
boot=/dev/hda
# This line often fixes L40 errors on bootup
# disk=/dev/hda bios=0x80 
default=ArchLinux
timeout=100
lba32
prompt
image=/boot/vmlinuz26
	label=ArchLinux
	vga=788
	read-only
## Uncomment below lines for Windows.
#other=/dev/hda1
#	label=Windows

Замечание:

"root=/dev/hdaXX" добавится автоматически скриптом /arch/setup .

  • Редактируем /mnt/slave/etc/rc.local Пример:
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
rm -f /etc/dhcpc/dhcpcd-eth0.pid
# dhcpcd eth0
#Remove the below lines.
/usr/sbin/locale-gen
sed -i 's|\/usr|\#/usr|g' /etc/rc.local
sed -i 's|sed|#sed|g' /etc/rc.local

Либо копируем готовый из isolinux-x.bin.tar.gz /mycd/etc

Подготовка initrd.img

  • Переименуем /mycd/isolinux/initrd.img в initrdz.gz (чтобы не возникло конфликтов с существующим initrd.gz)
  • Распаковываем initrdz.gz
gzip -d /mycd/isolinux/initrdz.gz
  • Примонтируем initrdz и чуточку его отредактируем /mnt/image
mount -t auto -o loop /mycd/isolinux/initrdz /mnt/image

Изменяем строки с 386 по 391 в /mnt/image/arch/setup

dodialog infobox "Installing package 1, hold on ... (appx. 1 min.)"
tar xjpf /src/pkg/pkg1.bin.tar.bz2
dodialog infobox "Installing package 2, hold on... (appx. 7 min.)"
tar xjpf /src/pkg/pkg2.bin.tar.bz2
dodialog infobox "Installing package 3, hold on... (appx. 6 min.)"
tar xjpf /src/pkg/pkg3.bin.tar.bz2

Изменяем строку 413 в зависимости от версии ядра.

2.6.17.x.
sed -i "s|root=.*$|root=${PART_ROOT}\ninitrd=/boot/initrd26-full.img|g"
2.6.18.x.
sed -i "s|root=.*$|root=${PART_ROOT}\ninitrd=/boot/kernel26-fallback.img|g"
  • Делаем Unmount (umount /mnt/image)
  • Cожмем initrdz
gzip -c /mycd/isolinux/initrdz > /mycd/isolinux/initrd.img
rm /mycd/isolinux/initrdz
  • Редактируем эти файлы на свое усмотрение:
/mycd/isolinux/info.msg
/mycd/isolinux/boot.msg

Создание пакетов

Сжимаем все данные в три пакета. Называем их как в первых строках /arch/setup:

cd /mnt/slave
tar cfj pkg1.bin.tar.bz2 bin/ boot/ dev/ etc/ home/ lib/ media/ mnt/ proc/ root/ sbin/ sys/ tmp/ var/
tar cfj pkg2.bin.tar.bz2 opt/
tar cfj pkg3.bin.tar.bz2 usr/

Создание iso образа

  • Удаляем пакеты из /mycd/pkg
  • Копируем свежесзжатую троицу пакетов в /mycd/pkg
  • Создадим папку /myiso и сделаем iso образ (Не забудьте про "." в конце комманды):
cd /mycd
mkisofs -o /myiso/arch-office-install-0.7.2-5.iso -R -V "Arch Linux Office Install CD" -T -b isolinux/isolinux.bin -c   isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -A "Arch Linux (rulinux.org CD 0.7.2-5)" .
  • проверьте размер, он не должен превышать 700MB (Если конечно планируете его поместить на CD).

Примечание: Для уменьшения размера образа удалите все из этих директорий:

/mnt/slave/var/cache/pacman/pkg
/mnt/slave/var/lib/pacman/current
/mnt/slave/var/lib/pacman/extra
  • Пишем образ и проверяем )
Personal tools