• Stars
    star
    156
  • Rank 239,589 (Top 5 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Utility for creating LittleFS images for upload on the ESP8266 and RP2040 Pico

mklittlefs

Tool to build and unpack littlefs images. Based off of mkspiffs by Ivan Grokhotkov.

Usage


   mklittlefs  {-c <pack_dir>|-u <dest_dir>|-l|-i} [-d <0-5>] [-b <number>]
               [-p <number>] [-s <number>] [--] [--version] [-h]
               <image_file>


Where: 

   -c <pack_dir>,  --create <pack_dir>
     (OR required)  create littlefs image from a directory
         -- OR --
   -u <dest_dir>,  --unpack <dest_dir>
     (OR required)  unpack littlefs image to a directory
         -- OR --
   -l,  --list
     (OR required)  list files in littlefs image
         -- OR --


   -d <0-5>,  --debug <0-5>
     Debug level. 0 means no debug output.

   -b <number>,  --block <number>
     fs block size, in bytes

   -p <number>,  --page <number>
     fs page size, in bytes

   -s <number>,  --size <number>
     fs image size, in bytes

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

   --version
     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

   <image_file>
     (required)  LittleFS image file


Build

You need gcc (≥4.8) or clang(≥600.0.57), and make. On Windows, use MinGW.

Run:

$ git submodule update --init
$ make dist

LittleFS configuration

Some LittleFS options which are set at mklittlefs build time affect the format of the generated filesystem image. Make sure such options are set to the same values when builing mklittlefs and when building the application which uses LittleFS.

These options include:

  • LFS_NAME_MAX
  • possibly others

To see the default values of these options, check MAkefile file in this repository.

To override some options at build time, pass extra CPPFLAGS to make. You can also set BUILD_CONFIG_NAME variable to distinguish the built binary:

$ make clean
$ make dist CPPFLAGS="-DLFS_NAME_MAX=128" BUILD_CONFIG_NAME=-custom

To check which options were set when building mklittlefs, use --version command:

$ mklittlefs --version

./mklittlefs  version: 0.2.3-6-g9a0e072

Cross-compiling

To build for all cross compiled targets, run

docker run --user $(id -u):$(id -g) --rm -v $(pwd):/workdir earlephilhower/gcc-cross bash -c "cd /workdir; bash build-cross.sh"

License

MIT

To do

  • Add more debug output and print LittleFS debug output
  • Error handling
  • Code cleanup

More Repositories

1

ESP8266Audio

Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32
C
2,037
star
2

arduino-pico

Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards
C
2,030
star
3

ESP8266SAM

Speech synthesis for ESP8266 using S.A.M. port
C
308
star
4

ezfio

Simple NVME/SAS/SATA SSD test framework for Linux and Windows
Python
166
star
5

arduino-littlefs-upload

Build and uploads LittleFS filesystems for the Arduino-Pico RP2040, RP2350, ESP8266, and ESP32 cores under Arduino IDE 2.2.1 or higher
TypeScript
131
star
6

arduino-esp8266littlefs-plugin

Plugin to upload LittleFS filesystems to ESP8266
Java
125
star
7

bearssl-esp8266

Port of https://bearssl.org BearSSL to ESP8266
C
48
star
8

psychoclock

ESP8266 alarm clock with 8x32 LED display, NTP time, and MOD/WAV music alarms
Objective-C
43
star
9

pico-quick-toolchain

GCC Cross-compiler chain for Raspberry Pi Pico
Makefile
35
star
10

arduino-pico-littlefs-plugin

LittleFS Data Uploader for Arduino-Pico
Java
29
star
11

psychoplug

ESP8266 power outlet replacement firmware with standalone HTTP scheduler and MQTT integration
C++
27
star
12

aquaweb

Control Jandy Aqualink via a web interface
Python
20
star
13

ESP8266AudioMP3

Port of Helix MP3 code to ESP8266
C
12
star
14

libmad-8266

Port of libmad to ESP-8266 Arduino IDE - for historical purposes only, see ESP8266Audio for updated versions
C++
9
star
15

ESP8266FastROMFS

Higher-speed filesystem to replace SPIFFS in apps not needing all SPIFFs assurances.
C++
9
star
16

SPIFTL

Embedded, Static Wear-Leveling FTL Library for Microcontrollers
C++
8
star
17

ESP8266WavetableSynth

Obsolete, please use ESP8266Audio - TinySoundFont + MidiTones based MIDI player using SoundFont2 patch sets.
C
1
star
18

eggplotter

Based off of https://www.thingiverse.com/thing:3564057 Egg Plotter
C++
1
star