CMDLINE
Пример создания образа:
mkbootimg.x86 --cmdline "mem=448M@0M nvmem=64M@448M tegraboot=sdmmc console=tty0 \ tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800 rootfstype=ext4 \ rootwait root=/dev/sda3 quiet splash" --kernel ./arch/arm/boot/zImage --ramdisk NONE \ -o /srv/ac100/ubuntu/kernel_`date +%d.%m.5Y_%H.%M.%S`
Примеры cmdline
Для 3.10 и старше НУЖНО УТОЧНИТЬ
export CMD_LINE="cma=64M root=/dev/mmcblk1p1 \ tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800 rootwait quiet splash"
Для 3.1 <range type="comment" id="369867052_1">обязательно наличие console=tty1</range id="369867052_1"> (пока не разберемся с багом) и mem=512@0M
export CMD_LINE="mem=512M@0M console=tty1 root=/dev/mmcblk1p1 \ tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800 rootwait quiet splash"
Для 2.6.38
export CMD_LINE="mem=448M@0M nvmem=64M@448M console=tty1 root=/dev/mmcblk1p1 \ tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800 rootdelay=10"
И cmdline Марвина для загрузчика 2.2 (полагаю для 2.1 можно использовать такую же)
cmdline mem=448M@0 vmalloc=192M tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800 \ verbose debug root=/dev/mmcblk1p1 console=ttyS0,115200n8 console=tty0 zcache
Рассмотрим различные параметры и попытаемся понять, для чего они нужны.
rootwait или rootdelay=10 - используется, чтобы ядро ждало появления root девайса. Точно актуально при загрузке с внешних носителей. inb4: rootdelay является устаревшей опцией. rootwait кошерна
mem=448M@0M - FIXME
nvmem=64M@448M - выделение видеопамяти из оперативной (всего 512Мб под видео выделили 64, осталось 448 под нужды системы)
console=tty1 - место, куда выводится лог загрузки. Также бывает ttyS0 - это usbserial
root=/dev/mmcblk1p1 - указывает, с какого устройства производить загрузку. В качестве root= может быть UUID раздела или имя раздела. Непроверенная (но вроде бы логичная) возможность: если будет имя раздела, то тогда если вставить сд на которой есть раздел с таким же именем, то загрузится с ним в качестве рутфс. А если не вставлять, то загрузится с внутренней памяти, то есть можно грузить два разных рутфс без перепрошивки.
video=tegrafb - выбор FB драйвера, пока известны варианты: tegrafb, nvtegrafb
rootfstype=ext4 - указывает тип рутфс, чтобы ядро не занималось тупым перебором. Актуально если не используется рамдиск и коень расположен во внутреннем флэще
tegraboot=sdmmc - тип загрузочного носителя, пока известны варианты: sdmmc, nand
Подробнее о tegrapart tegrapart= - задает конфигурацию партиций через запятую, в следующем виде: <абревиатура партиции>:<стартовый сектор>:<кол-во секторов>:<размер сектора> Скоро будет выпилено, тк NVTEGRA_HIDE_PARTS кошерен. а все из-за того, что в тошибах используется 2 типа флэшек
Подробнее о nvtegra nvtegra_hideparts - nvtegra разбирает содержимое таблицы партиций из раздела EPT. Параметр позволяет скрывать найденные партиции. В этом параметре задается список (разделитель не помню, возможно зяпятая) имен партиций (информацию об именах можно посмотреть более подробно в статье Переразбивка Внутренней Памяти.
quiet - FIXME запрещает/ограничивает вывод ядра на консоль
splash - FIXME отображает splash - картинку