312c699491
This commit changes the default filesystem type for esp32 to littlefs v2. This port already enables both VfsFat and VfsLfs2, so either can be used for the filesystem, and existing systems that use FAT will still work.
50 lines
1.0 KiB
Python
50 lines
1.0 KiB
Python
import uos
|
|
from flashbdev import bdev
|
|
|
|
|
|
def check_bootsec():
|
|
buf = bytearray(bdev.ioctl(5, 0)) # 5 is 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.VfsLfs2.mkfs(bdev)
|
|
vfs = uos.VfsLfs2(bdev)
|
|
uos.mount(vfs, "/")
|
|
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
|