| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import uos
- from flashbdev import bdev
- def check_bootsec():
- buf = bytearray(bdev.SEC_SIZE)
- bdev.readblocks(0, buf)
- empty = True
- for b in buf:
- if b != 0xff:
- empty = False
- break
- if empty:
- return True
- fs_corrupted()
- def fs_corrupted():
- import time
- while 1:
- print("""\
- FAT filesystem appears to be corrupted. If you had important data there, you
- may want to make a flash snapshot to try to recover it. Otherwise, perform
- factory reprogramming of MicroPython firmware (completely erase flash, followed
- by firmware programming).
- """)
- time.sleep(3)
- def setup():
- check_bootsec()
- print("Performing initial setup")
- uos.VfsFat.mkfs(bdev)
- vfs = uos.VfsFat(bdev)
- uos.mount(vfs, '/flash')
- uos.chdir('/flash')
- with open("boot.py", "w") as f:
- f.write("""\
- # This file is executed on every boot (including wake-boot from deepsleep)
- #import esp
- #esp.osdebug(None)
- #import webrepl
- #webrepl.start()
- """)
- return vfs
|