Страница 1 из 1

РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 02 окт 2017, 20:40
banzay242
Посмотрел этот фильм прогнал до пункта упаковка в iso. Скрипт вызвал у меня сомнения. сам скрипт:
vlcsnap-2017-10-02-21h54m21s228.png
скрипт запаковки в iso
/usr/lib/syslinix/ нет директории syslinux/.
У кого может быть есть рабочий скрипт запаковки iso.

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 02 окт 2017, 22:32
Vochatrak
Не может такого быть.
/usr/lib/syslinix/ нет директории syslinux/.
Может путь все-таки /usr/lib/syslinux/isohdpfx.bin :wink:

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 03 окт 2017, 07:33
trs
http://forum.rosalab.ru/viewtopic.php?f ... 369#p85370

И, кстати, для сравнения параметры livecd-tools
Screenshot_20171002_011910.png
после -e

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 04 окт 2017, 07:37
banzay242
Болдово, 98 человек просмотрело и не кто из них не собирал свой Livecd? может у кого свои способы пересборки есть? выложите пожалуйста инфу.

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 04 окт 2017, 12:21
Алзим
Посмотрите тут. Может найдёте что интересное.
http://www.magos-linux.ru/dwiki/doku.ph ... 1%82%D0%B8

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 04 окт 2017, 15:46
keleg
banzay242 писал(а):Болдово, 98 человек просмотрело и не кто из них не собирал свой Livecd? может у кого свои способы пересборки есть? выложите пожалуйста инфу.
Вконтакте народ пересобирал методом перепаковки. Попробуйте там поискать.

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 05 окт 2017, 07:22
vvpnet
А если не livecd собрать? что для этого нужно?

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 06 окт 2017, 07:45
banzay242
все работает рекомендую:
Манипуляции производились на 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

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 06 окт 2017, 09:16
trs
banzay242 писал(а):-e EFI/BOOT/ grubia32.efi \ # для 64 «grubia64.efi наверное»
Наверное http://forum.rosalab.ru/viewtopic.php?f ... 526#p88896

Поместил вышеприведённые команды в скрипт:

Код: Выделить всё

#!/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]

Добавлено: 06 окт 2017, 11:04
banzay242
Скрипт наверное на два должен быть разделен, распаковка и работа с контейнером, и запаковка?

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 06 окт 2017, 11:25
trs
Можно и разделить, если интересно все эти urpmi руками выполнять, не добавляя в тело скрипта (или отдельный файл, для включения в скрипт). Мне бы наоборот хотелось это дело на автомате запускать, скажем, раз в неделю. А Локальная сборка ISO пока по ряду причин не подходит.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 06 окт 2017, 20:50
banzay242
в скриптах я не очень то силен, глубоко не вникал, поэтому добавил в этот скрипт команды:
urpmi --auto-update
urpme --auto-orphans
urpmi vlc
urpme posa-media-player
Работает! Ура!
Завтра отпишусь как закончит обновляться и создаст iso
а как мне добавить настройки:
/home/user/.config/lxqt.conf

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 08:14
trs
Тоже в скриптах не силён, потому и приходится тренироваться.

Если что-то надо скопировать в состав образа, то это можно примерно так:

Код: Выделить всё

cp что $SYSTEM_ROOT/куда
Вот по поводу куда правильно копировать настройки для пользователей, пока не подскажу, до этого не дошёл.

Кстати, правильно понимаю, что процесс обновления долгий? Нашёл примерно, в чём дело, после доработки все 900+ пакетов устанавливаются менее чем за полчаса (включая время на загрузку 800МБ).

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 08:30
banzay242
скрипт все сделал, обновился, установил программу, удалил программу, а вот запаковка слетает iso нет.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 10:15
trs
Что-то написано в логе?

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 13:11
banzay242
log куда скрипт сохраняет?

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 13:15
banzay242
banzay242 писал(а):скрипт все сделал, обновился, установил программу, удалил программу, а вот запаковка слетает iso нет.
с исправлениями интересно было бы прогнать, думаю сегодня просто распакую и запакую без обновлений посмотрю что выдаст.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 13:23
trs
Лог выводит в терминал, откуда его можно скопировать. Сжатие состоит из двух этапов, 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.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 14:28
VictorR2007
trs писал(а): Вот по поводу куда правильно копировать настройки для пользователей, пока не подскажу, до этого не дошёл.
По идее, они в /etc/xdg/
Для 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]

