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

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

Postby banzay242 » 02 Oct 2017, 20:40

Посмотрел этот фильм прогнал до пункта упаковка в iso. Скрипт вызвал у меня сомнения. сам скрипт:
vlcsnap-2017-10-02-21h54m21s228.png
скрипт запаковки в iso

/usr/lib/syslinix/ нет директории syslinux/.
У кого может быть есть рабочий скрипт запаковки iso.
Last edited by banzay242 on 02 Nov 2017, 08:43, edited 2 times in total.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby Vochatrak » 02 Oct 2017, 22:32

Не может такого быть.
/usr/lib/syslinix/ нет директории syslinux/.

Может путь все-таки /usr/lib/syslinux/isohdpfx.bin :wink:
User avatar
Vochatrak
 
Posts: 792
Joined: 22 Sep 2014, 00:21

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

Postby trs » 03 Oct 2017, 07:33

viewtopic.php?f=40&t=8199&p=85369#p85370

И, кстати, для сравнения параметры livecd-tools
Screenshot_20171002_011910.png
после -e
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 04 Oct 2017, 07:37

Болдово, 98 человек просмотрело и не кто из них не собирал свой Livecd? может у кого свои способы пересборки есть? выложите пожалуйста инфу.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby Алзим » 04 Oct 2017, 12:21

Посмотрите тут. Может найдёте что интересное.
http://www.magos-linux.ru/dwiki/doku.ph ... 1%82%D0%B8
User avatar
Алзим
 
Posts: 3997
Joined: 18 Jun 2015, 11:57
Location: Интернет

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

Postby keleg » 04 Oct 2017, 15:46

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

Вконтакте народ пересобирал методом перепаковки. Попробуйте там поискать.
keleg
 
Posts: 5107
Joined: 15 Sep 2011, 00:58

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

Postby vvpnet » 05 Oct 2017, 07:22

А если не livecd собрать? что для этого нужно?
vvpnet
 
Posts: 259
Joined: 23 Nov 2015, 14:44

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

Postby banzay242 » 06 Oct 2017, 07:45

все работает рекомендую:
Манипуляции производились на 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
Last edited by banzay242 on 08 Oct 2017, 19:53, edited 1 time in total.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 06 Oct 2017, 09:16

banzay242 wrote:-e EFI/BOOT/ grubia32.efi \ # для 64 «grubia64.efi наверное»

Наверное viewtopic.php?f=56&t=8526#p88896

Поместил вышеприведённые команды в скрипт:
Code: Select all
#!/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. viewtopic.php?f=53&t=7306#p88938 — некто собрал свой LiveCD
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 06 Oct 2017, 11:04

Скрипт наверное на два должен быть разделен, распаковка и работа с контейнером, и запаковка?
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 06 Oct 2017, 11:25

Можно и разделить, если интересно все эти urpmi руками выполнять, не добавляя в тело скрипта (или отдельный файл, для включения в скрипт). Мне бы наоборот хотелось это дело на автомате запускать, скажем, раз в неделю. А Локальная сборка ISO пока по ряду причин не подходит.
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 06 Oct 2017, 20:50

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

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

Postby trs » 07 Oct 2017, 08:14

Тоже в скриптах не силён, потому и приходится тренироваться.

Если что-то надо скопировать в состав образа, то это можно примерно так:
Code: Select all
cp что $SYSTEM_ROOT/куда

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

Кстати, правильно понимаю, что процесс обновления долгий? Нашёл примерно, в чём дело, после доработки все 900+ пакетов устанавливаются менее чем за полчаса (включая время на загрузку 800МБ).
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 07 Oct 2017, 08:30

скрипт все сделал, обновился, установил программу, удалил программу, а вот запаковка слетает iso нет.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 07 Oct 2017, 10:15

Что-то написано в логе?
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 07 Oct 2017, 13:11

log куда скрипт сохраняет?
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 07 Oct 2017, 13:15

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

с исправлениями интересно было бы прогнать, думаю сегодня просто распакую и запакую без обновлений посмотрю что выдаст.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 07 Oct 2017, 13:23

Лог выводит в терминал, откуда его можно скопировать. Сжатие состоит из двух этапов, mksquashfs и собственно создание iso:
Code: Select all
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.
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby VictorR2007 » 07 Oct 2017, 14:28

trs wrote:Вот по поводу куда правильно копировать настройки для пользователей, пока не подскажу, до этого не дошёл.

По идее, они в /etc/xdg/
Для plasma5 я туда ложу.
Я меняю файлы с помощью kde-rootactions-servicemenu.
Перед обновлением и установкой добавляю локальные репы в rosa/mnt/home/live/
И зеркала с новыми иксами.
Подключаю такими командами перед обновлением.
Code: Select all
urpmi.addmedia plasma5 /home/live/plasma5/

