O resultado e o problema restante Este passo a passo inicializa o Snappy Ubuntu Core a partir do eMMC do Beaglebone Black (BBB) em vez da inicialização padrão do cartão SD. Mas para que isso funcione, ele quebra o mecanismo de fallback a / b construído na etapa U-boot da imagem padrão do Snappy Core. A razão pela qual o mecanismo de fallback é quebrado é porque ele usa o comando "saveenv" U-boot que, por uma razão ainda desconhecida, parece não funcionar no eMMC da BBB.
A explicação passo a passo
-
Crie um cartão SD inicializável para adicionar o e-mail Snappy Core ao eMMC do BBB.
-
Baixe a última imagem do Debian fornecida pelo beaglebone.org:
$ wget https: // debian.beagleboard.org/images/bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz
-
Descompacte e copie a imagem do Debian para o seu cartão SD. CUIDADO você pode sobrescrever seu sistema de arquivos raiz se você escolher o dispositivo errado! Verifique "dmesg | tail" ao inserir o cartão SD, encontre o dispositivo correto.
$ unxz -c osso-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz | sudo dd de = / dev / sdX bs = 32M
$ sync
-
-
Substitua a imagem padrão do eMMC pela imagem do Snappy Ubuntu Core.
-
Faça o download de uma imagem Snappy Ubuntu Core compactada no cartão SD.
Insira o cartão SD Debian recém-criado no BBB e inicie a partir dele usando o botão de inicialização. Uma vez inicializado, baixe a imagem compactada Snappy Ubuntu Core para o cartão SD.
$ wget link
-
Descubra qual dispositivo é o eMMC.
Durante a inicialização, a imagem do debian montará o sistema de arquivos raiz do cartão SD para "/". Geralmente isso é "/ dev / mmcblk0".
$ cat / etc / fstab | grep mmc
/ dev / mmcblk0p2 / ext4 noatime, erros = remontar -ro 0 1Verifique qual é o outro dispositivo mmc disponível. Geralmente, isso significa que o eMMC é / dev / mmcblk1.
$ ls / dev / mmcblk?
/ dev / mmcblk0 / dev / mmcblk1
-
Descompacte e grave a imagem do Snappy Ubuntu Core no eMMC do BBB.
$ unxz -c ubuntu-15.04-snappy-armhf-bbb.img.xz | sudo dd de = / dev / mmcblk1 bs = 32M
$ sync
-
- Altere as configurações do U-Boot para inicializar do eMMC em vez do cartão SD.
Por padrão, o U-boot não inicializa, pois o ambiente U-boot ainda está apontando para o cartão SD. Eu usei o uEnv.txt - Alterar o dispositivo mmc do cartão SD (1) para eMMC (0)
Original
mmcdev=0
Novo:mmcdev=1
- Altere o sistema de fallback do snappy_ab para snappy_kernel = a, que agora está corrigido no primeiro rootfs (a).
Original
snappy_ab=a
snappy_boot=if test "${snappy_mode}" = "try"; then if test "${snappy_trial_boot}" = "1"; then setenv snappy_os "${snappy_good_os}"; setenv snappy_kernel "${snappy_good_kernel}"; saveenv; else setenv snappy_trial_boot 1; saveenv; fi; fi; run loadfiles; setenv mmcroot /dev/disk/by-label/writable ${snappy_cmdline} snappy_os=${snappy_os} snappy_kernel=${snappy_kernel}; run mmcargs; bootz ${loadaddr} ${initrd_addr}:${initrd_size} ${fdtaddr}
Novo
snappy_kernel=a
%código% - Remova o cartão SD e reinicie