РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Посмотрел этот фильм прогнал до пункта упаковка в iso. Скрипт вызвал у меня сомнения. сам скрипт:
У кого может быть есть рабочий скрипт запаковки iso.
/usr/lib/syslinix/ нет директории syslinux/. У кого может быть есть рабочий скрипт запаковки iso.
Последний раз редактировалось banzay242 02 ноя 2017, 08:43, всего редактировалось 2 раза.
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Не может такого быть.
Может путь все-таки /usr/lib/syslinux/isohdpfx.bin/usr/lib/syslinix/ нет директории syslinux/.
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
http://forum.rosalab.ru/viewtopic.php?f ... 369#p85370
И, кстати, для сравнения параметры livecd-tools после -e
И, кстати, для сравнения параметры livecd-tools после -e
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Болдово, 98 человек просмотрело и не кто из них не собирал свой Livecd? может у кого свои способы пересборки есть? выложите пожалуйста инфу.
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Посмотрите тут. Может найдёте что интересное.
http://www.magos-linux.ru/dwiki/doku.ph ... 1%82%D0%B8
http://www.magos-linux.ru/dwiki/doku.ph ... 1%82%D0%B8
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Вконтакте народ пересобирал методом перепаковки. Попробуйте там поискать.banzay242 писал(а):Болдово, 98 человек просмотрело и не кто из них не собирал свой Livecd? может у кого свои способы пересборки есть? выложите пожалуйста инфу.
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
А если не livecd собрать? что для этого нужно?
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
все работает рекомендую:
Манипуляции производились на ROSA.FRESH.LXQT.R9.i586.uefi.iso 32. Устанавливаем squashfs-tools qemu, создаём 4 дерриктории, подключаем образ, копируем и отключаем образ:
sudo urpmi squashfs-tools qemu
mkdir rosa
cd rosa
mkdir cd mnt sys
sudo mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso mnt
sudo cp -a mnt/* cd/
sudo umount mnt
Подключаем файл, заходим под рут, копируем, выходим, отключаем файл:
sudo mount -t squashfs cd/LiveOS/squashfs.img mnt
su
cp -a mnt/* sys/
exit
sudo umount mnt
Подключаем файл, заходим рутом, запускаем контейнер, устанавливаем необходимое, выходим из контейнера, выходим из рут, отключаем файл:
sudo mount sys/LiveOS/ext3fs.img mnt
su
systemd-nspawn -D mnt # исправлено init.d-nspawn
urpmi pakage-name1 pakage-name2 pakage-name2
exit
exit
sudo umount mnt
Удаляем прежний файл, создаём новый (долго).
sudo rm cd/LiveOS/squashfs.img
sudo mksquashfs sys cd/LiveOS/squashfs.img
Запаковываем в образ(единая команда) #коментарии убрать:
sudo xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \ #исправлено /lib/
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-V ROSA.FRESH.LXQT.R9.i586 \ # как в cd/isolinux/isolinux.cfg
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e EFI/BOOT/grubia32.efi \ # для 64 «grubia64.efi наверное»
-no-emul-boot \
-isohybrid-gpt-basdat \
-o ROSA.FRESH.LXQT.R9.i586.uefi.iso \ # финальный образ name.iso
cd
тестируем в qemu:
qemu-system-x86_64 -boot d -cdrom ROSA.FRESH.LXQT.R9.i586.uefi.iso -m 512
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512
Манипуляции производились на ROSA.FRESH.LXQT.R9.i586.uefi.iso 32. Устанавливаем squashfs-tools qemu, создаём 4 дерриктории, подключаем образ, копируем и отключаем образ:
sudo urpmi squashfs-tools qemu
mkdir rosa
cd rosa
mkdir cd mnt sys
sudo mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso mnt
sudo cp -a mnt/* cd/
sudo umount mnt
Подключаем файл, заходим под рут, копируем, выходим, отключаем файл:
sudo mount -t squashfs cd/LiveOS/squashfs.img mnt
su
cp -a mnt/* sys/
exit
sudo umount mnt
Подключаем файл, заходим рутом, запускаем контейнер, устанавливаем необходимое, выходим из контейнера, выходим из рут, отключаем файл:
sudo mount sys/LiveOS/ext3fs.img mnt
su
systemd-nspawn -D mnt # исправлено init.d-nspawn
urpmi pakage-name1 pakage-name2 pakage-name2
exit
exit
sudo umount mnt
Удаляем прежний файл, создаём новый (долго).
sudo rm cd/LiveOS/squashfs.img
sudo mksquashfs sys cd/LiveOS/squashfs.img
Запаковываем в образ(единая команда) #коментарии убрать:
sudo xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \ #исправлено /lib/
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-V ROSA.FRESH.LXQT.R9.i586 \ # как в cd/isolinux/isolinux.cfg
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e EFI/BOOT/grubia32.efi \ # для 64 «grubia64.efi наверное»
-no-emul-boot \
-isohybrid-gpt-basdat \
-o ROSA.FRESH.LXQT.R9.i586.uefi.iso \ # финальный образ name.iso
cd
тестируем в qemu:
qemu-system-x86_64 -boot d -cdrom ROSA.FRESH.LXQT.R9.i586.uefi.iso -m 512
qemu-system-x86_64 -boot d -cdrom /dev/cdrom -m 512
Последний раз редактировалось banzay242 08 окт 2017, 19:53, всего редактировалось 1 раз.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Наверное http://forum.rosalab.ru/viewtopic.php?f ... 526#p88896banzay242 писал(а):-e EFI/BOOT/ grubia32.efi \ # для 64 «grubia64.efi наверное»
Поместил вышеприведённые команды в скрипт:
Код: Выделить всё
#!/bin/sh
#
# Модифицируем ISO образ ОС ROSA
#
# Название результирующего образа получается заменой фрагмента имени оригинала
NAME_ORIG='.iso'
NAME_DEST='-v2.iso'
# Имя файла SquashFS в составе образа
SQUASH_IMG='LiveOS/squashfs.img'
SYSTEM_IMG='LiveOS/ext3fs.img'
# Алгоритм сжатия SquashFS
#COMPRESSOR='lz4'
#COMPRESSOR='lz4 -Xhc'
#COMPRESSOR='lzo'
#COMPRESSOR='lzo -Xcompression-level 9'
#COMPRESSOR='gzip'
COMPRESSOR='xz'
die()
{
echo -e "\x1b[1;31m$@\x1b[0m"
exit 1
}
((`ls -l *.iso 2> /dev/null | wc -l` == 1)) || die 'Поместите 1 ISO образ в рабочий каталог'
ISO_SRC=`ls *.iso`
ISO_VOL=`isoinfo -j UTF-8 -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
echo "Обрабатывается $ISO_SRC [Volume id: $ISO_VOL]"
ISO_DST=`echo $ISO_SRC | sed s/$NAME_ORIG/$NAME_DEST/`
ISO_DIR='iso'
SQUASHFS_ROOT='squashfs-root'
SYSTEM_ROOT='system-root'
echo 'Распаковываем образ'
rm -rf $ISO_DIR
mkdir $ISO_DIR
7z x $ISO_SRC -o$ISO_DIR -bso0 || die 'ошибка распаковки ISO'
rm -rf $ISO_DIR'/[BOOT]'
unsquashfs -d $SQUASHFS_ROOT $ISO_DIR/$SQUASH_IMG || die 'ошибка рапаковки SquashFS'
echo "Монтируем $SYSTEM_IMG"
mkdir $SYSTEM_ROOT
sudo mount -o noatime $SQUASHFS_ROOT/$SYSTEM_IMG $SYSTEM_ROOT || die 'ошибка монтирования'
echo 'Обновляем'
echo -en '\x1b[1m'
##############################################################################
sudo tee $SYSTEM_ROOT/runme << EOF
# Следующие команды выполнятся в контексте распакованного образа
cat /etc/os-release
rpm -qa | sort > /rpm.list
EOF
##############################################################################
echo -en '\x1b[0m'
sudo chmod +x $SYSTEM_ROOT/runme
echo -en '\x1b[1;33m'
sudo systemd-nspawn --directory=$SYSTEM_ROOT /runme
echo -en '\x1b[0m'
# Формируем актуальный перечень установленных пакетов, добавив дату изменения
BUILD_NO=`head --lines 1 $ISO_DIR/rpm.lst`
echo -en "$BUILD_NO\n# Modified on " > $ISO_DIR/rpm.lst
date -R >> $ISO_DIR/rpm.lst
cat $SYSTEM_ROOT/rpm.list >> $ISO_DIR/rpm.lst
echo 'Убираем за собой'
sudo rm $SYSTEM_ROOT/runme $SYSTEM_ROOT/rpm.list
# Для лучшего сжатия зануляем свободные блоки файловой системы
sudo cp /dev/zero $SYSTEM_ROOT/free_space 2> /dev/null
sudo rm $SYSTEM_ROOT/free_space
sudo umount $SYSTEM_ROOT
rmdir $SYSTEM_ROOT
sudo tune2fs -C 0 -M '' $SQUASHFS_ROOT/$SYSTEM_IMG
rm -f $ISO_DIR/$SQUASH_IMG
if [ "x$COMPRESSOR" == "x" ] ; then
echo 'Запуск ОС без SquashFS не поддерживается!?'
mv $SQUASHFS_ROOT/$SYSTEM_IMG $ISO_DIR/$SQUASH_IMG
else
mksquashfs $SQUASHFS_ROOT $ISO_DIR/$SQUASH_IMG -no-exports -noappend -no-recovery -no-fragments -all-root -comp $COMPRESSOR
fi
rm -r $SQUASHFS_ROOT
echo "Создаём новый образ $ISO_DST"
if (( 0 )) ; then
genisoimage -JURT -quiet \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-input-charset utf-8 \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
isohybrid --uefi $ISO_DST
else
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
fi
можно добавить свои urpmi.
rpm.lst, что содержится в ISO, создаётся актуальный.
P.S. http://forum.rosalab.ru/viewtopic.php?f ... 306#p88938 — некто собрал свой LiveCD
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Скрипт наверное на два должен быть разделен, распаковка и работа с контейнером, и запаковка?
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Можно и разделить, если интересно все эти urpmi руками выполнять, не добавляя в тело скрипта (или отдельный файл, для включения в скрипт). Мне бы наоборот хотелось это дело на автомате запускать, скажем, раз в неделю. А Локальная сборка ISO пока по ряду причин не подходит.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
в скриптах я не очень то силен, глубоко не вникал, поэтому добавил в этот скрипт команды:
urpmi --auto-update
urpme --auto-orphans
urpmi vlc
urpme posa-media-player
Работает! Ура!
Завтра отпишусь как закончит обновляться и создаст iso
а как мне добавить настройки:
/home/user/.config/lxqt.conf
urpmi --auto-update
urpme --auto-orphans
urpmi vlc
urpme posa-media-player
Работает! Ура!
Завтра отпишусь как закончит обновляться и создаст iso
а как мне добавить настройки:
/home/user/.config/lxqt.conf
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Тоже в скриптах не силён, потому и приходится тренироваться.
Если что-то надо скопировать в состав образа, то это можно примерно так:
Вот по поводу куда правильно копировать настройки для пользователей, пока не подскажу, до этого не дошёл.
Кстати, правильно понимаю, что процесс обновления долгий? Нашёл примерно, в чём дело, после доработки все 900+ пакетов устанавливаются менее чем за полчаса (включая время на загрузку 800МБ).
Если что-то надо скопировать в состав образа, то это можно примерно так:
Код: Выделить всё
cp что $SYSTEM_ROOT/куда
Кстати, правильно понимаю, что процесс обновления долгий? Нашёл примерно, в чём дело, после доработки все 900+ пакетов устанавливаются менее чем за полчаса (включая время на загрузку 800МБ).
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
скрипт все сделал, обновился, установил программу, удалил программу, а вот запаковка слетает iso нет.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Что-то написано в логе?
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
log куда скрипт сохраняет?
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
с исправлениями интересно было бы прогнать, думаю сегодня просто распакую и запакую без обновлений посмотрю что выдаст.banzay242 писал(а):скрипт все сделал, обновился, установил программу, удалил программу, а вот запаковка слетает iso нет.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Лог выводит в терминал, откуда его можно скопировать. Сжатие состоит из двух этапов, mksquashfs и собственно создание iso:
Код: Выделить всё
tune2fs 1.43.3 (04-Sep-2016)
Setting current mount count to 0
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on iso/LiveOS/squashfs.img, block size 131072.
[=========================================================================================================================| ] 97973/98144 99%
Unrecognised xattr prefix btrfs.compression
Unrecognised xattr prefix btrfs.compression
Unrecognised xattr prefix btrfs.compression
[==========================================================================================================================|] 98144/98144 100%
Squashfs 4.0 filesystem, lzo compressed, data block size 131072
compressed data, compressed metadata, no fragments, compressed xattrs
duplicates are removed
Filesystem size 2555396.50 Kbytes (2495.50 Mbytes)
20.34% of uncompressed filesystem size (12562815.75 Kbytes)
Inode table size 153606 bytes (150.01 Kbytes)
39.11% of uncompressed inode table size (392792 bytes)
Directory table size 49 bytes (0.05 Kbytes)
84.48% of uncompressed directory table size (58 bytes)
Number of duplicate files found 0
Number of inodes 3
Number of files 1
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 2
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
Создаём новый образ ROSA.FRESH.PLASMA.R9.x86_64.uefi-v2.iso
xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:ROSA.FRESH.PLASMA.R9.x86_64.uefi-v2.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 13.9g free
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
Added to ISO image: directory '/'='/home/st/src/rosa-tablet-2/iso'
xorriso : UPDATE : 76 files added in 1 seconds
xorriso : UPDATE : 76 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 432 bytes from file '/usr/share/syslinux/isohdpfx.bin'
libisofs: NOTE : Automatically adjusted MBR geometry to 1021/161/32
libisofs: NOTE : Aligned image size to cylinder size by 348 blocks
xorriso : UPDATE : 0.45% done
xorriso : UPDATE : 3.39% done
xorriso : UPDATE : 6.53% done
xorriso : UPDATE : 7.88% done, estimate finish Sat Oct 07 16:42:55 2017
xorriso : UPDATE : 10.98% done, estimate finish Sat Oct 07 16:42:55 2017
xorriso : UPDATE : 12.22% done, estimate finish Sat Oct 07 16:42:59 2017
xorriso : UPDATE : 13.16% done, estimate finish Sat Oct 07 16:43:04 2017
xorriso : UPDATE : 14.63% done, estimate finish Sat Oct 07 16:43:07 2017
xorriso : UPDATE : 15.02% done, estimate finish Sat Oct 07 16:43:12 2017
xorriso : UPDATE : 15.95% done, estimate finish Sat Oct 07 16:43:15 2017
xorriso : UPDATE : 16.88% done, estimate finish Sat Oct 07 16:43:18 2017
xorriso : UPDATE : 17.66% done, estimate finish Sat Oct 07 16:43:21 2017
xorriso : UPDATE : 18.29% done, estimate finish Sat Oct 07 16:43:25 2017
xorriso : UPDATE : 21.71% done, estimate finish Sat Oct 07 16:43:30 2017
xorriso : UPDATE : 23.01% done, estimate finish Sat Oct 07 16:43:30 2017
xorriso : UPDATE : 25.61% done, estimate finish Sat Oct 07 16:43:25 2017
xorriso : UPDATE : 26.07% done, estimate finish Sat Oct 07 16:43:29 2017
xorriso : UPDATE : 27.29% done, estimate finish Sat Oct 07 16:43:30 2017
xorriso : UPDATE : 30.43% done, estimate finish Sat Oct 07 16:43:24 2017
xorriso : UPDATE : 32.03% done, estimate finish Sat Oct 07 16:43:24 2017
xorriso : UPDATE : 33.71% done, estimate finish Sat Oct 07 16:43:23 2017
xorriso : UPDATE : 35.35% done, estimate finish Sat Oct 07 16:43:23 2017
xorriso : UPDATE : 37.29% done, estimate finish Sat Oct 07 16:43:22 2017
xorriso : UPDATE : 39.62% done, estimate finish Sat Oct 07 16:43:20 2017
xorriso : UPDATE : 41.64% done, estimate finish Sat Oct 07 16:43:17 2017
xorriso : UPDATE : 42.26% done, estimate finish Sat Oct 07 16:43:20 2017
xorriso : UPDATE : 44.31% done, estimate finish Sat Oct 07 16:43:19 2017
xorriso : UPDATE : 47.40% done, estimate finish Sat Oct 07 16:43:16 2017
xorriso : UPDATE : 48.43% done, estimate finish Sat Oct 07 16:43:18 2017
xorriso : UPDATE : 48.79% done, estimate finish Sat Oct 07 16:43:20 2017
xorriso : UPDATE : 53.16% done, estimate finish Sat Oct 07 16:43:16 2017
xorriso : UPDATE : 53.16% done, estimate finish Sat Oct 07 16:43:18 2017
xorriso : UPDATE : 54.81% done, estimate finish Sat Oct 07 16:43:18 2017
xorriso : UPDATE : 55.50% done, estimate finish Sat Oct 07 16:43:20 2017
xorriso : UPDATE : 55.95% done, estimate finish Sat Oct 07 16:43:24 2017
xorriso : UPDATE : 56.70% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 59.39% done, estimate finish Sat Oct 07 16:43:23 2017
xorriso : UPDATE : 59.97% done, estimate finish Sat Oct 07 16:43:25 2017
xorriso : UPDATE : 60.62% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 61.26% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 63.13% done, estimate finish Sat Oct 07 16:43:27 2017
xorriso : UPDATE : 64.89% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 66.09% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 67.53% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 68.22% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 69.67% done, estimate finish Sat Oct 07 16:43:29 2017
xorriso : UPDATE : 71.39% done, estimate finish Sat Oct 07 16:43:27 2017
xorriso : UPDATE : 72.53% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 73.11% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 77.20% done, estimate finish Sat Oct 07 16:43:25 2017
xorriso : UPDATE : 78.45% done, estimate finish Sat Oct 07 16:43:25 2017
xorriso : UPDATE : 79.22% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 80.31% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 80.31% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 80.94% done, estimate finish Sat Oct 07 16:43:29 2017
xorriso : UPDATE : 82.27% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 84.37% done, estimate finish Sat Oct 07 16:43:27 2017
xorriso : UPDATE : 86.70% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 88.10% done, estimate finish Sat Oct 07 16:43:26 2017
xorriso : UPDATE : 88.10% done, estimate finish Sat Oct 07 16:43:27 2017
xorriso : UPDATE : 89.35% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 89.97% done, estimate finish Sat Oct 07 16:43:28 2017
xorriso : UPDATE : 90.13% done, estimate finish Sat Oct 07 16:43:30 2017
xorriso : UPDATE : 90.92% done, estimate finish Sat Oct 07 16:43:30 2017
xorriso : UPDATE : 91.77% done, estimate finish Sat Oct 07 16:43:31 2017
xorriso : UPDATE : 92.78% done, estimate finish Sat Oct 07 16:43:31 2017
xorriso : UPDATE : 95.50% done, estimate finish Sat Oct 07 16:43:29 2017
xorriso : UPDATE : 96.20% done, estimate finish Sat Oct 07 16:43:30 2017
xorriso : UPDATE : 96.20% done, estimate finish Sat Oct 07 16:43:31 2017
xorriso : UPDATE : 97.66% done, estimate finish Sat Oct 07 16:43:31 2017
xorriso : UPDATE : 98.07% done
xorriso : UPDATE : 98.69% done
xorriso : UPDATE : 99.00% done
ISO image produced: 1315048 sectors
Written to medium : 1315048 sectors at LBA 0
Writing to 'stdio:ROSA.FRESH.PLASMA.R9.x86_64.uefi-v2.iso' completed successfully.
- VictorR2007
- Сообщения: 7314
- Зарегистрирован: 12 сен 2011, 13:00
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
По идее, они в /etc/xdg/trs писал(а): Вот по поводу куда правильно копировать настройки для пользователей, пока не подскажу, до этого не дошёл.
Для plasma5 я туда ложу.
Я меняю файлы с помощью kde-rootactions-servicemenu.
Перед обновлением и установкой добавляю локальные репы в rosa/mnt/home/live/
И зеркала с новыми иксами.
Подключаю такими командами перед обновлением.
Код: Выделить всё
urpmi.addmedia plasma5 /home/live/plasma5/
Удаляю репы из /mnt/home/live/
В скрипт такое не запихнуть.
Но у меня что-то образ великоват выходит.
3 с половиной гига.
Может в курсе, как в эту команду сборки добавить степень сжатия?
Код: Выделить всё
sudo xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V ROSA.FRESH.PLASMA.R9.x86_64 \
-o ROSA.FRESH.PLASMA.R9.x86_64.uefi.iso \
cd
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
mkisofs -iso-level 3 (или даже 4) снимет ограничение 4Gb на размер iso.
Или не понял проблему? В РОСА сжатием можно рулить на этапе создания *.img. Не знаю как в альтернативных ОС, а в GNU/Linux никаких проблем с iso > 4Gb нет. "Записать" на флешку - без проблем.
Для новых пользователей используют /etc/profile (может включать, например, что-то из profile.d или подобного) и /etc/skel
А /etc/xdg/ - это скорее для X-сессии.
PS Для русского языка в меню (не Grub)
iconv -f UTF8 -t CP866 /что -o /во_что
Делал когда-то так: в isolinux.cfg пишем по русски, добавляем строку font cyr_a8x16.psf (это "файл шрифта" ). "Файл шрифта" должен лежать рядом с isolinux.cfg. Потом переименовываем в
isolinux1.cfg и
Или не понял проблему? В РОСА сжатием можно рулить на этапе создания *.img. Не знаю как в альтернативных ОС, а в GNU/Linux никаких проблем с iso > 4Gb нет. "Записать" на флешку - без проблем.
Для новых пользователей используют /etc/profile (может включать, например, что-то из profile.d или подобного) и /etc/skel
А /etc/xdg/ - это скорее для X-сессии.
PS Для русского языка в меню (не Grub)
iconv -f UTF8 -t CP866 /что -o /во_что
Делал когда-то так: в isolinux.cfg пишем по русски, добавляем строку font cyr_a8x16.psf (это "файл шрифта" ). "Файл шрифта" должен лежать рядом с isolinux.cfg. Потом переименовываем в
isolinux1.cfg и
Код: Выделить всё
iconv -f UTF8 -t CP866 ./isolinux1.cfg -o ./isolinux.cfg
Последний раз редактировалось notauser 07 окт 2017, 20:51, всего редактировалось 1 раз.
- VictorR2007
- Сообщения: 7314
- Зарегистрирован: 12 сен 2011, 13:00
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Думал сжать посильнее.notauser писал(а):mkisofs -iso-level 3 (или даже 4) снимет ограничение 4Gb на размер iso.
Или не понял проблему?
Выше было ещё, что можно забить нулями свободное место.
Нужно посмотреть, где это можно применить самому при создании.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Почему не запихнуть? Основной скрипт создаёт второй скрипт в корне chroot (а точнее systemd-nspawn окружение) и запускает его на выполнения. Как я понимаю, всё, что можно выполнить руками в этом chroot, должно работать в скрипте.VictorR2007 писал(а): Я меняю файлы с помощью kde-rootactions-servicemenu.
Перед обновлением и установкой добавляю локальные репы в rosa/mnt/home/live/
И зеркала с новыми иксами.
Подключаю такими командами перед обновлением.Перед упаковкой образа удаляю все источники, и заново добавляю официальные и с новыми иксами.Код: Выделить всё
urpmi.addmedia plasma5 /home/live/plasma5/
Удаляю репы из /mnt/home/live/
В скрипт такое не запихнуть.
По умолчанию используется сжатие xz, даёт минимальный размер но и сжимает долго. Можно изменить в самом начале скрипта, сняв комментарий с желаемого алгоритма и закомментировав строку с xz.
Свободное место (в образе с файловой системой) забивается нулями вот для чего.
При удалении файла он лишь стирается из каталога, а его данные остаются. Потому создаётся файл максимального размера, содержащий нули, он и затирает остатки. А потом удаляется. В livecd-tools с такой целью меняют размер образа до минимума, а после увеличивают. Может быть потому он не распаковывается 7zip-ом.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
прогнал скрипт, моя ошибка что запускал не с терминала а открыть в терминале. итог тот же как только выходит (создаем новый образ), вылетает из терминала. запаковка идет как я понял в два этапа:
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
У меня сейчас тоже образ >3gb получился. Это случилось из-за того что старый squashfs.img удалить забыл.VictorR2007 писал(а):у меня что-то образ великоват выходит.
3 с половиной гига.
$ - команда должна быть выполнена от имени непривилегированного пользователя,
# - команда должна быть выполнена от имени суперпользователя.
# - команда должна быть выполнена от имени суперпользователя.
- VictorR2007
- Сообщения: 7314
- Зарегистрирован: 12 сен 2011, 13:00
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Запустил с очисткой нулями.
Сначала был образ 3.6 Гб, теперь стал 2.4 Гб.
Сначала сделал
И упаковал образ
Сначала был образ 3.6 Гб, теперь стал 2.4 Гб.
Сначала сделал
Код: Выделить всё
sudo mount sys/LiveOS/ext3fs.img mnt
su
systemd-nspawn -D mnt
# добавляем репы и устанавливаем обновления и пакеты
urpmi pakage-name1 pakage-name2 pakage-name2
#удаляем репы
exit
exit
# очищаем свободное место
sudo cp /dev/zero mnt/free_space 2> /dev/null
sudo rm mnt/free_space
sudo umount mnt
sudo rm cd/LiveOS/squashfs.img
sudo mksquashfs sys cd/LiveOS/squashfs.img
Код: Выделить всё
sudo xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V ROSA.FRESH.PLASMA.R9.x86_64 \
-o ROSA.FRESH.PLASMA.R9.x86_64.uefi.iso \
cd
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Изначально команды набирали вручную в терминале, потому про вариант, что будут запускать мышкой, даже не подумал.banzay242 писал(а):прогнал скрипт, моя ошибка что запускал не с терминала а открыть в терминале. итог тот же как только выходит (создаем новый образ), вылетает из терминала.
Хорошо бы посмотреть (скопировать), что после "создаем новый образ" написано, наверняка там подробности ошибки.
И скажите, какой образ берёте за основу, так будет проще проверить.
«Сжатие состоит из двух этапов, mksquashfs и собственно создание iso»banzay242 писал(а): запаковка идет как я понял в два этапа:
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage
iso создаётся одной из вышепривёдённых команд, на выбор.
В скрипте есть строка
if (( 0 )) ; then
В даном вариенте в скобках 0, значит работает xorriso.
Если заменить на 1, будет запускаться genisoimage. Этот способ на всякий случай сохранён из предыдущего варианта скрипта, который перепаковывал Android-x86.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
тут rm -r $SQUASHFS_ROOT не rm -rf $SQUASHFS_ROOT случайно?
а можно сохранить первый скрипт до строчки:
rm -r $SQUASHFS_ROOT
а потом запустить второй скрипт
#!/bin/sh
#
echo "Создаём новый образ $ISO_DST"
if (( 0 )) ; then
genisoimage -JURT -quiet \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-input-charset utf-8 \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
isohybrid --uefi $ISO_DST
else
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
fi
извиняйте я в синтаксисе скриптов профан.
а еще -e isolinux/efiboot.img \
не -e EFI/BOOT/ grubia32.efi случайно?
и еще при старте скрипта:
bash-4.4$ sh startiso1.sh
startiso1.sh: строка 31: isoinfo: команда не найдена
а можно сохранить первый скрипт до строчки:
rm -r $SQUASHFS_ROOT
а потом запустить второй скрипт
#!/bin/sh
#
echo "Создаём новый образ $ISO_DST"
if (( 0 )) ; then
genisoimage -JURT -quiet \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-input-charset utf-8 \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
isohybrid --uefi $ISO_DST
else
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
fi
извиняйте я в синтаксисе скриптов профан.
а еще -e isolinux/efiboot.img \
не -e EFI/BOOT/ grubia32.efi случайно?
и еще при старте скрипта:
bash-4.4$ sh startiso1.sh
startiso1.sh: строка 31: isoinfo: команда не найдена
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
вот так первая часть скрипта отработала:
bash-4.4$ sh startiso1.sh
startiso1.sh: строка 31: isoinfo: команда не найдена
Обрабатывается ROSA.FRESH.LXQT.R9.i586.uefi.iso [Volume id: ]
Распаковываем образ
Parallel unsquashfs: Using 2 processors
1 inodes (98144 blocks) to write
[==============================================================================================/] 98144/98144 100%
created 1 files
created 2 directories
created 0 symlinks
created 0 devices
created 0 fifos
Монтируем LiveOS/ext3fs.img
[sudo] пароль для user:
Обновляем
# Следующие команды выполнятся в контексте распакованного образа
cat /etc/os-release
rpm -qa | sort > /rpm.list
Spawning container system-root on /home/banzay2017/rosa/system-root.
Press ^] three times within 1s to kill container.
Host and machine ids are equal (77b7ffd898bf4e97a00533aba1333109): refusing to link journals
NAME="ROSA Desktop Fresh R9"
VERSION="EE 2016.1 Desktop"
ID=rosa
VERSION_ID=2016.1
PRETTY_NAME="ROSA Desktop Fresh R9 EE 2016.1 Desktop"
ANSI_COLOR="1;43"
CPE_NAME="cpe:/o:rosa:rosalinux:2016.1"
HOME_URL="http://www.rosalinux.com/"
BUG_REPORT_URL="http://bugs.rosalinux.ru/"
Container system-root exited successfully.
Убираем за собой
tune2fs 1.43.3 (04-Sep-2016)
Setting current mount count to 0
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on iso/LiveOS/squashfs.img, block size 131072.
[==============================================================================================\] 98144/98144 100%
Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, no fragments, compressed xattrs
duplicates are removed
Filesystem size 1374426.81 Kbytes (1342.21 Mbytes)
10.94% of uncompressed filesystem size (12562815.75 Kbytes)
Inode table size 74572 bytes (72.82 Kbytes)
18.99% of uncompressed inode table size (392792 bytes)
Directory table size 58 bytes (0.06 Kbytes)
100.00% of uncompressed directory table size (58 bytes)
Number of duplicate files found 0
Number of inodes 3
Number of files 1
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 2
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
bash-4.4$
bash-4.4$ sh startiso1.sh
startiso1.sh: строка 31: isoinfo: команда не найдена
Обрабатывается ROSA.FRESH.LXQT.R9.i586.uefi.iso [Volume id: ]
Распаковываем образ
Parallel unsquashfs: Using 2 processors
1 inodes (98144 blocks) to write
[==============================================================================================/] 98144/98144 100%
created 1 files
created 2 directories
created 0 symlinks
created 0 devices
created 0 fifos
Монтируем LiveOS/ext3fs.img
[sudo] пароль для user:
Обновляем
# Следующие команды выполнятся в контексте распакованного образа
cat /etc/os-release
rpm -qa | sort > /rpm.list
Spawning container system-root on /home/banzay2017/rosa/system-root.
Press ^] three times within 1s to kill container.
Host and machine ids are equal (77b7ffd898bf4e97a00533aba1333109): refusing to link journals
NAME="ROSA Desktop Fresh R9"
VERSION="EE 2016.1 Desktop"
ID=rosa
VERSION_ID=2016.1
PRETTY_NAME="ROSA Desktop Fresh R9 EE 2016.1 Desktop"
ANSI_COLOR="1;43"
CPE_NAME="cpe:/o:rosa:rosalinux:2016.1"
HOME_URL="http://www.rosalinux.com/"
BUG_REPORT_URL="http://bugs.rosalinux.ru/"
Container system-root exited successfully.
Убираем за собой
tune2fs 1.43.3 (04-Sep-2016)
Setting current mount count to 0
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on iso/LiveOS/squashfs.img, block size 131072.
[==============================================================================================\] 98144/98144 100%
Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, no fragments, compressed xattrs
duplicates are removed
Filesystem size 1374426.81 Kbytes (1342.21 Mbytes)
10.94% of uncompressed filesystem size (12562815.75 Kbytes)
Inode table size 74572 bytes (72.82 Kbytes)
18.99% of uncompressed inode table size (392792 bytes)
Directory table size 58 bytes (0.06 Kbytes)
100.00% of uncompressed directory table size (58 bytes)
Number of duplicate files found 0
Number of inodes 3
Number of files 1
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 2
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
bash-4.4$
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
а вот вторая часть вылетает с ошибкой (не работает):
sh startiso2.sh
Создаём новый образ
GNU xorriso 1.2.4 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/dev/fd/1'
Media current: stdio file, sequential
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 1024g free
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
xorriso : FAILURE : Cannot find in ISO image: -boot_image ... bin_path='/isolinux/isolinux.bin'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
bash-4.4$
sh startiso2.sh
Создаём новый образ
GNU xorriso 1.2.4 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/dev/fd/1'
Media current: stdio file, sequential
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 1024g free
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
xorriso : FAILURE : Cannot find in ISO image: -boot_image ... bin_path='/isolinux/isolinux.bin'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
bash-4.4$
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Видимо действительно я был должен сделать два скрипта, что бы оно работало. Просто пополам такое не режется.
Вот эти определения переменных должны быть добавлены ко второму отрывку, если ничего не упустил:Иначе скрипт вместо них подставит пустое место.
То есть она в пакете cdrkit-isotools
Вот эти определения переменных должны быть добавлены ко второму отрывку, если ничего не упустил:
Код: Выделить всё
ISO_SRC=`ls *.iso`
ISO_VOL=`isoinfo -j UTF-8 -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
ISO_DST=`echo $ISO_SRC | sed s/$NAME_ORIG/$NAME_DEST/`
ISO_DIR='iso'
Навряд ли. Это уже было http://forum.rosalab.ru/viewtopic.php?f ... 013#p88896banzay242 писал(а):а еще -e isolinux/efiboot.img \
не -e EFI/BOOT/ grubia32.efi случайно?
banzay242 писал(а):и еще при старте скрипта:
bash-4.4$ sh startiso1.sh
startiso1.sh: строка 31: isoinfo: команда не найдена
Код: Выделить всё
$ urpmf isoinfo
man-pages-pl:/usr/share/man/pl/man8/isoinfo.8.xz
cdrkit-isotools:/usr/bin/isoinfo
...
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
благодарю! обкатаю и погляжу,
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
меняю вот этот участок, я правильно понял?
cdrkit-isotools действительно не был установлен. установил буду обкатывать, благодарю.
ваш скрипт если в комплексе заработает будет очень удобно.
rm -r $SQUASHFS_ROOT поменял на rm -rf $SQUASHFS_ROOT в резултате остается одна папка iso из которой собирается образ.
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V $ISO_VOL \
-o $ISO_DST \
$ISO_DIR
меняю вот этот участок, я правильно понял?
cdrkit-isotools действительно не был установлен. установил буду обкатывать, благодарю.
ваш скрипт если в комплексе заработает будет очень удобно.
rm -r $SQUASHFS_ROOT поменял на rm -rf $SQUASHFS_ROOT в резултате остается одна папка iso из которой собирается образ.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
похоже isoinfo не знает кодировку utf-8
sh startiso.sh
Unknown charset: UTF-8
Known charsets are:
cp10081
cp10079
cp10029
cp10007
cp10006
cp10000
koi8-u
koi8-r
cp1251
cp1250
cp874
cp869
cp866
cp865
cp864
cp863
cp862
cp861
cp860
cp857
cp855
cp852
cp850
cp775
cp737
cp437
iso8859-15
iso8859-14
iso8859-9
iso8859-8
iso8859-7
iso8859-6
iso8859-5
iso8859-4
iso8859-3
iso8859-2
iso8859-1
Обрабатывается ROSA.FRESH.LXQT.R9.i586.uefi.iso [Volume id: ]
Распаковываем образ
поменял ISO_VOL=`isoinfo -j koi8-r -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
bash-4.4$ sh startiso.sh
Обрабатывается ROSA.FRESH.LXQT.R9.i586.uefi.iso [Volume id: ROSA.FRESH.LXQT.R9.i586]
Распаковываем образ
Parallel unsquashfs: Using 2 processors
1 inodes (98144 blocks) to write
sh startiso.sh
Unknown charset: UTF-8
Known charsets are:
cp10081
cp10079
cp10029
cp10007
cp10006
cp10000
koi8-u
koi8-r
cp1251
cp1250
cp874
cp869
cp866
cp865
cp864
cp863
cp862
cp861
cp860
cp857
cp855
cp852
cp850
cp775
cp737
cp437
iso8859-15
iso8859-14
iso8859-9
iso8859-8
iso8859-7
iso8859-6
iso8859-5
iso8859-4
iso8859-3
iso8859-2
iso8859-1
Обрабатывается ROSA.FRESH.LXQT.R9.i586.uefi.iso [Volume id: ]
Распаковываем образ
поменял ISO_VOL=`isoinfo -j koi8-r -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
bash-4.4$ sh startiso.sh
Обрабатывается ROSA.FRESH.LXQT.R9.i586.uefi.iso [Volume id: ROSA.FRESH.LXQT.R9.i586]
Распаковываем образ
Parallel unsquashfs: Using 2 processors
1 inodes (98144 blocks) to write
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
вторая часть:
else
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
ISO_SRC=`ls *.iso`
ISO_VOL=`isoinfo -j koi8-r -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
ISO_DST=`echo $ISO_SRC | sed s/$NAME_ORIG/$NAME_DEST/`
ISO_DIR='iso'
fi
выхлоп:
Создаём новый образ ROSA.FRESH.LXQT.R9.i586.uefi-v2.iso
GNU xorriso 1.2.4 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/dev/fd/1'
Media current: stdio file, sequential
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 1024g free
xorriso : FAILURE : Cannot determine attributes of source file '/home/banzay2017/rosa/ISO_SRC=ROSA.FRESH.LXQT.R9.i586.uefi.iso' : No such file or directory
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
bash-4.4$ ls
else
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
ISO_SRC=`ls *.iso`
ISO_VOL=`isoinfo -j koi8-r -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
ISO_DST=`echo $ISO_SRC | sed s/$NAME_ORIG/$NAME_DEST/`
ISO_DIR='iso'
fi
выхлоп:
Создаём новый образ ROSA.FRESH.LXQT.R9.i586.uefi-v2.iso
GNU xorriso 1.2.4 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/dev/fd/1'
Media current: stdio file, sequential
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 1024g free
xorriso : FAILURE : Cannot determine attributes of source file '/home/banzay2017/rosa/ISO_SRC=ROSA.FRESH.LXQT.R9.i586.uefi.iso' : No such file or directory
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
bash-4.4$ ls
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Просто добавить в начало
То есть создаётся копия скрипта, и из середины убираются лишние команды (либо можно их отключить, поместив в начало строки символ #).
Код: Выделить всё
ISO_SRC=`ls *.iso`
ISO_VOL=`isoinfo -j UTF-8 -d -i $ISO_SRC | grep 'Volume id:' | sed 's/Volume id: //'`
ISO_DST=`echo $ISO_SRC | sed s/$NAME_ORIG/$NAME_DEST/`
ISO_DIR='iso'
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
воткнул в начало 2 части скрипта выхлоп выложу, сразу ругнулся isoinfo на кодировку
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
кто может написать два скрипта из этих команд:
Первый скрипт:
mkdir rosa
cd rosa
su
mkdir cd mnt sys
mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso mnt
cp -a mnt/* cd/
umount mnt
mount -t squashfs cd/LiveOS/squashfs.img mnt
cp -a mnt/* sys/
umount mnt
mount sys/LiveOS/ext3fs.img mnt
systemd-nspawn -D mnt
Второй скрипт:
su
umount mnt
rm cd/LiveOS/squashfs.img
mksquashfs sys cd/LiveOS/squashfs.img
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V ROSA.FRESH.LXQT.R9.i586 \
-o ROSA.FRESH.LXQT.R9.i586.uefi.iso \
cd
Первый скрипт:
mkdir rosa
cd rosa
su
mkdir cd mnt sys
mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso mnt
cp -a mnt/* cd/
umount mnt
mount -t squashfs cd/LiveOS/squashfs.img mnt
cp -a mnt/* sys/
umount mnt
mount sys/LiveOS/ext3fs.img mnt
systemd-nspawn -D mnt
Второй скрипт:
su
umount mnt
rm cd/LiveOS/squashfs.img
mksquashfs sys cd/LiveOS/squashfs.img
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V ROSA.FRESH.LXQT.R9.i586 \
-o ROSA.FRESH.LXQT.R9.i586.uefi.iso \
cd
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Вы их уже написали. Скопируете в текстовый файл.
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
вопрос какой командой отобразить ход выполнения команды, все прогнал через echo. два простых скрипта сделал, выложу конечный результат. вопрос зачем обнулять mnt? не проще rm -rf mnt а потом mkdir mnt
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
крайнее решение:
Код: Выделить всё
устанавливаем:
sudo urpmi squashfs-tools qemu
кладем образ и два скрипта в одну папку, делаем скрипты исполняемыми
в файле start в строке mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso mnt ставим название iso для редактирования.
в файле finish в строке -V ROSA.FRESH.LXQT.R9.i586 \ ставим так же как syslinux.sfg (не знаю надо или нет, где то писали).
в файле finish d строке -o ROSA.FRESH.LXQT.R9.i586.iso \ ставим желаемое название iso
пример:
запускаем от sudo или под su. sudo sh start.sh выходим exit потом второй скрипт sudo sh finish.sh
тестируем:
qemu-system-x86_64 -boot d -cdrom ROSA.FRESH.LXQT.R9.i586.iso -m 512
#!/bin/sh
#
#файл start.sh:
echo создаем папки cd mnt sys
mkdir cd mnt sys
echo монтируем образ
mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso mnt
echo копируем mnt в cd
cp -a mnt/* cd/
echo размонтируем mnt
umount mnt
echo монтируем squashfs.img в mnt
mount -t squashfs cd/LiveOS/squashfs.img mnt
echo копируем mnt в sys
cp -a mnt/* sys/
echo размонтируем mnt
umount mnt
echo монтируем ext3fs.img в mnt
mount sys/LiveOS/ext3fs.img mnt
echo запускаем chroot, ковыряем систему, после выходим exit
#systemd-nspawn -D (mnt пока неустройчиво работает)
chroot mnt
#обновления:
urpmi --auto-update
urpme --auto-orphans
#можно добавить репозиторий:
urpmi.addmedia --distrib http://abf-downloads.rosalinux.ru/rosa2016.1/repository/i586/
#выход exit
#!/bin/sh
#
#файл finish.sh:
echo очищаем свободное место
cp /dev/zero mnt/free_space 2> /dev/null
rm mnt/free_space
echo размонтируем mnt
umount mnt
echo удаляем cd/LiveOS/squashfs.img
rm cd/LiveOS/squashfs.img
echo создаем новый cd/LiveOS/squashfs.img
mksquashfs sys cd/LiveOS/squashfs.img
echo создаем свой iso
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V ROSA.FRESH.LXQT.R9.i586 \
-o ROSA.FRESH.LXQT.R9.i586.iso \
cd
echo чистим за собой
rm -rf cd mnt sys
echo готово!
Последний раз редактировалось banzay242 18 окт 2017, 07:44, всего редактировалось 6 раз.
- VictorR2007
- Сообщения: 7314
- Зарегистрирован: 12 сен 2011, 13:00
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Там обнуляется свободное место, чтобы образ был меньше.banzay242 писал(а): вопрос зачем обнулять mnt? не проще rm -rf mnt а потом mkdir mnt
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
растолкуйте пожалуйста что делает вот эта строка:
cp /dev/zero mnt/free_space 2> /dev/null
free_space 2 название файла?
free_space файл а 2> особое перенаправление?
после двойки пропуска нет?
/dev/null это дыра
cp /dev/zero mnt/free_space 2> /dev/null
free_space 2 название файла?
free_space файл а 2> особое перенаправление?
после двойки пропуска нет?
/dev/null это дыра
Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
благодарю всех, за консультацию!
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
в результате использую 4 файла:
стартовый (для работы chroot)
финишный (упаковка в iso)
монтирование (не удалять распакованный iso, для постоянного редактирования и обновления chroot)
размонтирование (не удалять распакованный iso, для постоянного редактирования и обновления chroot)
конфиги прилагаются, может кому надо, может кто дополнит.
стартовый (для работы chroot)
финишный (упаковка в iso)
монтирование (не удалять распакованный iso, для постоянного редактирования и обновления chroot)
размонтирование (не удалять распакованный iso, для постоянного редактирования и обновления chroot)
конфиги прилагаются, может кому надо, может кто дополнит.
Код: Выделить всё
#!/bin/sh
#фаил start.sh
PWD=`pwd`/mnt
echo создаем папки cd mnt sys
mkdir cd mnt sys
echo монтируем образ
mount -o loop ROSA.FRESH.LXQT.R9.i586.uefi.iso $PWD
echo копируем mnt в cd
cp -a mnt/* cd/
echo размонтируем mnt
umount $PWD
echo монтируем squashfs.img в mnt
mount -t squashfs cd/LiveOS/squashfs.img $PWD
echo копируем mnt в sys
cp -a $PWD/* sys/
echo размонтируем mnt
umount $PWD
echo монтируем ext3fs.img в mnt
mount sys/LiveOS/ext3fs.img $PWD
echo монтируем dev sys proc resolv.conf
mount --bind /dev $PWD/dev
mount --bind /sys $PWD/sys
mount --bind /proc $PWD/proc
mount --bind /etc/resolv.conf $PWD/etc/resolv.conf
echo запускаем chroot, ковыряем систему, после выходим exit
chroot $PWD
#!/bin/sh
#файл finish.sh
echo размонтируем dev sys proc resolv.conf
PWD=`pwd`/mnt
umount $PWD/dev
umount $PWD/sys
umount $PWD/proc
umount $PWD/etc/resolv.conf
echo очищаем свободное место
cp /dev/zero mnt/free_space 2> /dev/null
rm mnt/free_space
echo размонтируем mnt
umount $PWD
echo удаляем cd/LiveOS/squashfs.img
CD=cd/LiveOS/squashfs.img
rm $CD
echo создаем новый cd/LiveOS/squashfs.img
mksquashfs sys $CD
echo создаем свой iso
xorriso -as mkisofs \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V ROSA.FRESH.LXQT.R9.i586 \
-o ROSA.FRESH.LXQT.R9.i586.uefi.iso \
cd
#echo создаем файл контрольной суммы md5sum.txt
#md5sum ROSA.FRESH.LXQT.R9.i586.uefi.iso > md5sum.txt
#echo чистим за собой
#rm -rf cd mnt sys
echo готово!
#!/bin/sh
#файл mount.sh
PWD=`pwd`/mnt
echo монтируем ext3fs.img в mnt
mount sys/LiveOS/ext3fs.img $PWD
echo монтируем dev sys proc resolv.conf
mount --bind /dev $PWD/dev
mount --bind /sys $PWD/sys
mount --bind /proc $PWD/proc
mount --bind /etc/resolv.conf $PWD/etc/resolv.conf
echo запускаем chroot, ковыряем систему, после выходим exit
chroot $PWD
#!/bin/sh
#фаил umount.sh
echo размонтируем dev sys proc mnt resolv.conf
PWD=`pwd`/mnt
umount $PWD/dev
umount $PWD/sys
umount $PWD/proc
umount $PWD/etc/resolv.conf
umount $PWD
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
пока не знаю как всунуть в стартовый скрипт urpmi --auto-update urpme --auto-orphans
прописать в крон start.sh | finish.sh
как в finish.sh сделать сохранение в другое место
или в кроне start.sh | finish.sh |cp /....iso/ /var/pxe/....iso/
прописать в крон start.sh | finish.sh
как в finish.sh сделать сохранение в другое место
или в кроне start.sh | finish.sh |cp /....iso/ /var/pxe/....iso/
-
- Сообщения: 2
- Зарегистрирован: 30 апр 2017, 17:48
- Контактная информация:
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
а как при этом из lxqt пересобрать, оставив опенбокс? простым удалением task-lxqt и и установкой опенбокс меню, obconf и т.п. много хлама останется, urpme auto-orphans поможет? и как потом раздутый образ уменьшить? хочу маленькую сборку сделать
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
chroot e все удаляется и устанавливается, опенбох в ремозиториях есть удаляешь lxqt и устанавливаешь опенбох. mc в chroot работает. щас две сборки одна полная набитая всем и вся, другая минимальная один браузер. когда удаляется внимательно смотреть надо что удаляется и устанавливается. например с собой если sddm тянет, значит приветсвие не увидишь.
Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]
Можно установить систему (например в виртуальную машину) и там поэкспериментировать с установкой и удалением пакетов, записывая действия.
Раздутый образ можно уменьшить, создав на файловой системе файл максимального размера и содержащий нули, после удалив его:
Правильнее было бы уменьшить размер образа до минимума, затем увеличить - утилитой resize2fs.
Раздутый образ можно уменьшить, создав на файловой системе файл максимального размера и содержащий нули, после удалив его:
Код: Выделить всё
sudo cp /dev/zero $SYSTEM_ROOT/free_space 2> /dev/null
sudo rm $SYSTEM_ROOT/free_space