Измените /dev/zero в MINIX, чтобы получить «a»

Для проекта мне нужно изменить нулевой драйвер, чтобы он производил бесконечное количество «а» вместо обычного нуля. Поэтому я изменил /usr/src/drivers/memory/memory.c

Это был оригинал:

/* Initialize /dev/zero. Simply write zeros into the buffer. */
for (i=0; i<ZERO_BUF_SIZE; i++) {
    dev_zero[i] = '\0'; //This is line 247
}

Это моя модификация:

/* Initialize /dev/zero. Simply write zeros into the buffer. */
for (i=0; i<ZERO_BUF_SIZE; i++) {
    dev_zero[i] = 'a'; //This is line 247
}

Поэтому я сохраняю, закрываю и перекомпилирую memory.c, но ничего не меняется, когда я говорю cat /dev/zero. Я даже пытался удалить /dev/zero и использовать mknod /dev/zero c 1 5 для создания нового. Но до сих пор никаких изменений. Я также пробовал перезагружаться.

Я меняю неправильный файл или не компилирую нужные файлы?


person Armand Maree    schedule 24.08.2015    source источник


Ответы (2)


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

person hymie    schedule 24.08.2015
comment
Как я уже говорил в вопросе, я попытался перезагрузить компьютер. Никаких изменений не наблюдается. - person Armand Maree; 24.08.2015

Хорошо, я обнаружил, что следующие действия решают проблему:

cd /usr/src/drivers/memory/
make
cd ..
make clean
make build
make install
cd ..
make world
make install
cd kernel
make clean
make
shutdown

Так что в основном перекомпилируйте несколько каталогов, а затем перезапустите ОС.

person Armand Maree    schedule 24.08.2015