2

Мне нужно использовать виртуальный диск для монтирования файловой системы в качестве ramfs на встроенном устройстве. Однако для этого требуется увеличить размер виртуального диска - в настоящее время, согласно конфигурации ядра, максимальный размер составляет 35 МБ. Я могу изменить параметры загрузки, но перекомпиляция ядра может быть невозможна.

Я нашел этот вопрос, который касался создания ramdisk. Тем не менее, я не уверен, нужно ли изменять как CONFIG_BLK_DEV_RAM_SIZE и параметр загрузки ramdisk= ramdisk_size= . Смогу ли я создать виртуальный диск размером, скажем, 40 МБ, просто изменив параметр ramdisk= ramdisk_size= boot?

РЕДАКТИРОВАТЬ : Если это помогает, это описывает RAM-диск, который я пытаюсь запустить и запустить.

1 ответ1

0

Работает либо Kconfig, либо опция загрузки. Однако имя параметра больше не является ramdisk= . Согласно Documentation/blockdev/ramdisk.txt, вы можете изменить размер, используя:

  • опция ramdisk_size= , или
  • опция brd.rd_size= .

В драйверах / блоке / brd.c:

unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
module_param(rd_size, ulong, 0444);
MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");

[...]

/* Legacy boot options - nonmodular */
static int __init ramdisk_size(char *str)
{
    rd_size = simple_strtol(str, NULL, 0);
    return 1;
}
__setup("ramdisk_size=", ramdisk_size);

Вы можете видеть, что значение Kconfig просто используется для инициализации переменной rd_size , и либо brd.rd_size=40960 либо ramdisk_size=40960 полностью переопределят его и установят размер 40 МБ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .