1. Запрет на выгрузку ланчера из памяти ro.HOME_APP_ADJ=1. 2. Сохранение jpg в 100. Init.d (требуется прошивка с доступом к init.d и busybox, открываем пустой файл, вставляем.. Gothic ½ — SystemPack http:// patches /G2/ systempack/image/SystemPack-00.png Ресурсы портала: Говорю про фал размером 2610620 байт. Все книги/записки в игре пустые. Главная > Связь > Волоконно-Оптического Оборудования > Новый дизайн 24 порт пустой волокна патч-панели.. Ragnarok 2 - News - Patch Notes: July 25, 2016. И чем тебе так нравится этот патч? Чисто под донат. Бред какой-то, похоже на пустые шалости. Если появится пустой экран, значит все в порядке, в противном случае вам следует открыть нужные A: Запустите patcher.exe и пропатчите клиент. . Патч unionfs можно скачать от сюда. нашего рамдиска (initrd), сначала просто сгенерировав пустой файл заданного размера, а потом .
Код просто скопировать создать пустой файл в init.d, закинуть туда, присвоить права файлу и ребутнуть девайс. Найду еще что . Примечание: Этот патч также будет обновить: * ARMA 2 1.05 до 1.11. [ 93415] Исправлено: пустой weaponHolder не удаляется, когда используется удаленный игрок. Если ты про это arma2.ruserv.net. Абрамс.
Патч пустой какой то, по сути ничего не поменяли. Mauser452 со времен оригинальной РО2, наблюдался прогресс в строну реалистичности или нет?
Создание initrd с unionfs — Belgorod Linux User Group. Материал из Belgorod Linux User Group - Белгород Цель Загрузка операционной системы с использованием unionfs в качестве корневой файловой системы (rootfs). О unionfs Стековая файловая система. Призвана объединять несколько смонтированных файловых систем в одну логическую, где каждый слой имеет свои приоритеты и права на чтение / запись. Мы будем использовать ее для объединения файловой системы доступной только для чтения (RO) с перезаписываемой файловой системой (RW).
Такой подход используется на многих Live. CD и USB загрузочных образах, когда необходим образ Linux в режиме RO (иногда даже физически, к примеру на CD) и перезаписываемая часть, с возможностью сохранения изменений (USB flash к примеру или RW часть на CD). Этот же метод используется компанией ASUS для своих ноутбуков Eee PC с операционной системой Xandros, позволяя хранить заводской образ всегда доступным и неизменным (RO) и пользовательский изменения, обновления, накладываемые на перезаписываемую часть. При таком использовании файловые системы накладываются как "калька" - одна на другую. Мы видим доступную файловую систему (физически являющуюся RO образом (squashfs, cramfs и т. RO носителе) и можем вносить в нее изменения, которые физически накладываются на перезаписываемый носитель.
О initrd initrd призван решить проблему курицы и яйца для модульного ядра: для монтирования файловой системы необходим модуль для работы с диском и файловой системой, а для чтения модуля необходима файловая система, с которой этот модуль читается. Мы будем использовать initrd для подготовки объединенной файловой системы (unionfs) в качестве корневой для системы (root file system). Создание Образ файловой системы init ram disk- а будет храниться в памяти. По этому он должен быть как можно меньше.
Но в тоже время он должен хранить необходимый для выполнения своего функционала минимум. Образ может быть как сжатым в gzip так и в cpio или любым другим способом, доступным ядру - это на ваш выбор. Я буду использовать файловую систему ext. Ядро unionfs В ядре целевой файловой системы необходимо включить поддержку блочных устройств, initrd и наложить патч поддержки unionfs. CONFIG_BLK_DEV_INITRD=y. CONFIG_RD_GZIP=y.
CONFIG_BLK_DEV=y. CONFIG_BLK_DEV_LOOP=y. CONFIG_BLK_DEV_RAM=y. CONFIG_BLK_DEV_RAM_SIZE=1. Патч unionfs можно скачать от сюда: http: //www.
Ну и включить unionfs в ядре. CONFIG_UNION_FS=y. Скачиваем. cvs - q - f - z. P yaffs. 2. ./patch- ker. Выставляем поддержку. CONFIG_YAFFS_FS=y. CONFIG_YAFFS_YAFFS1=y.
CONFIG_YAFFS_YAFFS2=y. CONFIG_YAFFS_AUTO_YAFFS2=y.
CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y. Образ Образ будем монтировать в директорию /mnt/initrd, по этому ее надо создать на машине, на которой будет изготавливаться образ. Описание порядка создания образа initrd будет максимально приближено к готовому скрипту создания этого образа. Подготавливаем. DEV_TAR_GZ=$pwd/dev.
FS=/home/clfs/tmpfs- bu/ # тут хранятся копии файлов настоящей системы. RDSIZE=1. 50. 00 # размер рамдиска. ВНИМАНИЕ! На целевой системе в ядре надо установить размер ram диска не менее этого! CONFIG_BLK_DEV_RAM_SIZE=1. Need root". umount /mnt/initrd. Создаем файл образ нашего рамдиска (initrd), сначала просто сгенерировав пустой файл заданного размера, а потом отформатировав его в ext. BLKSIZE count=$RDSIZE.
F - m 0 - b $BLKSIZE /tmp/ramdisk. RDSIZE. Теперь монтируем его как блочное устройство в систему, и записываем путь в переменную ROOT, далее будем плясать от нее, имея ввиду, что $ROOT - это наша корневая файловая система образа initrd. ROOT="/mnt/initrd". Необходима директория /dev/, с минимально необходимыми устройствами. Создать ее можно к примеру так. ROOT/dev. mknod - m 6.
Create the RAM disk device. Но можно взять с готового загруженного образа, просто запаковав её tar- ом, а потом распаковав при создании initrd, я так и сделал, указав в начале файл этого архива, как переменную $DEV_TAR_GZ. Make /dev/". tar - xxf $DEV_TAR_GZ - C $ROOT.
Теперь подготовим директории на нашей файловой системе. Make clear rootfs". ROOT}/{bin,usr,var,lib,sys,dev,proc,mnt,etc,root,initrd}. ROOT}/mnt/{ro,rw,union}. ROOT}/sbin. ln - sv /bin ${ROOT}/usr/bin. ROOT}/usr/sbin. ln - sv /lib ${ROOT}/var/lib. ROOT}/bin/sh. ПО Все.
Теперь необходимо положить нужное ПО (исполняемые файлы и библиотеки) на файловую систему. Обычно это делают используя busybox, так как он является очень маленьким и удобным и содержит в себе весь минимально необходимый функционал. Но я не стал заморачиваться с busybox и взял готовые файлы целевого устройства.
Копии этих файлов лежат в директории, описанной в переменной $FS (выше). Мне потребуется. bash - для интерпретации моего сценария. Просто копируем нужные файлы и библиотеки в будущий образ (необходимость библиотеки можно посмотреть командой ldd у соответствующего исполняемого файла). Make bash". cp - v $FS/lib/libncurses. FS/lib/libdl. so.* \. FS/lib/libc. so.* \. FS/lib/ld- linux.
FS/usr/lib/libgcc_s. ROOT}/lib/. cp - v $FS/bin/bash ${ROOT}/bin/. Make mount". cp - v $FS/lib/libblkid. FS/lib/libuuid. so.* \. ROOT}/lib/. cp - v $FS/bin/mount \. FS/bin/umount \. ${ROOT}/bin/.
Make blockdev". cp - v $FS/sbin/blockdev ${ROOT}/bin/. Make pivot_root, chroot".
FS/usr/sbin/chroot \. FS/sbin/pivot_root \. ROOT}/bin. init А вот тут наверное самая сложная для понимания часть.
Плюс ко всему эта часть почему- то менее всего документирована. По крайней мере на момент написания статьи я не встречал полного описания того, что будет приведено ниже в одном месте. Все везде описано по кускам, везде чего- то, да не хватало.
Итак, после распаковки образа initrd в оперативную память ядро будет исполнять файл /sbin/init (по умолчанию, если не передан параметр init= ядру загрузчиком или параметром ядра CONFIG_CMDLINE). Так же он известен как linuxrc.
Этот файл может представлять из себя простой sh- сценарий, последовательно исполняющий то, что нужно нам для подготовки целевой файловой системы операционки. А нужно нам сделать вот что. Подмонтировать RO раздел с образом операционной системы. Подмонтировать RW раздел, куда будут записываться измененные данные. Смонтировать оба этих образа (RO + RW) в единую систему (union) посредством unionfs. Перейти в новую файловую систему. Отмонтировать файловую систему initrd и вычистить занимаемую им память.
Запустить init целевой операционной системы, который уже загрузит саму ОС с файловой системы. Итак, приступим. Монтируем файловые системы. RO в /mnt/ro, RW в /mnt/rw.
У меня они обе находятся на MTD блочных устройствах (/dev/mtdblock?), просто на RO находится файловая система CRAMFS (сжатая файловая система с фозможностью только чтения), а на RW находится YAFFS2 (перезаписываемая файловая система для памяти Flash, NAND, идет тоже как патч ядра). Для Live. CD это может быть squashfs и к примеру tmpfs.
Make init". cat > ${ROOT}/bin/init < < EOFF. Starting initrd..". Теперь монтируем эти две файловые системы в одну /mnt/union посредством unionfs. Важно первой указать перезаписываемую ФС, т. Все. Теперь новая файловая система с образом операционной системы доступна в директории /mnt/union. По идеи в нее надо перейти (chroot) и запустить там init.
Но нам еще нужно будет отмонтировать (umount) образ initrd и высвободить занимаемую им память. Особенно это актуально для встраиваемых (embedded) операционных систем.
Чтобы выполнить такой трюк используется команда pivot_root. Вкратце она перемещает корневую систему текущего процесса в указанный каталог, а другую директорию делает новой корневой файловой системой текущего процесса. Т. е. подменяет. Переходим в новую файловую систему и делаем ее корнем, а текущую переносим в директорию mnt/initrd. ВАЖНО! Тут именно перейти (cd) в новую директорию, чтобы процесс ушел с предыдущий директории и не занимал ее, а то мы не сможем ее отмонтировать.
Так же пути желательно указать относительные. Все. В корне у нас теперь новая файловая система, а в директории mnt/initrd - старая, с образом init ram disk. Теперь очень важный момент! Необходимо перенести и старые точки монтирования. Старую корневую ФС от initrd мы уже перенесли в /mnt/initrd, но нужно не забывать, что у нас были еще подмонтированы ro и rw разделы в директории /mnt/ro и /mnt/rw файловой системы образа initrd, но после подмены (pivot_root) они теперь находятся в /mnt/initrd/mnt/ro и /mnt/initrd/mnt/rw. И мы бы из- за них не смогли отмонтировать mnt/initrd и высвободить память.
По этому переместим их в новую файловую систему используя команду mount - -move. Почти все готово чтобы отмонтировать наш корень (initrd), но еще необходимо отвязать дескрипторы консоли, которую использует текущий процесс. После этого у вас все- таки останется один процесс, использующий /mnt/initrd/dev/console, и не дающий отмонтировать /mnt/initrd, но он уйдет.
Это текущий процесс, с PID=1. А уйдет он, когда мы запустим exec с вызвом нового init системы. Грубо говоря можно сделать так: exec /usr/sbin/chroot . А потом, в начале загрузки отмонтировать /mnt/initrd и чистить память, но это надо залезать в init- скрипты целевой системы, по этому мы поступим умнее, и отмонтирование запишем непосредственно в момент вызова нового init- а.
Chroot..". exec /usr/sbin/chroot . EOF > dev/console. Startng init!". exec /sbin/init. Закрываем скрипт генерирующий init и ставим ему бит исполняемости. ROOT}/bin/init. Все. Наш init готов. Отмонтируем образ initrd и запаковываем его. Да! Еще надо указать root=/dev/ram.