Перед упаковкой образа удаляю все источники, и заново добавляю официальные и с новыми иксами.
Удаляю репы из /mnt/home/live/
В скрипт такое не запихнуть.
Но у меня что-то образ великоват выходит.
3 с половиной гига.
Может в курсе, как в эту команду сборки добавить степень сжатия?
Code: Select all
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
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4988
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

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

Postby notauser » 07 Oct 2017, 20:33

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 и
Code: Select all
iconv -f UTF8 -t CP866 ./isolinux1.cfg -o ./isolinux.cfg
Last edited by notauser on 07 Oct 2017, 20:51, edited 1 time in total.
notauser
 
Posts: 1018
Joined: 06 May 2012, 20:00

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

Postby VictorR2007 » 07 Oct 2017, 20:41

notauser wrote:mkisofs -iso-level 3 (или даже 4) снимет ограничение 4Gb на размер iso.
Или не понял проблему?

Думал сжать посильнее.
Выше было ещё, что можно забить нулями свободное место.
Нужно посмотреть, где это можно применить самому при создании.
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4988
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

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

Postby trs » 08 Oct 2017, 08:01

VictorR2007 wrote:Я меняю файлы с помощью kde-rootactions-servicemenu.
Перед обновлением и установкой добавляю локальные репы в rosa/mnt/home/live/
И зеркала с новыми иксами.
Подключаю такими командами перед обновлением.
Code: Select all
urpmi.addmedia plasma5 /home/live/plasma5/

Перед упаковкой образа удаляю все источники, и заново добавляю официальные и с новыми иксами.
Удаляю репы из /mnt/home/live/
В скрипт такое не запихнуть.

Почему не запихнуть? Основной скрипт создаёт второй скрипт в корне chroot (а точнее systemd-nspawn окружение) и запускает его на выполнения. Как я понимаю, всё, что можно выполнить руками в этом chroot, должно работать в скрипте.

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

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

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

Postby banzay242 » 08 Oct 2017, 20:00

прогнал скрипт, моя ошибка что запускал не с терминала а открыть в терминале. итог тот же как только выходит (создаем новый образ), вылетает из терминала. запаковка идет как я понял в два этапа:
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby va9(2) » 08 Oct 2017, 20:04

VictorR2007 wrote:у меня что-то образ великоват выходит.
3 с половиной гига.


У меня сейчас тоже образ >3gb получился. Это случилось из-за того что старый squashfs.img удалить забыл.
va9(2)
 
Posts: 85
Joined: 20 Oct 2015, 08:06

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

Postby VictorR2007 » 08 Oct 2017, 22:49

Запустил с очисткой нулями.
Сначала был образ 3.6 Гб, теперь стал 2.4 Гб.
Сначала сделал
Code: Select all
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

И упаковал образ
Code: Select all
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
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4988
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

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

Postby trs » 09 Oct 2017, 08:10

banzay242 wrote:прогнал скрипт, моя ошибка что запускал не с терминала а открыть в терминале. итог тот же как только выходит (создаем новый образ), вылетает из терминала.

Изначально команды набирали вручную в терминале, потому про вариант, что будут запускать мышкой, даже не подумал.
Хорошо бы посмотреть (скопировать), что после "создаем новый образ" написано, наверняка там подробности ошибки.
И скажите, какой образ берёте за основу, так будет проще проверить.
banzay242 wrote: запаковка идет как я понял в два этапа:
genisoimage -JURT -quiet
потом:
xorriso -as mkisofs \
похоже вылетает на этапе genisoimage

«Сжатие состоит из двух этапов, mksquashfs и собственно создание iso»
iso создаётся одной из вышепривёдённых команд, на выбор.
В скрипте есть строка
if (( 0 )) ; then
В даном вариенте в скобках 0, значит работает xorriso.
Если заменить на 1, будет запускаться genisoimage. Этот способ на всякий случай сохранён из предыдущего варианта скрипта, который перепаковывал Android-x86.
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 09 Oct 2017, 18:28

тут 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: команда не найдена
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 09 Oct 2017, 20:06

вот так первая часть скрипта отработала:
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$
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 09 Oct 2017, 20:15

а вот вторая часть вылетает с ошибкой (не работает):
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$
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 09 Oct 2017, 20:56

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

Вот эти определения переменных должны быть добавлены ко второму отрывку, если ничего не упустил:
Code: Select all
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 wrote:а еще -e isolinux/efiboot.img \
не -e EFI/BOOT/ grubia32.efi случайно?

Навряд ли. Это уже было viewtopic.php?f=56&t=8526&p=89013#p88896
banzay242 wrote:и еще при старте скрипта:
bash-4.4$ sh startiso1.sh
startiso1.sh: строка 31: isoinfo: команда не найдена

