CMDLINE

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску

Пример создания образа:

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 - картинку