zepete: (Default)
[personal profile] zepete

Десять лет назад был диск Movix для этих целей, но сейчас этот проек заброшен. Поэтому видео и звук компьютеров выпущенных после 2005 года, он поддерживать не будет.

Моя попытка создать такой диск при помощи BartPE не увенчалась успехом: он не проигрывал звук. Как ее решить я не знаю.
Поэтому я создал такой live cd на основе knoppix.

Для этого надо иметь.
1. KNOPPIX_V7.2.0CD-2013-06-16-EN;
2. Виртуальную машину, я использовал vmware player;
3. Редактор iso, я использовал ultra iso.
4. Реальный или виртуальный dvd пишущий привод с dvd-rw диском, я использовал программу phantom drive, хотя может подойти еще VirtualCD, KernSafe Total не подходит - он не умеет создавать загрузочные образы. Хотя можно на него записать iso файл, а потом его подсунуть виртуальной машине как диск №1. Виртуальный привод работает быстрее.
5. Текстовый редактор умеющий в конце строк ставить <LF> вместо пары <CR><LF>. Я использовал notepad++.

Редактор iso и виртуальный пишущий привод есть в deamon tools ultra, работоспособность не проверял.

Этапы создания.
1. Создание iso файла со своими скриптами, которые будут автоматизировать работу в knoppix.
Они нужны для того, что бы не вбивать каждый раз такие последовательности команд.

