SVN r. 1713
Код сжатия ядра добавлен в программу KPACK. Для сжатия файла как ядра, нужно активировать опцию kernel (checkbox ниже кнопки распаковки).
Также, чтобы исключить коллизии, сжатые файлы ядра теперь маркируются ключом в 8 байт "KERNPACK", который добавляется к концу сжатого файла ядра. На работу ядра это не влияет.
Да и самое главное - сжатые файлы ядра пока не распаковываются. Такого сервиса и раньше не было в программе kerpack. Это можно реализовать, но нужно время.
Упаковщик KPack
Я покопалась в архивах и нашла копию файлов kpack-{bin,src}.tar.bz2, которые упомянуты в дневнике mike.dld, а рядом ещё откуда-то kpack_linux[_src].7z. Я на всякий случай - вдруг кому всё ещё интересно - выложила все эти файлы к себе в папку http://ftp.kolibrios.org/users/CleverMouse/kpack/ .
Mario, там действительно используется компилятор Си для компиляции библиотеки сжатия, а код самой программы переписан на fasm - насколько я понимаю, потому что в Linux нет компилятора masm. Я не поняла слов "там не поддерживалась передача параметров".
Mario, там действительно используется компилятор Си для компиляции библиотеки сжатия, а код самой программы переписан на fasm - насколько я понимаю, потому что в Linux нет компилятора masm. Я не поняла слов "там не поддерживалась передача параметров".
Сделаем мир лучше!
Изначально все упаковщики которые писались под Menuet не поддерживали передачу строки параметров в 255 байт, которую можно передать приложению, если у нее в заголовке под это зарезервирован буфер. Я не уверен на 100% но вроде и kpack начинал с этого, хотя я могу естественно ошибаться, о чем сразу же сказал. В общем надо смотреть исходники.CleverMouse wrote:Я не поняла слов "там не поддерживалась передача параметров".
Похоже, что это было очень давно...
Mario, как следует из третьей страницы текущей темы, kpack никогда не был упаковщиком приложений и, соответственно, kpack никаких параметров никаким приложениям не передаёт. Вероятно, ты спутал его с mtappack, с которого началась текущая тема и который уже давно не при делах.
Mario, как следует из третьей страницы текущей темы, kpack никогда не был упаковщиком приложений и, соответственно, kpack никаких параметров никаким приложениям не передаёт. Вероятно, ты спутал его с mtappack, с которого началась текущая тема и который уже давно не при делах.
Сделаем мир лучше!
CleverMouse
Значит спутал. С 2003 года такой объем информации в голове, что одно на другое накладывается.
За исходники спасибо - буду разбираться, глядишь дело с kerpack для Linux решится быстрее.
Значит спутал. С 2003 года такой объем информации в голове, что одно на другое накладывается.
За исходники спасибо - буду разбираться, глядишь дело с kerpack для Linux решится быстрее.
SVN r. 1718
Kpack для Linux - полностью ассемблерные исходники, GCC используется для линковки объектного файла.
Из небольшого плюса - размер исполняемого файла всего 13132 байт.
Полезную информацию почерпнул с wasm.ru
Если кому нужен готовый бинарник - то вот: Внимание - это не архив а сам бинарник, следовательно просто переименуйте отбросив расширение.
Kpack для Linux - полностью ассемблерные исходники, GCC используется для линковки объектного файла.
Из небольшого плюса - размер исполняемого файла всего 13132 байт.
Полезную информацию почерпнул с wasm.ru
Если кому нужен готовый бинарник - то вот: Внимание - это не архив а сам бинарник, следовательно просто переименуйте отбросив расширение.
Я сделала версию kpack для 64-битных unix-систем, основываясь на версии от mike.dld. Код упаковки - на Си, как и первоначальная версия, с некоторыми изменениями, специфичными для 64-битного окружения, главная программа - на fasm.
- Attachments
-
-
kpack_linux64.7z (15 KiB)
- Исходные тексты 64-битной версии.
Downloaded 533 times
-
Last edited by CleverMouse on Mon Dec 27, 2010 5:37 pm, edited 1 time in total.
Сделаем мир лучше!
CleverMouse,
большое спасибо за 64 бита, ждал!
Только вот у меня не собирается:
В чём может быть проблема, что я делаю не так?
большое спасибо за 64 бита, ждал!
Только вот у меня не собирается:
Code: Select all
[dunkaist@ddesk kpack]$ make
fasm kpack64.asm kpack64.o
flat assembler version 1.69.29 (16384 kilobytes memory)
3 passes, 6179 bytes.
gcc -c -g -o LZMAEncoder.o lzma_c/LZMAEncoder.c
lzma_c/LZMAEncoder.c: In function ‘CEncoder_Create’:
lzma_c/LZMAEncoder.c:304:6: warning: cast from pointer to integer of different size
lzma_c/LZMAEncoder.c: At top level:
lzma_c/LZMAEncoder.c:1032:1: warning: ‘stdcall’ attribute ignored
lzma_c/LZMAEncoder.c:1042:1: warning: ‘stdcall’ attribute ignored
gcc -c -g -o MatchFinder.o lzma_c/MatchFinder.c
gcc -c -g -o RangeCoder.o lzma_c/RangeCoder.c
ld -lc -o kpack kpack64.o LZMAEncoder.o MatchFinder.o RangeCoder.o
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2550
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2560
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2550
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2560
kpack64.o: In function `_start':
(.text+0x97): undefined reference to `stat'
make: *** [kpack] Error 1Ой, я видела и даже исправляла такую ошибку, но забыла исправить в том архиве, который выложен. Исправь в Makefile строчку линковки, начинающуюся с ld ... (третья по счёту, считая с 1), на
Code: Select all
gcc -nostartfiles -o kpack kpack64.o LZMAEncoder.o MatchFinder.o RangeCoder.oСделаем мир лучше!
Спасибо, помогло.CleverMouse wrote:Ой, я видела и даже исправляла такую ошибку, но забыла исправить в том архиве, который выложен. Исправь в Makefile строчку линковки, начинающуюся с ld ... (третья по счёту, считая с 1), наCode: Select all
gcc -nostartfiles -o kpack kpack64.o LZMAEncoder.o MatchFinder.o RangeCoder.o
Я перезалила архив с правильным Makefile.
Сделаем мир лучше!
SVN r.2058 Kpack - проверка окна на "свернутость" (rolled up) перед отрисовкой.
а нету ли, случайно, где-то кода распаковки на си?
А разве версия для linux не на Си?dzavalishin wrote:а нету ли, случайно, где-то кода распаковки на си?
там упаковщик. впрочем, я уже нашёл lzma lib, будет время - поэкспериментирую с распаковкойSoUrcerer wrote:А разве версия для linux не на Си?dzavalishin wrote:а нету ли, случайно, где-то кода распаковки на си?
Who is online
Users browsing this forum: No registered users and 4 guests