Задать вопрос
  • Какие есть практики отладки U-boot в исходниках?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    на практике для сборки всего этого нужно информацию по частям в инете собирать.

    на практике нужно найти борду, которая поддерживается и U-Boot'ом и QEMU. Собрать U-Boot под неё. Среди результатов сборки будет ELF-файл, его загрузить в QEMU опцией -kernel. Опциями -s -S включить gdbserver. Запустить gdb с этим ELF и присоединиться к QEMU.
    В каком месте сложность?
    Ответ написан
    Комментировать
  • Как использовать execv?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    выглядит нормально. Можно запустить исходный процесс под strace -f и посмотреть, что происходит.
    Ответ написан
    9 комментариев
  • В файл1 удалить строки из файл2?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    join -v 1 -t: <(sort файл1) <(sort файл2)
    вывод будет лексикографически отсортирован.

    man join
    man sort
    Ответ написан
    Комментировать
  • Как осуществить запуск forever после пуша в конкретную ветку?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    при этом срабатывает только git archive ..., все что далее не выполняется. Вопрос почему?

    forever stop "myproject"

    Что-то мне подсказывает, что forever никогда не заканчивается. И, кстати, зачем он тут?
    Ответ написан
  • Как используя git log -p указать лимит выводимых линий?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как вывести сразу всё,

    git --no-pager log

    либо задать лимит линий для одного коммита...хочу посмотреть те коммиты что под ним

    можно нажать '/' (откроется строка поиска) и поискать слово 'commit'.
    Ответ написан
    Комментировать
  • Не отображает мои комиты в contributions почему?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    ты определись, кто ты, Ilya fedoseev <shift.of.razum@gmail.com> или "devil.ilya@gmail.com" <d@gamil.com>.
    Если определиться не можешь, то добавь все свои адреса тут: https://github.com/settings/emails
    Ответ написан
    2 комментария
  • Возможно ли будет взломать пароль с динамической солью которая нигде не хранится?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Соль нужна для защиты базы данных парольных хешей от группового брутфорса с помощью радужных таблиц, на случай если её украдут. Ни от чего больше она не защищает. Для целевого случая соль не должна быть секретной, но должна быть случайной.

    hash(пришедший хэш + соль из БД для этого пользователя)


    Тут вы говорите о соли в БД, это ок.

    hash(password+hash(слово))


    Тут вы говорите о вычислении парольного хеша на клиенте, называя hash(слово) солью. Это неправильное использование термина. Соль должна быть случайной.

    Возможно ли будет взломать пароль с динамической солью которая нигде не хранится?


    Зависит от условий взлома. Например, если атакующий увидит хеш идущий от клиента к серверу, он сможет воспользоваться им вообще без необходимости что-то взламывать.
    Ответ написан
    Комментировать
  • Как сделать бесконечный цикл проверки ssh коннекта?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как реализовать

    взять autossh
    Ответ написан
    Комментировать
  • Как правильно использовать gettext в C?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    man setlocale предлагает
    int main (int argc, char * const argv[], char * const argp[])
    {
        setlocale(LC_ALL, "");
        ...
    }

    совместно с переменной окружения LC_ALL или LANG.
    Ответ написан
  • Что такое rwlock на ubuntu сервер?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    CC build-x86_64/lock/rwlock.o
    src/lock/rwlock.c:114:1: fatal error: opening dependency file build-x86_64/lock/rwlock.d: No such file or directory
    }
    ...
    Что такое rwlock на ubuntu, почему у меня его нет и как его поставить?

    Сообщение о том, что во время компиляции файла src/lock/rwlock.c из самого libre компилятор не смог открыть/создать build-x86_64/lock/rwlock.d
    Я подозреваю, что вы его (libre) компилировали под рутом, а потом -- под обычным пользователем, где и увидели проблему. Если так, то решение -- удалить build-x86_64 перед сборкой.
    Ответ написан
    1 комментарий
  • Как использовать bash внутри Makefile?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вариант решения для оригинального вопроса: добавить в Makefile строчку
    SHELL = /bin/bash
    Ответ написан
  • Что такое Байт Бит и как это работает не много о звуке?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    По части звука недавно отвечал здесь, со ссылками и примерами: Работа со звуком С++ как?
    Ответ написан
    1 комментарий
  • Где найти книги про ассемблер?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Это похоже на поиск книги о ведении бухгалтерии на языке австралийских аборигенов.
    Язык не важен. Ищи просто книгу о ведении бухгалтерии.

    для работы с биосом(прерываниями от негл)

    Непонятно, какой именно биос тебе нужен, вот справочник, в котором есть всё о биосе PC:
    www.techhelpmanual.com/2-main_menu.html
    Ответ написан
    Комментировать
  • Проверите программу вычисления среднего арифметического на Assembler?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    чисел, которые находятся в памяти данных.

    Где загрузка данных и памяти в регистры?
    Почему все brcc переходят на add_8?
    Почему в следующем фрагменте и из младшего и из старшего байта суммы вычитается counter?
    sub sum_l,counter
        sbc sum_h,counter

    Почему из цикла деления выход только при переносе в минус? Что если разделится нацело?
    Ответ написан
    Комментировать
  • Можно ли изменить сообщения всех коммитов в репозитории?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Хочу все сообщения заменить на "Init". Это возможно?

    git filter-branch --msg-filter 'echo Init' -f -- --all

    перепишет сообщения всех коммитов на Init.
    Ответ написан
    Комментировать
  • Проблемы с фукнцией atoi?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Maqsat Batyrqul: atoi -- функция из стандартной библиотеки С, она работает с С-строками. С-строка это последовательность символов в памяти, заканчивающаяся символом конца строки -- символом с кодом 0.
    Написав *temp = s[i], или что то же самое temp[0] = s[i] вы скопировали i-й символ из строки s на первое место в строке temp. Проблема изначального кода в том, что указатель temp не инициализирован, а значит может указывать в любое место в памяти. Т.е. вы скопировали символ в любое место в памяти. Мест в памяти в которые можно записывать существенно меньше, чем мест, в которые записывать нельзя. По счастливому стечению обстоятельств temp в вашей программе указывал в место, в которое записывать нельзя, в результате чего вы видели Segmentation fault при попытке записать туда.
    В отличие от char *temp, запись char temp[2] определяет не указатель, а массив. Массив -- это непрерывный участок памяти. Если массив не константный, в него можно писать. Имя массива в большинстве случаев ведёт себя как указатель на первый элемент массива. Инициализировав массив нулями вы получили два нулевых символа в памяти, в которые можно писать. В цикле вы заменяете первый символ в этом массиве на i-й символ из массива s, второй символ остаётся неизменным -- символом с кодом 0, т.е. символом конца строки. Т.е. массив temp в цикле представляет собой С-строку единичной длины, которую можно передавать на вход atoi.
    Ответ написан
    Комментировать
  • В чем отличие наследования от агрегации и композиции?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    простым языком

    Наследование B от A означает, что B является A. Т.е. то, что "квадрат" является "фигурой" может быть выражено как class Square: public Figure.
    Агрегация B в A означает, что A содержит B как часть. Т.е. то, что "квадрат" содержит свои "стороны" может быть выражено как class Square { Section side[4]; };
    Ответ написан
    8 комментариев
  • Как хранится текущая директория в linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как хранится текущая директория в linux?

    Текущая директория -- атрибут каждого процесса. Хранится она в структуре task_struct, в поле fs->pwd как объект типа path. Ядро предоставляет следующий интерфейс к текущей директории:
    int chdir(const char *path);
    char *getcwd(char *buf, size_t size);


    как работает команда cd (не результат, а именно процесс)?

    Делает системный вызов chdir. Это легко наблюдать с помощью strace:
    $ strace bash -c "cd /" 2>&1 | grep chdir
    chdir("/")                              = 0
    Ответ написан
    Комментировать
  • Как пользоваться stdint.h?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    uint_fast64_t number = 184467440737095511615;

    В этом месте нужно написать
    uint_fast64_t number = UINT64_C(184467440737095511615);

    Даже присваиваться не хочет, как такое выводить тоже не понятно.

    В inttypes.h есть макросы для форматирования типов из stdint.h в printf, вам нужен PRIuFAST64:
    printf("%"PRIuFAST64"\n", number);

    Ну и да, для криптографии этих типов скорее всего будет мало. Порекламирую https://gmplib.org/ для разнообразия.
    Ответ написан
    Комментировать
  • Как убрать IRQ системного таймера для потока приложения или ядра CPU?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Есть есть поток, который добровольно не отдает управление ЦП и не должен.
    nonvoluntary_ctxt_switches: 68267288

    Этого недостаточно. Нужно чтобы кроме этого потока на данном CPU не было других. ctxt switch это переключение с одного потока на другой.

    Проблема в том, что системный таймер присылает прерывание LOC (Local timer interrupts) 1000 раз в секунду.

    Похоже, что у вас ядро с обычными тиками (не dyntick / tickless). Само таймерное прерывание, однако, не должно заметно влиять на производительность.

    Я бы не хотел манипулировать таймером вообще, или собирать ядро со специальными опциями

    Думаю, что вариантов без сборки ядра с опцией CONFIG_NO_HZ_FULL нет. Но и в этом случае, чтобы не было nonvoluntary ctxt switch на данном CPU должен быть единственный поток. См. https://www.kernel.org/doc/Documentation/timers/NO...
    Ответ написан