web-dev-qa-db-ja.com

RAMディスクサイズ-カーネル構成またはブートパラメータ?

ファイルシステムをマウントするためにRAMディスクを使用する必要があります ramfsとして 組み込みデバイス上。ただし、これにはramdiskのサイズを増やす必要があります。現在、カーネル構成に従って、最大サイズは35MBです。ブートパラメータを変更することはできますが、カーネルを再コンパイルできない場合があります。

this ramdiskの作成に関する質問を見つけました。ただし、両方CONFIG_BLK_DEV_RAM_SIZEとブートパラメータの両方かどうかはわかりません ramdisk=ramdisk_size=を変更する必要があります。サイズを変更するだけで、たとえば40MBのRAMディスクを作成できますか? ramdisk=ramdisk_size=ブートパラメータ?

[〜#〜] edit [〜#〜]:それが役に立ったら、 this は私がしようとしているRAMディスクを説明します立ち上がって実行します。

2
TdBm

Kconfigまたはブート時オプションのいずれかが機能します。ただし、オプション名はramdisk=ではなくなりました。 Documentation/blockdev/ramdisk.txt によると、次のいずれかを使用してサイズを変更できます。

  • ramdisk_size=オプション、または
  • brd.rd_size=オプション。

drivers/block/brd.c

 unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE; 
 module_param(rd_size、ulong、0444); 
 MODULE_PARM_DESC(rd_size、 "各RAMディスクのサイズkbytes。 "); 
 
 [...] 
 
/*レガシーブートオプション-非モジュラー*/
 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のいずれかが完全にオーバーライドされることがわかります。サイズを40MBに設定します。

1
user1686