Добавлено: 07 окт 2017, 20:33
notauser
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 и

Код: Выделить всё

iconv -f UTF8 -t CP866 ./isolinux1.cfg -o ./isolinux.cfg

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 07 окт 2017, 20:41
VictorR2007
notauser писал(а):mkisofs -iso-level 3 (или даже 4) снимет ограничение 4Gb на размер iso.
Или не понял проблему?
Думал сжать посильнее.
Выше было ещё, что можно забить нулями свободное место.
Нужно посмотреть, где это можно применить самому при создании.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 08 окт 2017, 08:01
trs
VictorR2007 писал(а): Я меняю файлы с помощью kde-rootactions-servicemenu.
Перед обновлением и установкой добавляю локальные репы в rosa/mnt/home/live/
И зеркала с новыми иксами.
Подключаю такими командами перед обновлением.

Код: Выделить всё

urpmi.addmedia plasma5 /home/live/plasma5/
Перед упаковкой образа удаляю все источники, и заново добавляю официальные и с новыми иксами.
Удаляю репы из /mnt/home/live/
В скрипт такое не запихнуть.
Почему не запихнуть? Основной скрипт создаёт второй скрипт в корне chroot (а точнее systemd-nspawn окружение) и запускает его на выполнения. Как я понимаю, всё, что можно выполнить руками в этом chroot, должно работать в скрипте.

По умолчанию используется сжатие xz, даёт минимальный размер но и сжимает долго. Можно изменить в самом начале скрипта, сняв комментарий с желаемого алгоритма и закомментировав строку с xz.

Свободное место (в образе с файловой системой) забивается нулями вот для чего.
При удалении файла он лишь стирается из каталога, а его данные остаются. Потому создаётся файл максимального размера, содержащий нули, он и затирает остатки. А потом удаляется. В livecd-tools с такой целью меняют размер образа до минимума, а после увеличивают. Может быть потому он не распаковывается 7zip-ом.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 08 окт 2017, 20:00
banzay242
прогнал скрипт, моя ошибка что запускал не с терминала а открыть в терминале. итог тот же как только выходит (создаем новый образ), вылетает из терминала. запаковка идет как я понял в два этапа:
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 08 окт 2017, 20:04
va9(2)
VictorR2007 писал(а):у меня что-то образ великоват выходит.
3 с половиной гига.
У меня сейчас тоже образ >3gb получился. Это случилось из-за того что старый squashfs.img удалить забыл.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 08 окт 2017, 22:49
VictorR2007
Запустил с очисткой нулями.
Сначала был образ 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]

Добавлено: 09 окт 2017, 08:10
trs
banzay242 писал(а):прогнал скрипт, моя ошибка что запускал не с терминала а открыть в терминале. итог тот же как только выходит (создаем новый образ), вылетает из терминала.
Изначально команды набирали вручную в терминале, потому про вариант, что будут запускать мышкой, даже не подумал.
Хорошо бы посмотреть (скопировать), что после "создаем новый образ" написано, наверняка там подробности ошибки.
И скажите, какой образ берёте за основу, так будет проще проверить.
banzay242 писал(а): запаковка идет как я понял в два этапа:
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage
«Сжатие состоит из двух этапов, mksquashfs и собственно создание iso»
iso создаётся одной из вышепривёдённых команд, на выбор.
В скрипте есть строка
if (( 0 )) ; then
В даном вариенте в скобках 0, значит работает xorriso.
Если заменить на 1, будет запускаться genisoimage. Этот способ на всякий случай сохранён из предыдущего варианта скрипта, который перепаковывал Android-x86.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 09 окт 2017, 18:28
banzay242
тут 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: команда не найдена

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 09 окт 2017, 20:06
banzay242
вот так первая часть скрипта отработала:
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]

Добавлено: 09 окт 2017, 20:15
banzay242
а вот вторая часть вылетает с ошибкой (не работает):
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]

Добавлено: 09 окт 2017, 20:56
trs
Видимо действительно я был должен :) сделать два скрипта, что бы оно работало. Просто пополам такое не режется.

