text: 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
  