#! /bin/sh
# krhowto_1
# Path to partition you will work on
PFAD="/media/sda1"
START=$(date +'%s')
# Disable screensaver
xscreensaver-command -exit
# One sub-directory will be used for the Master-CD
mkdir -p $PFAD/knx/master
cd $PFAD/knx
# You will need a swapfile
dd if=/dev/zero of=swapfile bs=1M count=500
mkswap swapfile ; swapon swapfile
# Make a sub-directory for the source
mkdir -p $PFAD/knx/source/KNOPPIX
echo "Copy the KNOPPIX files to your source directory."
echo "This will take a long time!"
cp -rp /KNOPPIX/* $PFAD/knx/source/KNOPPIX
# Additionally, copy the files to build the ISO later
rsync -aH --exclude="KNOPPIX/KNOPPIX*" /mnt-system/* $PFAD/knx/master
# gunzip inital RAM-disk
mkdir -p $PFAD/knx/minirt/minirtdir
cp $PFAD/knx/master/boot/isolinux/minirt.gz $PFAD/knx/minirt/
cd $PFAD/knx/minirt/
gunzip minirt.gz
cd minirtdir
cpio -imd --no-absolute-filenames < ../minirt
# Enable screensaver
su knoppix -c "xscreensaver -nosplash &"
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
    and $(expr $(expr $(date +'%s') - $START) % 60) sec."

Этот код взят с wiki konoppix.
Подробно скрипты опишу ниже.

2. Создание виртуальной машины и первая загрузка knoppix.
Виртуальную машину с тремя виртуальными проигрывателями CD и hdd на 40ГБ.
Назначение приводов:
№1 - загрузочный, в него каждый раз будет вставляться загрузочный диск;
№2 - в него будет записываться новый LiveCD, поэтому это должен быть либо реальный привод dvd-rw - либо виртуальный пишущий привод;
№3 - с скриптами автоматизирующими процесс переделки (remastering).
Последовательность оптических приводов должна быть именно такая, если перепутать привод №2 c №3, то knoppix откажется "прожигать" диск.
Для HDD желательно выделить около 40ГБ, ибо при рекомендуемых 5 ГБ, у меня появлялась ошибка нехватки места. Все ниже приведенные скрипты ориентируются не этот размер HDD, если его будет меньше, то их надо будет править.
Попробовать загрузиться с этой виртуальной машины.
В время загрузки виртуальной машины, когда будет экран VMWARE, нажать для постоянного выбора загрузки с компакт диска.

Тогда появится голубой экран, типичный для PhoenixBIOS.

В меню "Boot", при помощи кнопки <+>, подвинуть на первую строчку "CD-ROM Drive", нажать <F10> и <ввод> для подтверждения изменения настроек.

Когда полностью загрузится knoppix, то нажать кнопку с черным экраном внизу окна, для запуска оконного терминала.

Можно еще запустить полноэкранный терминал нажатем <Ctrl><Alt>+<F1...F4>, но возврат из него в оконный режим осуществляется нажатем <Alt>+<F5>, а не нажатием <Alt>+<F7>, как в обычном linux.

Теперь для проверки наличия CD и HDD, после команды su, для root доступа, набрать fdisk -l (покажет наличие устройства sda1), mount /dev/sr2 (монтирование привода со скриптами), ls /dev/sr2 (просмотр содержимого диска с настройками, wodim --devices (просмотр наличия пишущего привода).

Как видно, новые устройства монтируются в папку /media, винчестеру присваивается имя /dev/sda, пишущему приводу /dev/scd1, а привод с моими скриптами /dev/sr2, который, по умолчанию, монтируется в папку /media/sr2. Правда сам диск knoppix смонтирован не в /media/sr0, как следовало ожидать, а в /mnt-system.

Выключать виртуальную машину командой restart нельзя, ибо в этом случае в следующий раз виртуальная машина не загрузится, ибо привод компакт дисков будет отключен.

3. Перенос файловой системы на HDD.
Процесс аналогичен описанному мной в процедуре переноса файловой системы роутора TL-MR3020 на флешку.
Для его реализации, я написал скрипт с названием install.sh, который является суперпозицией скрипта из поста про tl-mr3020 (оттуда взял процедуру форматирования диска) и описанного в wiki knoppix.
Назначение скрипта:
-проверка на пользователя root;
-форматирование винчестера на два раздела: один для корневой системы (sda1), а другой для подкачи (sda5);
-монтирование sda1 и раздела подкачки (SDA5);
-копирование файловой системы на /media/sda1/knx/source/KNOPPIX, как описано в wiki;
-копирование файлов из sr в разные папки на hdd;
-редактирует файл /media/sda1/knx/source/KNOPPIX?etc/profile для запуска моих скриптов без указания каталога;
-изменение корневого раздела.

Скрипт install.sh
#!/bin/sh
#**********************************************************************************
#*скрипт переносящий файловую систему knoppix на hdd, для создания своего LiveCD  *
#*создан на основе кода из wiki knoppix                                           *
#*27 января 2015 года, zepete.livejournal.com                                     *
#**********************************************************************************
#!/bin/sh
# krhowto_1 
# Path to partition you will work on
if [ "$(whoami)" != "root" ] ; then
 echo 'Before run "install.sh", need execute "su"!'
 exit 1
fi
umount /dev/sda1; swapoff /dev/sda5
fdisk /dev/sda<<EOF
o
n
p
1
+35G
t
1
83
n
e
2
n
l
t
5
82
w
EOF
until mkfs /dev/sda1 ; do echo >/dev/zero; done
until mkswap /dev/sda5 ; do echo >/dev/zero; done
mount /dev/sda1
swapon /dev/sda5
mount /dev/sr2
/etc/init.d/networking stop
PFAD="/media/sda1"
START=$(date +'%s')
# Disable screensaver
xscreensaver-command -exit
# One sub-directory will be used for the Master-CD
mkdir -p $PFAD/knx/master
cd $PFAD/knx
# You will need a swapfile
#dd if=/dev/zero of=swapfile bs=1M count=500
#mkswap swapfile ; swapon swapfile
# Make a sub-directory for the source
mkdir -p $PFAD/knx/source/KNOPPIX
echo "Copy the KNOPPIX files to your source directory."
echo "This will take a long time!"
cp -rp /KNOPPIX/* $PFAD/knx/source/KNOPPIX
# Additionally, copy the files to build the ISO later
rsync -aH --exclude="KNOPPIX/KNOPPIX*" /mnt-system/* $PFAD/knx/master
# gunzip inital RAM-disk
mkdir -p $PFAD/knx/minirt/minirtdir
cp $PFAD/knx/master/boot/isolinux/minirt.gz $PFAD/knx/minirt/
cd $PFAD/knx/minirt/
gunzip minirt.gz
cd minirtdir
cpio -imd --no-absolute-filenames < ../minirt
# Enable screensaver
su knoppix -c "xscreensaver -nosplash &"
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
  and $(expr $(expr $(date +'%s') - $START) % 60) sec."
  
if ! grep -q 'zepete' $PFAD/knx/source/KNOPPIX/etc/profile
then
# TEMP_FILE=/tmp/profile$RANDOM
 sed -i 's/^\([ ]*PATH="[^:]*:[^:]*:[^:]*:.*[^:]\)"/\1:\/sbin\/zepete"/' $PFAD/knx/source/KNOPPIX/etc/profile
# cp TEMP_FILE $PFAD/knx/source/KNOPPIX/etc/profile
# rm TEMP_FILE
fi
rm -rf $PFAD/knx/source/KNOPPIX/sbin/zepete/*
mkdir $PFAD/knx/source/KNOPPIX/sbin/zepete
cp /media/sr2/*.sh $PFAD/knx/source/KNOPPIX/sbin/zepete
chmod 777 $PFAD/knx/source/KNOPPIX/sbin/zepete/*.sh
rm -rf $PFAD/knx/source/KNOPPIX/etc/xdg/autostart/*
cp /media/sr2/*.desktop $PFAD/knx/source/KNOPPIX/etc/xdg/autostart
chmod 666 $PFAD/knx/source/KNOPPIX/etc/xdg/autostart/*.desktop
cp /media/sr2/shutdown.ogg $PFAD/knx/source/KNOPPIX/usr/share/sounds # sound play on switch on
cp /media/sr2/startup.ogg $PFAD/knx/source/KNOPPIX/usr/share/sounds # sound play on shutdown
# To use the Internet add your nameserver into the chroot folder
cp /etc/resolv.conf $PFAD/knx/source/KNOPPIX/etc/resolv.conf
# Allow X-based programs in chroot
[ -e $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority ] \
   && rm $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority
cp /home/knoppix/.Xauthority $PFAD/knx/source/KNOPPIX/home/knoppix
chown knoppix:knoppix $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority
# prepare enviroment for chroot
mount --bind /dev $PFAD/knx/source/KNOPPIX/dev
mount -t proc proc $PFAD/knx/source/KNOPPIX/proc
mount -t sysfs sysfs $PFAD/knx/source/KNOPPIX/sys
mount --bind /dev/pts $PFAD/knx/source/KNOPPIX/dev/pts
mount --bind /tmp $PFAD/knx/source/KNOPPIX/tmp
chroot /media/sda1/knx/source/KNOPPIX


Несколько замечаний.
1. В вике написано, что надо создавать файл подкачки, но файл подкачки не хочет монтироваться командой swapon, поэтому я его заменил на раздел подкачки;
2. В вике сказано, что пользовательские скрипты надо помещать в файл '/media/sda1/knx/master/KNOPPIX/knoppix.sh, но этот файл запускает до startx, потому что он запускается из /etc/init.d/knoppix-autoconfig, который вызывается первым в /etc/inittab (там есть строка "si::sysinit:/etc/init.d/knoppix-autoconfig", что она означаетописано здесь), надо помещать в ярлык размещенный в каталоге /etc/xdg/autostart. Формат ярлыка описан здесь.

Фрагмент /etc/inittab
<...>
si::sysinit:/etc/init.d/knoppix-autoconfig
<...>
# Xmode in runlevel 5
x1:5:respawn:etc/init.d/knoppix-startx start
<...>
Фрагмент /etc/init.d/knoppix-startx
<...>
#Start function
start(){
<...>
su -l -c "export STARTUP=$STARTUP ; exec /usr/bin/startx -- vt5 -dpi "$DPI" -br -noreset -nolisten tcp" "$USER" <DEV tty5="tty5">/dev/tty5 2>&1 ; RC="$?"
<...>
}
<...>
#MAIN
#Not used, start right after knoppix-autoconfig
#wait config
<...>
case "$1" in
 start)   start  ;;
 stop)   stop  ;;
 restart)  stop;  sleep 4
<...>
esac
exit $?


Фрагмент /etc/init.d/knoppix-autoconfig
<...>
#Execute user-defined knoppix.sh on our boot medium
[ -n "$knoppix_dir" ] || knoppix_dir="KNOPPIX"
for knoppixsh in /mnt-system/"$knoppix_dir"/knoppix.sh;  do
 if  [ -r "$knoppixsh"  ];   then
  echo -e "\n\e\033[1mExecuting $knoppixsh.\033[0m"
  .   "$knoppixsh"
 fi
done

:  End of /etc/init.d/knoppix-autoconfig and leave with true status



Файл ярлыка (текстовый файл с расширением .desktop) помещаемый в /knx/source/KNOPPIX/etc/xdg/autostart.

[Desktop Entry]
Type=Application                          # Indicates the type as listed above
Version=1.0                               # The version of the desktop entry specification to which this file complies
Name=Mplayer                              # The name of the application
GenericName=Player multimedia files       # Generic name of the application
Comment=Player multimedia files           # A comment which can/will be used as a tooltip
Exec=/sbin/zepete/player.sh               # The executable of the application.
Terminal=false                            # Describes whether this application needs to be run in a terminal or not
Categories=Education; autostart;          # Describes the categories in which this entry should be shown

3. При включении/выключении я слышу "мишель старт секвенс"/"мишель ин шутдаун секвенс", в интернетах пишут, что говорит "initiating starting sequence"/"initiating shutdown sequence". Кто прав я не знаю, но эта речь размещена в файлах /usr/share/sounds/startup.ogg и /usr/share/sounds/shutdown.ogg. Замену их я прописал в своем скрипте init.sh. Перекодировать звук в ogg можно XMediaRecode, описанное мной ранее.

4. Настройка knoppix.
Здесь я опишу самый главный скрипт, который будет вызываться из ярлыка описанного в предыдущем пункте.
Он сначала пробует запустить любые файлы из каталога audio_video, если их там не находит, то пробует найти правильный каталог VIDEO_TS от dvd-видео диска. Если его не находит, то пробует проигрывать файлы с расширением iso, как образ dvd-видео диска, если фала такого не находит, то пробует проиграть все файлы, имена которых содержатся в файле playlist.mpl, в котором каждая строчка - это путь к одному файлу. Если его не находит, то составляет свой список видео и аудио файлов с правильными расширениями, который потом пытается проиграть.

Текст скрипта player.sh.
#!/bin/sh
########################################################################################
# batch for running player of video and audio files in konppix                         #
# may playing files in dir /mnt-system/audio_video with any extensions.                #
# If it dir is empty or missing, then searching files playlist.mpl in /mnt-system with #
# playlist.                                                                            #
#                                                                                      #
# If it file is missing or empty, then searching iso file, witch will be mount for     #
# playing as dvd. If iso is lot, then playing first finded.                            #
#                                                                                      #
# If iso can not playing, then searching file with extension 3ga,3gp,3g2,3gp2,3gpp,    #
# 3gpp2,3p2,aac,ac3,asf,avi,act,pva,avchd,bsf,,dv,jts,h264,264,                        #
# irf,kmv,k3g,mj2,mjp,mjpg,mka,mkv,mk3d,mov,moov,movie,mp3,mp4,mp4v,f4v,mpeg4,m4e,     #
# m4a,m4b,mpc,y4m,m15,m1v,m21,m2a,m2v,m75,mp21,mp2v,mpe,mpeg,mpeg1,mpg,mpv,mpv2,m1a,   #
# mp1,mp2,mpa,mpga,mpu,mqv,mts,nut,nuv,oga,ogg,spx,mogg,ogm,ogv,pcm,qt,qtch,           #
# qtm,ssm,rts,rm,rmd,rms,rmvb,rv,r1m,ra,ram,rax,rmj,rmx,rvx,roq,ts,hdmov,vcd,viv,vivo, #
# vob,webm,wma,wm,wmv,wtv and play it                                                  #
#                                                                                      #
# Script wrote zepete, in January 2015 year. Read "zepete.livejournal.com"             #
########################################################################################


declare -l -r video_extension="264 3gp 3g2 3gp2 3gpp 3gpp2 3p2 asf avi avchd bsf \
 dv h264 hdmov irf jts kmv k3g m15 m1v m21 m2a m2v m75 mp21 mp2v mp4v mpe mpeg mpeg1 \
 mpg mpv mpv2 mj2 mjp mkv mpeg4 mk3d m4e mjpg mov moov movie mqv mts nut nuv ogm ogv \
 pva qt qtch qtm rts rmd rm rv rms rmvb roq ssm ts vcd viv vivo vob webm wm wmv wtv \
 y4m"
declare -l -r audio_extension="3ga aac ac3 act mka mp3 m4a m4b mpc m1a mp1 mp2 \
 mpa mpga mpu mogg oga ogg spx pcm r1m ra ram rax rmj rmx rvx wma wav"
# sysctl dev/rtc/max-user-freq=1024

declare -r mplayer_keys="-vo gl -msglevel all=-1 -msgmodule -quiet -fixed-vo -loop 0 -rtc -ontop -fs"

cd /mnt-system # root dir of booting cd/dvd
# try playing filrs in audio_video
DIR=`find -maxdepth 1 -iname audio_video -type d`
VIDEO_TS=`find -maxdepth 1 -iname VIDEO_TS -type d`
ISO=`find -maxdepth 1 -iname *.iso -type d`
PLAYLIST=`find -maxdepth 1 -iname playlist.mpl -type d`
if [ $DIR ]; then
	cd $DIR
	if [ `find . -maxdepth 1 -type f -size +1c | wc -l` ]; then
		# play all find files in alphabet sequence
		if mplayer $mplayer_keys * ; then exit 0; fi
		zenity --error --text="Error play files in folder $DIR" ; exit 1
	fi
elif [ $VIDEO_TS ]; then
	cd $VIDEO_TS
	if [ `find . -iname *.VOB -maxdepth 1 -type f -size +1c | wc -l` -a \
	     `find . -iname *.BUP -maxdepth 1 -type f -size +1c | wc -l` -a \
	     `find . -iname *.IFO -maxdepth 1 -type f -size +1c | wc -l` ]; then
		if mplayer $mplayer_keys -dvd-device ./ dvd:// ; then exit 0; fi
		zenity --error --text="Error play $VIDEO_TS" ; exit 2
	fi
elif [ $ISO ]; then
	if mplayer $mplayer_keys -dvd-device $ISO dvd:// ; then exit 0; fi
    zenity --error --text="Error playing $ISO"
elif [ $PLAYLIST ]; then
	if mplayer $mplayer_keys -playlist $PLAYLIST ; then exit 0; fi
    zenity --error --text="Error playing $PLAYLIST"	
else
	# making playlist from files with true video and audio extension
	TEMP_FILE=`mktemp XXXXXX.PlayList`
	for ext in $video_extension ; do
		find . --maxdepth 1 -type f -iname *.$ext -size +1c | sort >> $TEMP_FILE
	done
	for ext in $audio_extension ; do
		find . --maxdepth 1 -type f -iname *.$ext -size +1c | sort >> $TEMP_FILE
	done
	mplayer $mplayer_keys -playlist $TEMP_FILE
	let ret=$?
	rm -f $TEMP_FILE
	if [ ret eq 0 ]; then exit 0; fi
	zenity --error --text="Error playing files in root"
fi






Замечания.
1. Все комментарии на ломаном английском, ибо knoppix, по умолчанию, не умеет писать русскими буквами, а это самый важный скрипт, который выполняет всю работу.
2. В качестве устройства вывода использую gl, ибо остальные не работают или не умеют растягивать изображение на весь экран (x11), с глюками (gl2) или выводят в виде букв (aa).
3. Вызываю его из x11/metacity/lxde, ибо в текстовом режиме mplayer не хочет работать.
4. Описание ключей mplayer:
-dvd-device - указание пути к смонтированному dvd-видео диску или его образу;
dvd:// - раздел с котого начианет проигрывание, если не указан, то проигрывает с начала;
-loop 0 - проигрывать циклически и неограниченно долго;
-playlist <имя файла> - указание плейлиста, в которой каждая строчка - это путь к конкретному файлу;
-vo gl - указание видеодрайвера;
-msglevel all=-1 -msgmodule -quiet - не выводить сообщения;
-fixed-vo - все играть в одном окне;
-rtc -синхронизацию изображения со звуком производить по часам точного времени;
-ontop - поверх всех окон;
-fs - растянуть на весть экран.
5. Какие расширения должен уметь проигрывать mplayer я взял сопоставив этого, этого и этого.

Кроме этого, здесь можно еще заменить фон, удалить/установить приложения, добавить/убрать ярлыки, разрешение экрана..... Но это опишу в следующий раз, ибо это делать не обязательно. Сейчас только самый минимум.

5. Возвращение файловой системы назад к cd.
Для этого использовал скрипт почерпнутый из wiki, практически без изменений. Добавил только проверку на root. Перед его исполнение надо нажать +.

Файл freehdd.sh
#! /bin/sh
# krhowto_3
# Path to partition you will work on
if [ "$(whoami)" != "root" ]; then
	echo 'Before run "install.sh", need execute "su"!'
	exit 1
fi
PFAD="/media/sda1"

for i in dev/pts proc sys dev tmp; do
  umount $PFAD/knx/source/KNOPPIX/$i
done
sed -i '2,$d' $PFAD/knx/source/KNOPPIX/etc/resolv.conf



6. Издевательства над загрузчиком.

В папке '/media/sda1/knx/master/boot/isolinux хранится рапакованный загрузчик. В нем можно заменить надпись "welcome", картинку пингвина с 4 крыльями магические коды загрузки. Опишу в следующий раз.

7. Создание iso образа.
Скрипт взял полностью из wiki.

Файл makeiso.sh
#!/bin/sh
# krhowto_4
# Path to partition you will work on
PFAD="/media/sda1"
START=$(date +'%s')
# Disable screensaver
xscreensaver-command -exit
# Build new inital RAM-disk
cd $PFAD/knx/minirt/minirtdir/
find . | cpio -oH newc | gzip -9 > ../minirt.gz
cp $PFAD/knx/minirt/minirt.gz $PFAD/knx/master/boot/isolinux/
# Make the big  compressed filesystem KNOPPIX
#input-charset ISO-8859-15 кодировка символов файловой системы
genisoimage -input-charset ISO-8859-15 -R -l -D -V KNOPPIX_FS -quiet \
  -no-split-symlink-components -no-split-symlink-fields \
  -hide-rr-moved -cache-inodes $PFAD/knx/source/KNOPPIX \
  | /usr/sbin/create_compressed_fs -q -B 65536 -t 8 -L 9 \
  -f $PFAD/knx/isotemp - $PFAD/knx/master/KNOPPIX/KNOPPIX

# Update the file hashes used by the "testcd" boot option
cd $PFAD/knx/master ; find -type f -not -name \
  sha1sums -not -name boot.cat -not \
  -name isolinux.bin -exec sha1sum '{}' \; > KNOPPIX/sha1sums
# Create new Knoppix ISO
genisoimage -l -r -J -V "KNOPPIX" \
  -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \
  -boot-info-table -c boot/isolinux/boot.cat \
  -o $PFAD/knx/remastered.iso $PFAD/knx/master
# Enable screensaver
su knoppix -c "xscreensaver -nosplash &"
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
  and $(expr $(expr $(date +'%s') - $START) % 60) sec. \
  \n\nThe new ISO is stored in '$PFAD/knx/remastered.iso' "

Процесс длительный, поэтому его можно использовать на тестирование производительности виртуальных машин.

7. Запись образа на болванку.
Можно производить как программой brasero с gui интерфейсом, так и с командной строки. Я для этого создал такой скрипт, ибо я пакет brasero удалил.

Файл burncd.sh
#!/bin/sh
PFAD="/media/sda1"
growisofs -Z /dev/scd1=$PFAD/knx/remastered.iso

Если надо записывать, просто, файлы на диск, то можно использовать такой скрипт.

Файл burnfiles.sh
#!/bin/sh
PFAD="/media/sda1"
# background file
for i in jpg png gif; do
 FILELIST="/usr/local/lib/knoppix"."$i"
 if [ -r $FILELIST ]; then break; else FILELIST=""; fi
done
FILELIST=$FILELIST" "`find /usr/share/sounds              -maxdepth 1 -name startup.ogg    -type f -size +1c` #startup music
FILELIST=$FILELIST" "`find /usr/share/sounds              -maxdepth 1 -name shutdown.ogg   -type f -size +1c` #shutdown music
FILELIST=$FILELIST" "`find $PFAD/knx/master/boot/isolinux -maxdepth 1 -name f3             -type f -size +1c` #help about <F3> on booting
FILELIST=$FILELIST" "`find $PFAD/knx/master/boot/isolinux -maxdepth 1 -name f2             -type f -size +1c` #help about <F2> on booting
FILELIST=$FILELIST" "`find $PFAD/knx/master/boot/isolinux -maxdepth 1 -name logo.16        -type f -size +1c` #picture on booting
FILELIST=$FILELIST" "`find $PFAD/knx/master/boot/isolinux -maxdepth 1 -name isolinux.cfg   -type f -size +1c` #config booting
FILELIST=$FILELIST" "`find $PFAD/knx/master/boot/isolinux -maxdepth 1 -name boot.msg       -type f -size +1c` #msg on bottom boot screen
FILELIST=$FILELIST" "`find $PFAD/knx/minirt/minirtdir     -maxdepth 1 -name init           -type f -size +1c` #welcome message
FILELIST=$FILELIST" "`find $PFAD/knx                      -maxdepth 1 -name remastered.iso -type f -size +1c` #out iso
growisofs -Z /dev/scd1 $PFAD/knx/remastered.iso $FILELIST



Описание файлов:
remastered.iso - новый образ диска;
boot.msg - надпись внизу экрана при загрузке;
isolinux.cfg - меню загрузки;
logo.16 - пингвин с 4 лапами и 4 крыльями, который появляется при загрузке;
f2 - сообщение появляемое при нажатии <F2> при загрузке;
f3 - справка по магическим ключам командной строки;
shutdown.ogg - звук при выключении;
startup.ogg - звук при включении;
knoppix.* - фоновый экран.


8. Добавление/удаление видео на/с диск(а).
Теперь при желании можно добавить/удалить видеофайлы на этот диск.
Я это делал в ultraiso. Видео добавляется одним из способов:
-в корневой каталог;
-в каталог audio_video;
-iso образ dvd-video диска в корневой каталог;
-папка video_ts с dvd-video диска в корневой каталог;
-в корневой каталог плейлист с путями к файлам помещенным в любую папку.

9. Проверка работоспособности диска.
Для этого iso файл полученный на этапе 7-8 поместить в привод №1 виртуальной машины, а в №2 подставить "болванку", лучше виртуальную.
Загрузить виртуальную машину и поработать с ней, если все будет работать, то можно переходить к проверке на реальном компьютере.

Profile

zepete: (Default)
zepete

January 2026

S M T W T F S
    1 23
4 56 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 12:18 am
Powered by Dreamwidth Studios