Como eu faço o flash do Snappy Ubuntu Core para o eMMC do BeagleBone Black?

1

Eu tenho seguido com sucesso as instruções em Snappy: Introdução ao Black Beaglebone e atualmente meu BeagleBone Black sempre inicializa o Ubuntu Core a partir do cartão microSD.

É possível usar o flash Ubuntu Core na própria memória flash ( eMMC ), para que eu não precise mais do cartão SD? (A capacidade de armazenamento do eMMC é de ~ 4 GB.)

    
por Spyros Maniatopoulos 15.01.2016 / 19:20

1 resposta

2

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

  1. 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

  2. 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 1

      Verifique 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

  3. 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
  4. Alterar o dispositivo mmc do cartão SD (1) para eMMC (0)
    Original
    mmcdev=0
    Novo: mmcdev=1
  5. 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%
  6. Remova o cartão SD e reinicie
por brechtvc 15.02.2016 / 17:53