Идеята на този вид инсталация е да имате възможност за boot на tinycore който сте променили по ваш вкус или пък сте оставили в оригиналният му вид.
Това което можете да постигнете е:
- persistance
- минимална употреба на ram
- възможност за предварително интегриране на пакети и настройка в tinycore
Стъпка по стъпка:
1. Изтегляме си последната версия на tinycore
2. Променяме дистрибуцията по наш вкус:
- отваряме iso файла:
mount -o loop tinycore-current.iso /mnt/
- копираме съдържанието в предварително създадена за целта директория (аз съм я кръстил newiso)
cp -R /mnt/* /home/peach/newiso
- създаваме си директория tce в newiso (използва се за поставяне на пакети и конфигурация на поведението при зареждането на пакетите)
- създаваме директория в tce с име optional и вътре поставяме пакетите (с разширение tcz - пакети можете да намерите в http://distro.ibiblio.org/tinycorelinux/3.x/tcz/ - само имайте грижата да поставите и депендънситата на избраните пакети)
- в директорията tce поставяме файловете:
onboot.lst в който описваме пакетите които искаме да се инсталират при boot
copy2fs.flg - с празно съдържание ако искаме всички пакети да се копират в /opt (ЗАБЕЛЕЖКА: в зависимост от последващата конфигурация /opt може да се намира и в рам-а така че съответният флаг файл е важен ако искаме новото ни tiny да работи и без USB/CDROM/HDD/NFS след като веднъж стартира copy2fs.lst - ако искаме само някой от пакетите да се заредят в трайно в /opt ги описваме тук ( при това положение flg файла не е нужен.
- за да правим промени по init файла трябва първо да го декомпресираме и разархивираме (направете си отделна директория за него пр. /home/peach/newinit)
cp /home/peach/newiso/boot/tinycore.gz /home/peach/newinit
cd /home/peach/newinit
gunzip tinycore.gz
cpio -idm < tinycore
.
правим промени каквито ни се искат
.
и идва ред да пакетираме init-a
find ./ | cpio -H newc -o > ../tinycore2
gzip tinycore2
копираме новият инит на мястото на стария в boot
cp /home/peach/tinycore2.gz /home/peach/newiso/boot/tinycore.gz
до тук сме променили инита като сме му сложили конфигурации и файлове каквито са ни нужни, също така сме поставили пакети които ще се зареждат (или не при стартиране).
В този момент ако искате да произведете iso за да го напишете на диск или да използвате UNetBootin за създаване на boot девайс трябва да изпълните следната команда:
mkisofs -l -J -V TC-custom \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-o TC-remastered.iso newiso
С това получаваме новото iso с промени и пакети по наш вкус.
3.Тази точка покрива направата на boot девайс по старомодният начин което дава определени екстри като лесен механизъм за промяна на пакетите и като цяло boot процеса
Оригинален източник: http://fragilematter.blogspot.com/2010/09/installing-tiny-core-linux-on-usb-drive.html
3.1 подготвяме диска/USB-то
fdisk /dev/sdX
C - спира dos compatiability
U - започва да показва всичко в сектори вместо цилиндри
О - правим нов partition table
N - нов partition
P - primary
1 - първи
Т - тип на партишъна
83 - linux тип
А - active
1 - нашият (става активен)
W - записваме промените (ще ви изтрие всичко на медията която ползвате така че ако има нещо важно по-добре си направете backup)
Сега след като имаме партишън е време да му направим файлова система ext2 отгоре:
mkfs.ext2 -L "tc" /dev/sdX1
правим файлова система с лейбъл tc - това можете да промените по ваш вкус
за да сме сигурни че ядрото е наясно с промените монтираме и демонтираме партишъна
mount /dev/sdX1 /mnt
eject sdX1 или umount /dev/sdX1
Ако сте следвали предишните стъпки за промени по iso-то или поне копирането му в директория newiso следва да преместим нещата съдържащи се в него на подготвеният партишън (който отново ще монтираме - за целта предполагам че ващата дистрибуция автоматично го е монтирала в /media/tc)
cp -R /home/peach/newiso/boot /media/tc/
cd /media/tc/boot/
mv isolinux extlinux
mv extlinux/isolinux.cfg extlinux/extlinux.conf
rm extlinux/isolinux.bin
cp -R /home/peach/newiso/tce /media/tc/ (ако не сме я създавали в newiso можем да я направим директно в /media/tc)
mkdir /media/tc/opt
blkid -s UUID /dev/sdX1 (това ще ни даде стринг във вида /dev/sdX1: UUID="{some long string})
копирайте частта UUID="{some long string} защото ще я използваме.
Отворете extlinux/extlinux.conf в любимият си текстов едитор и на реда започващ с append initrd= накрая добавете
waitusb=5 tce=UUID="..." restore=UUID="..." home=UUID="..." opt=UUID="..."
като на мястото на UUID="..." сложете стринга копиран след изпълнението на blkid командата.
тези опции указват:
waitusb=5 - ще изчака 5 секунди преди да потърси usb-то (това се налага в случай че устройството не се инициализира достъчно бързо)
tce=.. - къде е tce директорията
restore=.. - къде tinycore ще запазва рестор файловете си
home=... - същото за home директорията
opt=.. - и opt директорията
имайте предвид че ако искате дистрибуцията да се зарежда изцяло в паметта трябва да махнете restore,home и opt опциите и да добавите copy2fs.flg в tce директорията
можете да добавите и други опции (описани са в boot/isolinux или boot/extlinux ако вече сте я преименували във файловете f2, f3 и f4)
почети сме готови остава само да си гарантираме че устройството ще е boot-ващо
extlinux -i /media/tc/boot/extlinux (изисква инсталиран пакет syslinux)
cat /usr/share/syslinux/mbr.bin > /dev/sdX - инсталираме MBR на устройството (файла mbr.bin може да се намира на друго място във вашата дистрибуция)
С това сме готови остава единствено да демонтираме устройството и да запалим от него
eject tc
Успех и честито на притежателите на ново,променено по собствен вкус и с пакети по собствен избор boot-ващо от USB - tinycore.
Няма коментари:
Публикуване на коментар