Я прошил u-boot на Samsung Chromebook и полностью отформатировал внутреннюю MMC. У меня есть archlinux, работающий на внутренней MMC
Источник: разблокировка загрузчика на samsung arm chromebook .
Обратите внимание, что этот метод очень рискованный и может сломать устройство. Копирование шагов из блога.
шаги:
Сделайте резервную копию всех важных данных. Все может пойти не так. Подготовьте загрузочный внешний MMC на случай, если что-то пойдет не так
Откройте заднюю крышку Chromebook. Следуйте инструкциям из ifixit http://www.ifixit.com/Teardown/Samsung+Chromebook+11.6+Teardown/12225/2#s45950
Рядом с портом USB-3 находится круглая кольцевая схема. Удалите из него ограничитель, который разорвет соединение. Это заставит spi читать-писать. Убедитесь, что вокруг него нет следов металла
Загрузиться в Chromeos. Ctrl + Alt + T и введите в sudo приглашение $ flashrom —wp-disable $ flashrom —wp-status
проверьте, отключена ли защита от записи. Если нет, вернитесь и почистите цепь. Я открыл его дважды. Загрузите изображение nv uboot с https://www.dropbox.com/s/6pzvraf3ko14sz9/nv_image-snow.bin.gz (источник: публикация Strats на форуме Archlinux). У вас должен быть 4MB bin-файл. Если загруженная корзина повреждена, вы можете использовать устройство с кирпичом. MD5 извлеченного двоичного файла: CA50D23D315F1378B43E4552D8D441AD
// Take backup and then flash
$flashrom -p linux_spi:dev=/dev/spidev1.0 -r orig_image-snow.bin
$flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin
$sync and reboot
Нажмите пробел при перезагрузке, чтобы войти в приглашение uboot. $ setenv bootdelay 1 $ saveenv
$ vboot_twostop загрузится в chromeos
Загрузка нестандартного формата ОС mmc в формате gpt. Используйте cgpt / parted для создания толстого раздела для загрузки, скажем, размером 256 МБ - mmcblk1p1. Скопируйте vmlinux (или любое другое ядро) из / boot chromeos в этот раздел. Создайте раздел ext4 для rootfs - mmcblk1p2. скопировать любые linux rootfs. Арка, suse-jeos и fedora работали на меня Перезагрузка
По приглашению uboot
// выбрать второе устройство mmc. Внутренний mmc dev 0 $ mmc dev 1
// Содержимое в файловой системе. Я получаю много предупреждений о dcache. По-прежнему работает $ fatls mmc 1: 1 /
// загрузка ядра в память $ fatload mmc 1: 1 $ {loadaddr} / vmlinux
// установить параметры загрузки ядра $ setenv bootargs console = tty1 root = / dev / mmcblk1p2 rootfstype = ext4 rootwait rw
$ bootm $ {loadaddr}
Теперь у вас есть свобода загрузки любого ядра без подписи.