Создание установочного CD
From ArchWiki
Contents |
Вам понадобится два раздела:
- Ваш рабочий
- Раздел примерно в 3 Гб ( в зависимости от того что вы решили включить в дистрибутив), для данных, которые будут на CD
- На рабочем разделе создадим папку /mycd
- Монтируем Arch Linux Install CD и копируем его содержимое в /mycd
- Качаем isolinux-x.bin.tar.gz (38MB)
В папке 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
- Пишем образ и проверяем )