aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Заметил, что частенько мне по работе приходится устанавливать archlinux на флешку с небольшим набором софта, последний раз нужно было просто проверить работает комп или нет. Каждый раз я выполнял определенный набор команд по установке системы на флешку: 1) Форматируем флешку в ext4 и устанавливаем метку mkfs.ext4 -L ArchOnFlash /mnt/sdf1 3) Устанавливаем базовую систему mkdir -p /mnt/sdf1/var/lib/pacman pacman -Sy -r /mnt/sdf1 base syslinux dhcpcd net-tools LABEL= ArchOnFlash / ext4 defaults 0 0 HOOKS="base udev autodetect scsi sata filesystems usb usbinput" mount -t proc proc /mnt/sdf1/proc mount -t sysfs sys /mnt/sdf1/sys mount -o bind /dev /mnt/sdf1/dev chroot /mnt/sdf1 mkinitcpio -p linux syslinux-install_update -iam /dev/sdf DEFAULT ArchLinux # (0) Arch Linux LABEL ArchLinux LINUX ../vmlinuz-linux APPEND root=/dev/disk/by-label/ ArchOnFlash ro quiet INITRD ../initramfs-linux.img Но вот мне надоело и я написал скрипт на bash по автоматической установки свежей системы, может кому пригодится, вся установка занимает минут 5, после перезагрузки вы попадает в девственно чистую систему. archlinux2flash.sh #!/bin/bash # archlinux2flash.sh # Created by aivs.su. Contact: aivs@yandex.ru # Для работы программы требуются пакеты: e2fsprogs, sed, mkinitcpio # Программа установки свежей версии archlinux на флешку # Для установки системы на флешку нужно только указать устройство # Пример работы программы: archlinux2flash /dev/sdc # После чего флешка будет отформатирована, и на нее будет установлена свежая версия системы # Проверка на зависимости # Проверка, установлен ли e2fsprogs, нужен для mkfs.ext4 if [ `pacman -Qq e2fsprogs` = "e2fsprogs" ] then echo "e2fsprogs найден" else echo "e2fsprogs не установлен" pacman -Sy e2fsprogs fi # Проверка, установлен ли sed, нужен для парсинга конфигов if [ `pacman -Qq sed` = "sed" ] then echo "sed найден" else echo "sed не установлен" pacman -Sy sed fi # Проверка, установлен ли mkinitcpio, нужен для сборки образа ядра if [ `pacman -Qq mkinitcpio` = "mkinitcpio" ] then echo "mkinitcpio найден" else echo "mkinitcpio не установлен" pacman -Sy mkinitcpio fi # Проверяем, указан ли аргумент - устройство if [ -n "$1" ] then FLASH=$1 else echo "Нужно указать устройство, например archlinux2flash /dev/sdc1" fi # 1. Форматируем флешку и устанавливаем метку Archlinux системному разделу на флешке echo "Проверьте, что указаное устройство $FLASH является флешкой, а не вашим разделом жесткого диска с важными данными. Отформатировать диск (y/n)" read FORMAT_Y_N if [ $FORMAT_Y_N = "y" ] then mkfs.ext4 -L ArchOnFlash $FLASH else echo "Форматирование отменено. Выход." exit 1 fi # 2. Монтируем раздел MOUNTPOINT="/mnt/ArchLinux-temp" echo "Монтируем раздел в $MOUNTPOINT" mkdir -p $MOUNTPOINT mount $FLASH $MOUNTPOINT # 3. Устанавливаем базовую систему mkdir -p $MOUNTPOINT/var/lib/pacman pacman -Sy -r $MOUNTPOINT base syslinux dhcpcd net-tools # 4. правим конфигурационные файл новой системы (fstab, mkinitcpio.conf) # Добавляем в fstab запись о корневой фс echo "Записываем в $MOUNTPOINT/etc/fstab точку монтирования корневой фс" echo "LABEL=ArchOnFlash / ext4 defaults 0 0" >> $MOUNTPOINT/etc/fstab # Добавляем поддержку загрузки с usb в образ ядра echo "Добавляем поддержку загрузки с usb" sed -i 's/^[^#]*HOOKS=.*/HOOKS="base udev autodetect scsi sata filesystems usb usbinput"/' $MOUNTPOINT/etc/mkinitcpio.conf # Монтируем служебные фс в установленную систему echo "Монтируем служебные файловые системы: /proc, /sys, /dev" mount -t proc proc $MOUNTPOINT/proc mount -t sysfs sys $MOUNTPOINT/sys mount -o bind /dev $MOUNTPOINT/dev # Cоздаем образ ядра для новой системы и устанавливаем загрузчик # ${FLASH:0:8} означает от строки /dev/sdf1 взять с начала 8 символов, получается /dev/sdf echo "Создаем образ ядра" chroot $MOUNTPOINT mkinitcpio -p linux echo "Усанавливаем загрузчик на ${FLASH:0:8}" chroot $MOUNTPOINT syslinux-install_update -iam ${FLASH:0:8} # Создаем новый syslinux.cfg echo "Создаем конфигурационный файл загрузчика syslinux" echo "# Config file for Syslinux - # /boot/syslinux/syslinux.cfg # Created by archlinux2flash.sh DEFAULT ArchLinux # (0) Arch Linux LABEL ArchLinux LINUX ../vmlinuz-linux APPEND root=/dev/disk/by-label/ArchOnFlash ro quiet INITRD ../initramfs-linux.img" > $MOUNTPOINT/boot/syslinux/syslinux.cfg # 7. Размонтируем подключенные фс и удаляем временную точку монтирования echo "Размонтируем служебные фс и флешку" umount -t proc $MOUNTPOINT/proc umount -t sysfs $MOUNTPOINT/sys umount $MOUNTPOINT/dev umount $FLASH rmdir $MOUNTPOINT echo "Установка завершена!!! Флешка отмонтирована, можно извлечь" exit 0 |
jim945 |
|
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
а бут отдльно может? а выбрать фс можно? а grub2 может? а набор пакетов свой? Мне бы был интересен такой комбайн))) Вы так часто ставить систему с ноля? Или надо сразу штук 20 флешек таких сделать? Не каждый же месяц. А раз в пару лет можно и вручную.
Lupus pilum mutat, non mentem.
|
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Могу доделать программу, следуя вашим пожеланиям, завтра допишу. На несколько компов потребовалось установить систему, 2 сервер, там без заморочек и один мультимедийный комп как приставка к телевизору, экспериментировал с конфигурацией и быстрее было все снесни и заново поставить, чем переправлять старое, в итоге за неделю раз 5 устанавливал систему. В ближайшее время эксперименты не планирую, но когда запланирую, свежая система у меня будет на флешке в рабочем состоянии через 5 минут. Если будут предложения могу и ГУИ на Qt забабахать. |
tchgefest |
|
Темы:
51
Сообщения:
1505
Участник с: 20 октября 2008
|
1.Почему http://archone.sourceforge.net/ 2.Какой пароль? 3.Почему sdb1? 4.Если делаю dd на образ,то всегда указываю sdb?
Последний крик моды - эхо 30-летней давности.
|
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Вы о чем?! |
tchgefest |
|
Темы:
51
Сообщения:
1505
Участник с: 20 октября 2008
|
aivsБеру Ваш скрипт,ставлю на флешку,загружаю,а требуют пароль и логин? И не тупите,вы знаете о чем?
Последний крик моды - эхо 30-летней давности.
|
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Система после загрузки чиста, логин: root, пароля нет, сами установите, Система реально девственно чиста, даже rc.conf пуст |