BBB moving to new OS, flashing EMMC, I'm confused

I have a BBB (well, I have three actually) all running old versions of
Debian (Debian 7 to be specific). I need to update to the latest Debian.

So, I have written the latest Debian 9.3 image to a micro-SD card,
that was easy enough (though it would be nice if there were Linux how
to do it instructions on the basic BBB 'getting started' page).

Now I'm confused. There seem to be conflicting instructions about
what to do next.

First I simply put the new microSD card into my BBB and turned on, it
booted OK and I was able to ssh into it via ethernet but it was still
running the old OS, not the new one on te SD card.

Searching a bit more there seem to be two ways to copy the OS to EMMC,
one involves holding a button down (but not clear which button) when
booting and the other involves editing /boot/uEnv.txt and rebooting.
However I'm still lost as to which works in my situation.

Also, if I simply want to use the microSD card as my OS (it's bigger
than the EMMC apart from anything else) how do I do that.

What I want is a more detailed (and Linux oriented) documentation
that's the next step on from 'getting started'.

... and now

On Sat, 17 Feb 2018 15:45:03 +0000, Chris Green
<cl@isbd.net> declaimed the following:

I have a BBB (well, I have three actually) all running old versions of
Debian (Debian 7 to be specific). I need to update to the latest Debian.

  One could ask "which 'Debian 7'?" My archive has image files for 7.8,
7.9, and 7.11.

E:\MicroSupport\BBB>dir
Volume in drive E is PhotoExt
Volume Serial Number is CA0A-BC13

Directory of E:\MicroSupport\BBB

02/12/2018 11:26 AM <DIR> .
02/12/2018 11:26 AM <DIR> ..
09/02/2016 09:19 AM 527,447,220
bone-debian-7.11-lxde-4gb-armhf-2016-06-15-4gb.img.xz
03/29/2016 07:29 PM 547,024,548
bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz
02/28/2016 02:35 PM 626,164,520
bone-debian-7.9-lxde-4gb-armhf-2015-11-12-4gb.img.xz
02/28/2016 02:52 PM 748,742,592
bone-debian-8.3-lxqt-4gb-armhf-2016-01-24-4gb.img.xz
09/02/2016 09:19 AM 812,888,948
bone-debian-8.4-lxqt-4gb-armhf-2016-05-13-4gb.img.xz
12/24/2016 01:12 PM 727,202,352
bone-debian-8.6-lxqt-4gb-armhf-2016-11-06-4gb.img.xz
03/22/2017 11:38 AM 756,887,464
bone-debian-8.7-lxqt-4gb-armhf-2017-03-19-4gb.img.xz
09/02/2017 02:27 PM 797,413,740
bone-debian-9.1-lxqt-armhf-2017-08-31-4gb.img.xz
02/12/2018 11:26 AM 812,246,904
bone-debian-9.3-lxqt-armhf-2018-01-28-4gb.img.xz
01/07/2017 12:12 PM <DIR> eMMC
01/07/2017 12:12 PM <DIR> Jessie_SD
01/07/2017 12:12 PM <DIR> Wheezy_SD
               9 File(s) 6,356,018,288 bytes
               5 Dir(s) 3,751,023,165,440 bytes free

So, I have written the latest Debian 9.3 image to a micro-SD card,
that was easy enough (though it would be nice if there were Linux how
to do it instructions on the basic BBB 'getting started' page).

Now I'm confused. There seem to be conflicting instructions about
what to do next.

First I simply put the new microSD card into my BBB and turned on, it
booted OK and I was able to ssh into it via ethernet but it was still
running the old OS, not the new one on te SD card.

  As I recall, my original BBB (with an old version of Wheezy) required
holding the boot button when applying power to get it to boot from SD card.
Once I'd flashed a newer image to the BBB, it seems the newer u-Boot (while
u-Boot loads from eMMC) would detect the SD card and complete the boot from
said card.

  I'm really about a year behind in updating my units so this is from
stale memory.

Searching a bit more there seem to be two ways to copy the OS to EMMC,
one involves holding a button down (but not clear which button) when
booting and the other involves editing /boot/uEnv.txt and rebooting.
However I'm still lost as to which works in my situation.

  Early release images came in non-flasher and flasher images. A flasher
image only required booting from the SD card to start flashing; and as
mentioned above, that might require holding the boot button.

  For a few years now all stock images are provided as non-flasher.
Booting from the SD card thereby /run/ using the SD card as the file
system.

  For the last few images, I typically boot to SD card, make