Code: Select all
$ urpmf isoinfo
man-pages-pl:/usr/share/man/pl/man8/isoinfo.8.xz
cdrkit-isotools:/usr/bin/isoinfo
...

То есть она в пакете cdrkit-isotools
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 10 Oct 2017, 06:40

благодарю! обкатаю и погляжу,
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 из которой собирается образ.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 10 Oct 2017, 07:59

похоже 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
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 10 Oct 2017, 09:00

вторая часть:
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
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 10 Oct 2017, 10:28

Просто добавить в начало
Code: Select all
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'

То есть создаётся копия скрипта, и из середины убираются лишние команды (либо можно их отключить, поместив в начало строки символ #).
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 10 Oct 2017, 19:18

воткнул в начало 2 части скрипта выхлоп выложу, сразу ругнулся isoinfo на кодировку
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 11 Oct 2017, 09:32

кто может написать два скрипта из этих команд:
Первый скрипт:
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
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 11 Oct 2017, 09:55

Вы их уже написали. Скопируете в текстовый файл.
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08

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

Postby banzay242 » 11 Oct 2017, 12:44

вопрос какой командой отобразить ход выполнения команды, все прогнал через echo. два простых скрипта сделал, выложу конечный результат. вопрос зачем обнулять mnt? не проще rm -rf mnt а потом mkdir mnt
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 11 Oct 2017, 14:11

крайнее решение:
Code: Select all
устанавливаем:
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 готово!
Last edited by banzay242 on 18 Oct 2017, 07:44, edited 6 times in total.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby VictorR2007 » 11 Oct 2017, 14:19

banzay242 wrote: вопрос зачем обнулять mnt? не проще rm -rf mnt а потом mkdir mnt

Там обнуляется свободное место, чтобы образ был меньше.
Во всём виноваты русские. Они всем вредят. Всегда. И ещё Путин. Ещё тот гусь. Тоже вредит. Всем. И всех захватывает. Ужас.:)
User avatar
VictorR2007
 
Posts: 4988
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

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

Postby banzay242 » 12 Oct 2017, 17:10

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


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

Postby banzay242 » 12 Oct 2017, 19:45

благодарю всех, за консультацию!
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 02 Nov 2017, 09:09

в результате использую 4 файла:
стартовый (для работы chroot)
финишный (упаковка в iso)
монтирование (не удалять распакованный iso, для постоянного редактирования и обновления chroot)
размонтирование (не удалять распакованный iso, для постоянного редактирования и обновления chroot)
конфиги прилагаются, может кому надо, может кто дополнит.

Code: Select all
#!/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
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby banzay242 » 02 Nov 2017, 09:24

пока не знаю как всунуть в стартовый скрипт urpmi --auto-update urpme --auto-orphans
прописать в крон start.sh | finish.sh
как в finish.sh сделать сохранение в другое место
или в кроне start.sh | finish.sh |cp /....iso/ /var/pxe/....iso/
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby Yuriy Kasterin » 02 Nov 2017, 19:59

а как при этом из lxqt пересобрать, оставив опенбокс? простым удалением task-lxqt и и установкой опенбокс меню, obconf и т.п. много хлама останется, urpme auto-orphans поможет? и как потом раздутый образ уменьшить? хочу маленькую сборку сделать
Yuriy Kasterin
 
Posts: 2
Joined: 30 Apr 2017, 17:48

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

Postby banzay242 » 03 Nov 2017, 13:09

chroot e все удаляется и устанавливается, опенбох в ремозиториях есть удаляешь lxqt и устанавливаешь опенбох. mc в chroot работает. щас две сборки одна полная набитая всем и вся, другая минимальная один браузер. когда удаляется внимательно смотреть надо что удаляется и устанавливается. например с собой если sddm тянет, значит приветсвие не увидишь.
banzay242
 
Posts: 323
Joined: 18 Aug 2017, 10:50

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

Postby trs » 03 Nov 2017, 16:45

Можно установить систему (например в виртуальную машину) и там поэкспериментировать с установкой и удалением пакетов, записывая действия.

Раздутый образ можно уменьшить, создав на файловой системе файл максимального размера и содержащий нули, после удалив его:
Code: Select all
sudo cp /dev/zero $SYSTEM_ROOT/free_space 2> /dev/null
sudo rm $SYSTEM_ROOT/free_space

Правильнее было бы уменьшить размер образа до минимума, затем увеличить - утилитой resize2fs.
trs
 
Posts: 1769
Joined: 07 Sep 2015, 16:08


Return to Обсуждение ROSA Fresh R9 (платформа 2016.1)

Who is online

Users browsing this forum: Bing [Bot] and 3 guests