Вот эти определения переменных должны быть добавлены ко второму отрывку, если ничего не упустил:

Код: Выделить всё

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'
Иначе скрипт вместо них подставит пустое место.
banzay242 писал(а):а еще -e isolinux/efiboot.img \
не -e EFI/BOOT/ grubia32.efi случайно?
Навряд ли. Это уже было http://forum.rosalab.ru/viewtopic.php?f ... 013#p88896
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
...
То есть она в пакете cdrkit-isotools

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 10 окт 2017, 06:40
banzay242
благодарю! обкатаю и погляжу,
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]

Добавлено: 10 окт 2017, 07:59
banzay242
похоже 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

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 10 окт 2017, 09:00
banzay242
вторая часть:
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]

Добавлено: 10 окт 2017, 10:28
trs
Просто добавить в начало

Код: Выделить всё

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]

Добавлено: 10 окт 2017, 19:18
banzay242
воткнул в начало 2 части скрипта выхлоп выложу, сразу ругнулся isoinfo на кодировку

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 11 окт 2017, 09:32
banzay242
кто может написать два скрипта из этих команд:
Первый скрипт:
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]

Добавлено: 11 окт 2017, 09:55
trs
Вы их уже написали. Скопируете в текстовый файл.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 11 окт 2017, 12:44
banzay242
вопрос какой командой отобразить ход выполнения команды, все прогнал через echo. два простых скрипта сделал, выложу конечный результат. вопрос зачем обнулять mnt? не проще rm -rf mnt а потом mkdir mnt

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 11 окт 2017, 14:11
banzay242
крайнее решение:

Код: Выделить всё

устанавливаем:
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 готово!

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 11 окт 2017, 14:19
VictorR2007
banzay242 писал(а): вопрос зачем обнулять mnt? не проще rm -rf mnt а потом mkdir mnt
Там обнуляется свободное место, чтобы образ был меньше.

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 12 окт 2017, 17:10
banzay242
растолкуйте пожалуйста что делает вот эта строка:
cp /dev/zero mnt/free_space 2> /dev/null
free_space 2 название файла?
free_space файл а 2> особое перенаправление?
после двойки пропуска нет?
/dev/null это дыра

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 12 окт 2017, 19:44
notauser

Re: [решено]РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 12 окт 2017, 19:45
banzay242
благодарю всех, за консультацию!

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 02 ноя 2017, 09:09
banzay242
в результате использую 4 файла:
стартовый (для работы 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]

Добавлено: 02 ноя 2017, 09:24
banzay242
пока не знаю как всунуть в стартовый скрипт urpmi --auto-update urpme --auto-orphans
прописать в крон start.sh | finish.sh
как в finish.sh сделать сохранение в другое место
или в кроне start.sh | finish.sh |cp /....iso/ /var/pxe/....iso/

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 02 ноя 2017, 19:59
Yuriy Kasterin
а как при этом из lxqt пересобрать, оставив опенбокс? простым удалением task-lxqt и и установкой опенбокс меню, obconf и т.п. много хлама останется, urpme auto-orphans поможет? и как потом раздутый образ уменьшить? хочу маленькую сборку сделать

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 03 ноя 2017, 13:09
banzay242
chroot e все удаляется и устанавливается, опенбох в ремозиториях есть удаляешь lxqt и устанавливаешь опенбох. mc в chroot работает. щас две сборки одна полная набитая всем и вся, другая минимальная один браузер. когда удаляется внимательно смотреть надо что удаляется и устанавливается. например с собой если sddm тянет, значит приветсвие не увидишь.

Re: РОСА Линукс_свой дистрибутив на базе ROSA Linux Fresh [720p]

Добавлено: 03 ноя 2017, 16:45
trs
Можно установить систему (например в виртуальную машину) и там поэкспериментировать с установкой и удалением пакетов, записывая действия.

Раздутый образ можно уменьшить, создав на файловой системе файл максимального размера и содержащий нули, после удалив его:

Код: Выделить всё

sudo cp /dev/zero $SYSTEM_ROOT/free_space 2> /dev/null
sudo rm $SYSTEM_ROOT/free_space
Правильнее было бы уменьшить размер образа до минимума, затем увеличить - утилитой resize2fs.