configuration changes (mostly: copy my home directory from eMMC to SD
card), ensure it is working for me... THEN edit the uEnv.txt on the SD card
and reboot to flash from card to eMMC.

  Remove SD card, reboot, verify it is okay. Install the SD card (do not
reboot) and mount it (I recall one or two images about 2 years ago that
would automount), reverse the uEnv.txt edit (returning the card to
non-flasher), and then perform the procedure to repartition the card to
make all the space available.

  With luck, once a modern image has been flashed, it will boot using the
SD card IF the card is in place when power is applied -- without needing to
hold the boot button.

  The other thing you'll encounter: Most documentation on device tree
overlays and the capemanager will be out-of-date. Sometime during the
Jessie images a conversion was made from having Linux load device tree
overlays into having u-Boot load them before starting Linux. {And yes --
I'd like to find better documentation for those too: so many books were
written for capemanager overlays and there isn't a clean example of how to
convert instructions from that era into the u-Boot overlay era}

  NOTE: this change from Linux to u-Boot device tree handling may also
cause problems -- having u-Boot in eMMC that detects an SD card during boot
might not run if the u-Boot assumed Linux loads the device tree, but the SD
card image is one that expected the device tree to have loaded by u-Boot.
Boot button needed to get the SD card u-Boot to load then...

On Sat, 17 Feb 2018 15:45:03 +0000, Chris Green
<cl@isbd.net> declaimed the following:

>I have a BBB (well, I have three actually) all running old versions of
>Debian (Debian 7 to be specific). I need to update to the latest Debian.
>
        One could ask "which 'Debian 7'?" My archive has image files for 7.8,
7.9, and 7.11.

It doesn't really matter does it, they're all going to be unsupported
quite soon.

>So, I have written the latest Debian 9.3 image to a micro-SD card,
>that was easy enough (though it would be nice if there were Linux how
>to do it instructions on the basic BBB 'getting started' page).
>
>Now I'm confused. There seem to be conflicting instructions about
>what to do next.
>
>First I simply put the new microSD card into my BBB and turned on, it
>booted OK and I was able to ssh into it via ethernet but it was still
>running the old OS, not the new one on te SD card.
>
        As I recall, my original BBB (with an old version of Wheezy) required
holding the boot button when applying power to get it to boot from SD card.
Once I'd flashed a newer image to the BBB, it seems the newer u-Boot (while
u-Boot loads from eMMC) would detect the SD card and complete the boot from
said card.

        I'm really about a year behind in updating my units so this is from
stale memory.

I think you're right but it's a pity this isn't all describd somewhere
as it's very confusing when one tries to do what the main BBB
documentation says and it doesn't work as described.

>Searching a bit more there seem to be two ways to copy the OS to EMMC,
>one involves holding a button down (but not clear which button) when
>booting and the other involves editing /boot/uEnv.txt and rebooting.
>However I'm still lost as to which works in my situation.
>
        Early release images came in non-flasher and flasher images. A flasher
image only required booting from the SD card to start flashing; and as
mentioned above, that might require holding the boot button.

        For a few years now all stock images are provided as non-flasher.
Booting from the SD card thereby /run/ using the SD card as the file
system.

        For the last few images, I typically boot to SD card, make
configuration changes (mostly: copy my home directory from eMMC to SD
card), ensure it is working for me... THEN edit the uEnv.txt on the SD card
and reboot to flash from card to eMMC.

        Remove SD card, reboot, verify it is okay. Install the SD card (do not
reboot) and mount it (I recall one or two images about 2 years ago that
would automount), reverse the uEnv.txt edit (returning the card to
non-flasher), and then perform the procedure to repartition the card to
make all the space available.

        With luck, once a modern image has been flashed, it will boot using the
SD card IF the card is in place when power is applied -- without needing to
hold the boot button.

        The other thing you'll encounter: Most documentation on device tree
overlays and the capemanager will be out-of-date. Sometime during the
Jessie images a conversion was made from having Linux load device tree
overlays into having u-Boot load them before starting Linux. {And yes --
I'd like to find better documentation for those too: so many books were
written for capemanager overlays and there isn't a clean example of how to
convert instructions from that era into the u-Boot overlay era}

        NOTE: this change from Linux to u-Boot device tree handling may also
cause problems -- having u-Boot in eMMC that detects an SD card during boot
might not run if the u-Boot assumed Linux loads the device tree, but the SD
card image is one that expected the device tree to have loaded by u-Boot.
Boot button needed to get the SD card u-Boot to load then...

Thanks for all this. I seem to have got to where I want to be now but
I'd be surprised if there aren't a few more hiccoughs. :slight_smile:

wait till you play with overlay files :slight_smile:

I've avoided anything like that so far, I simply have five or six
analogue inputs with Python code reading them and that's it. ... oh,
there is a serial RS232 output as well and some 1-wire inputs.
However there's nothing that requires re-mapping things at all.