Discussion Kickoff


Many of you have browsed my hardware and software repositories on Github, and read some of the more detailed discussions in the hidden Beyond the Manual section of the official community site.

There is, however, much more information available than these sources.

Much of what I have discovered through my explorations has yet to be published (it’s mostly chicken scratch notes on various loose leaf pages or scribbled on datasheets), mostly due to lack of free time. But, if you have a specific question, and I have an answer, I’m happy to shed whatever light I can.

So, feel free to ask about things you would like to know, and please chime in and share what you already do…


Is there a way to get in if GF releases a firmware update with a non-blank root password?


Sure is!

Assuming they do not lock down the bootloader:

1. Interupt the boot to get a U-Boot prompt:

U-Boot 2015.07 (Jun 07 2017 - 21:49:35 +0000)

CPU:   Freescale i.MX6SOLO rev1.3 996 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 33C
Reset cause: POR
Board: Glowforge Control Board v200
DRAM:  511 MiB
In:    serial
Out:   serial
Err:   serial
Current boot flags: 00000001
Boot attempts:      1
Software resets:    0
Watchdog timeouts:  0
Hit any key to stop autoboot:  0 

2. Set the mmcargs environment variable:

=> env set mmcargs setenv bootargs console=${console},${baudrate} consoleblank=0 root=${mmcroot} rw quiet ramoops.mem_address=0x${pstore_addr} ramoops.mem_size=0x${pstore_size} ramoops.record_size=0x2000 ramoops.console_size=0x2000 ramoops.ecc=1 ramoops.dump_oops=1 emergency init=/bin/sh

3. Boot the system:

=> boot
switch to partitions #0, OK
mmc1(part 0) is current device
** File not found /boot/uEnv.txt **
5195760 bytes read in 420 ms (11.8 MiB/s)
Booting from mmc1.0 ...
** File not found /boot/imx6dl-glowforge-v200.dtb **
37679 bytes read in 200 ms (183.6 KiB/s)
Kernel image @ 0x12000000 [ 0x000000 - 0x4f47f0 ]
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1800c32e

Starting kernel ...

failed to set parent of clk gpu2d_core_sel to pll2_pfd1_594m: -22
EXT3-fs (mmcblk2p1): error: couldn't mount because of unsupported optional features (240)
EXT2-fs (mmcblk2p1): error: couldn't mount because of unsupported optional features (244)
/bin/sh: can't access tty; job control turned off
/ # 

4. Change the root password:

/ # passwd
Changing password for root
New password: ***********
Retype password: **********
Password for root changed by root
/ # 

5. Reboot, and login with your new password!

 / # reboot

If they lock the bootloader, you get to use the OTG USB connector (the one to the right of the console port USB connector) and force it into recovery mode. I’ll post instructions for that in another post. :smiley:

There are not a lot of ways that they can lock the firmware that can’t be undone.