[12:05:11] <zombah> добрый день всем
[12:50:20] <stuw> привет, zombah. Не пробовал всобачить paz00_keyHandler в сборку?
[12:50:39] <zombah> stuw: привет, нет пока
[13:08:34] <zombah> stuw: ты не смотрел откуда еще parted запускается в инсталлере?
[13:12:20] <zombah> или дай мне права я сам поиграюсь с ним
[13:19:22] <stuw> zombah, parted только в main'е зовется. Там создается новая разметка без партиций (т.е. мбр есть, партиций нет). Тупо занулять mbr не хотелось бы.
[13:22:08] <stuw> zombah, права дал
[13:30:53] <zombah> ну мне партед уже все занулил в первый заход, теперь надо просто создать новую
[13:31:26] <stuw> занулить != создать мбр без партиций
[13:32:05] <zombah> ну он делает только команду mklabel дальше зависает
[13:32:31] <zombah> поэтому каждый запуск он мне просто затирает разметку а дальше затыкается
[13:32:55] <stuw> это я понял. возможно в конце нужно quit команду ему дать
[13:33:31] <stuw> я имею в виду, что если переделывть, то хорошо бы сохранить логику - чтобы мбр создавался корректный, а не просто занулялся
[13:33:45] <stuw> это я про кейс, где сейчас остался единственный вызов parted
[13:34:17] <zombah> echo "Switching to GPT (remove all partitions)..."
[13:34:17] <zombah> parted $device << EOF
[13:34:20] <zombah> вот это место
[13:34:50] <stuw> сделай pull
[13:34:52] <stuw> я про него же
[13:35:05] <zombah> pull?
[13:35:19] <stuw> апни репозиторий, я коммит запушил :)
[13:35:32] <stuw> теперь завизать в этом месте не должно
[13:36:05] <zombah> счас проверю
[13:36:22] <zombah> а какой смысл тут партед оставлять если sgdisk тоже самое умеет?
[13:37:54] <stuw> какой командой он умеет это? если ты проверишь, что команда инициализации не будет фейлиться, если вместо MBR каша/нули, то можно и sgdisk. У меня нет возможности проверить.
[13:38:28] <zombah> sgisk -og вроде
[13:38:51] <stuw> она в некоторых случаях ошибку возвращает.
[13:38:59] <stuw> -o которая
[13:39:45] <zombah> ну я ее пробовал у себя они ниразу ошибку не возвращала
[13:39:53] <zombah> только суксесс
[13:39:57] <stuw> можешь с зануленным MBR попробовать?
[13:40:18] <zombah> а дай пример как его занулить правильно
[13:40:26] <stuw> и с рандомным MBR (из /dev/urandom)
[13:40:27] <stuw> of
[13:40:28] <stuw> ща
[13:40:51] <stuw> dd if=/dev/zero of=/dev/mmcblkX bs=512 count=1
[13:40:57] <stuw> dd if=/dev/urandom of=/dev/mmcblkX bs=512 count=1
[13:43:23] <stuw> dd if=/dev/urandom of=/dev/mmcblkX bs=512 count=1 && echo -ne "\x55\xAA" | dd of=/dev/mmcblkX bs=1 seek=510
[13:44:39] <stuw> sgdisk --zap-all сделай плиз перед dd
[13:44:50] <stuw> он gpt находит подлец )
[13:45:49] <stuw> команды, которые я написал: 1. зануленный MBR, 2. формально не mbr, 3. mbr с кривыми данными
[13:46:04] <zombah> да при таком раскладе он не срабатывает
[13:46:50] <stuw> ясно. sgdisk --zap-all сделай, а потом глянь вывод hexdump -C -n512 /dev/mmcblkX
[13:47:02] <zombah> правда и parted Тоже 8))
[13:47:14] <zombah> (parted) mklabel gpt
[13:47:14] <zombah> Warning: The existing disk label on /dev/mmcblk1 will be destroyed and all data
[13:47:14] <zombah> on this disk will be lost. Do you want to continue?
[13:47:14] <zombah> Yes/No?
[13:47:26] <stuw> если там в конце 55 aa, то все ок
[13:47:33] <zombah> Warning: /dev/mmcblk1 contains GPT signatures, indicating that it has a GPT
[13:47:33] <zombah> table. However, it does not have a valid fake msdos partition table, as it
[13:47:33] <zombah> should. Perhaps it was corrupted -- possibly by a program that doesn't
[13:47:33] <zombah> understand GPT partition tables. Or perhaps you deleted the GPT table, and are
[13:47:33] <zombah> now using an msdos partition table. Is this a GPT partition table?
[13:47:34] <zombah> Yes/No?
[13:47:56] <zombah> два y y надо ему теперь 8)
[13:48:06] <stuw> )
[13:48:13] <stuw> dd if=/dev/urandom of=/dev/mmcblkX bs=512 count=1 && echo -ne "\x55\xAA" | dd of=/dev/mmcblkX bs=1 seek=510
[13:48:15] <zombah> или там можно ключом проигнорить вопросы?
[13:48:21] <stuw> sgdisk --zap-all
[13:48:24] <stuw> hexdump -C -n512 /dev/mmcblkX
[13:48:36] <stuw> давай попробуем через sgdisk
[13:49:00] <stuw> sgdisk --zap-all стирает все и чихает на ошибки в разметке. НО, я не знаю, что в результате получается.
[13:49:03] <zombah> # sgdisk --zap-all /dev/mmcblk1
[13:49:03] <zombah> [ 615.227738] mmcblk1: p1() p2(LNX) p3(MBR)
[13:49:03] <zombah> GPT data structures destroyed! You may now partition the disk using fdisk or
[13:49:03] <zombah> other utilities.
[13:49:03] <zombah> # hexdump -C -n512 /dev/mmcblk1
[13:49:03] <zombah> 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
[13:49:05] <zombah> *
[13:49:07] <zombah> 00000200
[13:49:09] <zombah> #
[13:49:16] <stuw> Может быть после этого нужно еще что-то.
[13:49:21] <stuw> ага, mbr'а нет :(
[13:49:35] <stuw> а если теперь sgdisk -og ?
[13:50:06] <zombah> # sgdisk -og /dev/mmcblk1
[13:50:06] <zombah> Creating new GPT entries.
[13:50:06] <zombah> [ 699.459006] mmcblk1: p1() p2(LNX) p3(MBR)
[13:50:06] <zombah> The operation has completed successfully.
[13:50:45] <stuw> mmcblk1: p1() p2(LNX) p3(MBR) - хз, откуда он находит это )
[13:51:03] <stuw> у тебя теперь 3 партиции на /dev/mmcblk1 ?
[13:51:15] <zombah> это cmdline partition support в ядре вещает
[13:51:29] <stuw> я понимаю
[13:51:37] <zombah> ему похер на реальность что в cmdline записно то и пишет
[13:51:51] <stuw> ))
[13:52:17] <zombah> надо его прибить на болт, не понимаю как он работает
[13:53:33] <zombah> а что надо сказать switch-to-uboot чтоб он не только создавал разметку но и партиции сразу?
[13:53:48] <zombah> теперь выходит норм из parted
[13:54:38] <stuw> на sgdisk переделываю?
[13:54:58] <zombah> давай конечно
[13:55:21] <stuw> готово
[13:58:49] <zombah> счас попробую
[14:04:16] <zombah> да сделал мне новую gpt
[14:04:41] <zombah> может после этого воткнуть вопрос что может вам выбрать набор партиций? 8)
[14:09:26] <stuw> можно, а можно эту работу инсталлятору оставить :)
[14:09:41] <zombah> а он это делает?
[14:10:08] <stuw> андроидный инсталлер сам убут ставит и разбивку делает.
[14:10:15] <zombah> ишь
[14:10:25] <zombah> отлично счас тоже попробую
[14:10:35] <stuw> убунтовский тоже сам партиции умеет. Правда он пока сам не умеет ядро ставить )
[14:12:44] <zombah> кстати может installer переименовать в более интуитивное название?
[14:12:59] <stuw> какое?
[14:13:30] <zombah> ну не знаю android-installer? 8)
[14:13:53] <stuw> paz00-cm-installer, cm-installer, android-installer ?
[14:15:47] <zombah> хм ладно это пока не к спеху
[14:16:03] <stuw> да и править все мануалы придется :(
[14:16:10] <zombah> тоже верно
[16:27:59] <zombah> stuw: а инсталлеру можно задать положение зипов вручную или оно там захардкожено?
[16:30:06] <stuw> инсталлер первый recovery-*.img файл ищет в корне и считает, что это рекавери
[16:30:15] <stuw> zip ему не нужен по большому счету
[16:30:49] <stuw> вру - ищет в папке рядом с собой
[16:32:24] <zombah> хм всмысле рядом ссобой? тоесть его надо обязательно на сд копировать?
[16:32:37] <stuw> сейчас да
[16:32:41] <zombah> а я его добавляю в сосбут рядом со switch-to-uboot
[16:32:56] <zombah> тот думаю что он не пашет
[16:33:00] <stuw> тогда надо подправить, чтобы искал на внешних носителях
[16:33:29] <zombah> хм
[16:34:12] <zombah> чет не соображу как лучше сделать чтоб он там и там искал
[16:34:25] <stuw> посмотри убунтовский инсталлер
[16:34:39] <zombah> что за убунтовский инсталлер?
[16:35:02] <stuw> который от 12 убунты для тошки. Он же сам ищет zip и проверяет его
[16:35:21] <zombah> эээ что я такого не припоминаю
[16:35:40] <stuw> расковыряй рекавери убунтовского инсталлера и посмотри :)
[16:35:46] <zombah> ааа
[16:35:55] <stuw> *инитрд
[16:36:00] <zombah> бог с ним, проще самому придумать
[16:36:15] <stuw> там код уже рабочий есть :)
[16:36:22] <stuw> а так тебе отлаживать надо
[16:36:49] <stuw> хотя все-равно надо монтировать автоматом внешние носители
[16:36:55] <stuw> так что может ты и прав
[16:37:35] <zombah> а помнишь как в баше проверить ввод с стдин на то пустой он или нет?
[16:37:58] <zombah> типа $1 <&0
[16:38:32] <stuw> не помню
[16:38:39] <stuw> а зачем тебе stdin ?
[16:40:26] <zombah> ну типа сделать ./installer /mnt/recovery-xxx.img и он пошел его инсталить, а если $1 пустой то как было ищет рядом с собой
[16:40:37] <stuw> так это не stdin
[16:41:07] <zombah> ну да я его может не правильно обозвал
[16:41:51] <stuw> $1 проверить на пустоту. [ -z "$1" ] || error "bla"
[16:42:16] <stuw> в apply_partitions_config.sh фнукция проверяет свои параметры. В основном коде также надо
[16:45:10] <zombah> хм а как c эти [ -z "$1" ] if/else Обыграть
[16:45:34] <stuw> if [ -z "$1" ]; then
[16:45:36] <stuw> ...
[16:45:37] <stuw> fi
[16:45:49] <zombah> а точно, спасибо
[16:45:56] <zombah> счас попробую
[16:46:47] <stuw> возможно надо без кавычек
[16:47:03] <stuw> что-то меня || смущает в [ -z "$1" ] || error "bla"
[16:47:04] <stuw> :)
[16:47:56] <zombah> в исталлере у тебя вот так [ -z "$recovery_image" ] && error "Can't find recovery image"
[16:51:23] <zombah> Failed to extract recovery
[16:51:36] <zombah> что ему там еще кроме sd подмонтировать надо?
[16:52:14] <stuw> usb ?
[16:52:37] <zombah> ээ usb?
[16:52:51] <zombah> зачем usb?
[16:53:25] <zombah> Uncompressing AC100 uboot+gpt installer.........
[16:53:25] <zombah> unzip: can't open [.zip]
[16:53:25] <zombah> Failed to extract recovery
[16:53:25] <zombah> For more information see /tmp/installer.log
[16:53:36] <zombah> вот что в лог пишет
[16:54:08] <zombah> аа оно видно на вход $recovery_image ждет
[16:55:47] <stuw> -z странно в бизибоксе работает. В apply_partitions_config.sh проверка на пустоту параметров неверная
[16:56:37] <zombah> я могу добавить в сосбут нормальный баш
[16:57:07] <stuw> не, не надо
[16:57:59] <stuw> нужно просто проверять код ) даже на обычном десктопе расхождения могут быть в разных шелах
[17:01:13] <zombah> а антоним у -z есть?
[17:03:26] <zombah> а или -e $1 это типа если $1 не нулевый?
[17:12:24] <stuw> -n
[17:12:37] <stuw> -e - существует
[17:13:11] <zombah> ну вот так можно -e $1?
[17:13:20] <zombah> чет не работает
[17:13:32] <zombah> впрочем даже с -z чтот не то
[17:14:57] <zombah> # Find recovery.img
[17:14:57] <zombah> if [ -z "$1" ]
[17:14:57] <zombah> then
[17:14:57] <zombah> local recovery_image="$(find_recovery_image)"
[17:14:57] <zombah> else
[17:14:58] <zombah> local recovery_image="$1"
[17:15:00] <zombah> [ -z "$recovery_image" ] && error "Can't find recovery image"
[17:15:02] <zombah> echo "Recovery image: $recovery_image" | tee -a "$LOG"
[17:15:04] <zombah> fi
[17:18:02] <zombah> а хотя fi то выше надо
[17:19:49] <zombah> неа чтот так тоже не хочет
[17:22:28] <zombah> Target: /dev/mmcblk1
[17:22:28] <zombah> Recovery image: ./recovery-10.2-20131111.img
[17:22:28] <zombah> ./recovery-10.1-20131104.img
[17:22:28] <zombah> ./recovery-11.0-20140309.img
[17:22:28] <zombah> ./recovery-11.0-20140322.img
[17:22:29] <zombah> Failed to extract recovery
[17:22:31] <zombah> For more information see /tmp/installer.log
[17:22:41] <zombah> слишком много рековерей его тоже смущают 8)
[17:22:46] <stuw> ))
[17:24:08] <zombah> надо там жесткие значения прибить, но чтоб через переменные их овверрайдить можно было
[17:25:44] <stuw> можно в случае, если найдено несколько - обламываться или брать тупо первый рекавери
[17:58:47] <zombah> неа так тоже чтот не срабатывает, говорит не нашел рековери образ
[17:59:28] <stuw> логи надо смотреть
[17:59:43] <zombah> да в логе ничего интересного
[17:59:52] <zombah> local recovery_image="$(find_recovery_image)"
[18:00:00] <zombah> ********************************************************
[18:00:00] <zombah> Mon Mar 2 15:01:45 UTC 2015
[18:00:00] <zombah> ********************************************************
[18:00:00] <zombah> Target: /dev/mmcblk1
[18:00:00] <zombah> Creating directory /tmp/installer_tmp/switch-to-uboot
[18:00:01] <zombah> Verifying archive integrity... All good.
[18:00:03] <zombah> Uncompressing AC100 uboot+gpt installer.........
[18:00:05] <zombah> Can't find recovery image
[18:00:08] <zombah> For more information see /tmp/installer.lo
[18:00:38] <stuw> распечатай переменную recovery_image, распечатай пути, где ищешь.
[18:00:58] <stuw> и лучше pastebin один редактируй, иначе мы так все логи загадим ))
[18:01:25] <zombah> 8))
[18:01:46] <zombah> да былоб что гадить
[18:02:10] <zombah> кабы тут у нас куча перекрестных бесед велась