Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:guide-user:installation:installation_methods:sd_card [2023/03/31 05:43] – [Expanding the filesystem] wryun | docs:guide-user:installation:installation_methods:sd_card [2024/12/13 16:42] (current) – [Expanding the filesystem] fix link for correct location palebloodsky | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== SD card ====== | ====== SD card ====== | ||
| - | Installation | + | OpenWrt |
| + | ==== Graphical Utilities ==== | ||
| - | ===== Prebuilt disk images ===== | + | Install [[https:// |
| + | - Download the image for your device which will be named similar to '' | ||
| + | - Select the image | ||
| + | - Select your SD card | ||
| + | - Flash the image | ||
| - | + | ==== Command Line ==== | |
| - | + | - Download the image for your device | |
| - | ==== General procedure: | + | |
| - | **Linux :** | + | |
| - | - Download the correct | + | |
| - Decompress it: < | - Decompress it: < | ||
| - | - Connect | + | - Connect |
| - | - Double check that you have identified your sd card correctly. If the ''/ | + | - Double check you identified your SD card correctly. If the ''/ |
| - | - copy the image to the sd card with: < | + | - Copy the image to the SD card with: < |
| - | + | ||
| - | **Other OS :** \\ | + | |
| - | + | ||
| - | https:// | + | |
| - | - Download the correct image for your device. Probably named similar to '' | + | |
| - | - Select the image. | + | |
| - | - Select your SD card. | + | |
| - | - Flash the image. | + | |
| - | + | ||
| - | Examples: | + | |
| - | * [[toh: | + | |
| - | * [[: | + | |
| ==== Which image to chose? ==== | ==== Which image to chose? ==== | ||
| - | Often a device has multiple images available which differ in the [[: | + | Most SD card devices have multiple images available which differ in the [[: |
| === ext4-sdcard.img.gz === | === ext4-sdcard.img.gz === | ||
| - | * not optimized for flash memory (journaling increases flash wear) | + | * Not optimized for flash memory (journaling increases flash wear) |
| - | * sd card can be easily mounted externally for modification | + | * SD card can be easily mounted externally for modification |
| - | * updates | + | * Updates |
| * Linux desktop standard | * Linux desktop standard | ||
| === squashfs-sdcard.img.gz === | === squashfs-sdcard.img.gz === | ||
| - | * compressed | + | * Compressed |
| - | * newer images include a hidden | + | * Newer images include a hidden |
| - | * needs special mount procedure to externally modify | + | * Needs special mount procedure to externally modify |
| - | * all changes are done in an overlay partition | + | * All changes are done in an overlay partition |
| - | * due to overlay partition it is simple to reset system to defaults | + | * Due to overlay partition it is simple to reset system to defaults |
| - | == other images == | + | === Other images |
| * ubifs-sdcard.img.gz | * ubifs-sdcard.img.gz | ||
| - | ==== Expanding the filesystem | + | ==== Mounting a squashfs image locally |
| - | To use the whole available space of your sdcard, you probably have to resize your partition. | + | |
| - | === squashfs | + | If you insert your newly flashed SD card into a Linux computer it will be easy to mount the read only squashfs |
| - | To resize the squashfs-image one has to know the offset of the hidden f2fs filesystem. | + | So, first you need to make sure you've booted your image. You then need to mount the overlay as a loopback device. You can discover |
| - | In this example, the squashfs partiton is ''/ | + | |
| - | - You can find the offset, by running '' | + | |
| - | - On your computer, resize | + | |
| - | - Loop mount the underlying f2fs partition (( If you are already using a loop device, you may have to use another number that loop0 )) < | + | |
| - | - Run filesystem | + | |
| - | - Resize f2fs filesystem < | + | |
| - | Now your filesystem should be recognized with the correct size. | + | |
| - | === squashfs image on computer | + | < |
| + | # Setup the loop back device. | ||
| + | # See libfstools/ | ||
| + | DEVICE= ### Set this appropriately - e.g. /dev/sda | ||
| + | PARTITION=" | ||
| + | FS_SIZE=" | ||
| + | FS_OFFSET=" | ||
| + | LOOP_DEVICE=" | ||
| + | |||
| + | # Now mount both partitions (remember, you may need to unmount any automatic mounts) | ||
| + | mkdir -p /mnt/base / | ||
| + | sudo mount " | ||
| + | sudo mount " | ||
| + | sudo mount -o noatime, | ||
| + | </ | ||
| + | |||
| + | This should leave you with a writable filesystem in / | ||
| + | |||
| + | ==== Expanding the filesystem ==== | ||
| + | |||
| + | To use the whole available space of your SD card, you may have to resize your partition. | ||
| + | |||
| + | === squashfs image === | ||
| - | If you want to resize | + | First, make sure the partition is not mounted, then do something like: |
| < | < | ||
| Line 69: | Line 73: | ||
| PARTITION=" | PARTITION=" | ||
| sudo cfdisk " | sudo cfdisk " | ||
| + | </ | ||
| + | If you've never booted the image that's all there is to it. OpenWrt will create an overlay which uses the rest of this partition on the first boot. | ||
| + | |||
| + | However, if you already booted the image OpenWrt will have created an overlay that is smaller, so you'll need to resize the filesystem. Expand the partition as above, then: | ||
| + | |||
| + | < | ||
| # Create a loop device pointing to the FS | # Create a loop device pointing to the FS | ||
| # See libfstools/ | # See libfstools/ | ||
| Line 76: | Line 86: | ||
| LOOP_DEVICE=" | LOOP_DEVICE=" | ||
| - | # Now, resize... you may need to fsck first, though. | + | # Now to resize... you may need to use fsck first though. |
| sudo fsck " | sudo fsck " | ||
| sudo resize2fs " | sudo resize2fs " | ||
| + | sudo fsck " | ||
| </ | </ | ||
| + | |||
| + | If you get an error from resize2fs about a bad superblock, you probably have an F2FS filesystem. Use '' | ||
| === ext4 image === | === ext4 image === | ||
| - | You can use gparted to resize and extend the partitions. | + | You can use '' |
| - | To do it online, follow the procedure | + | To do it online, follow the procedure |
| Example, to resize ''/ | Example, to resize ''/ | ||
| Line 113: | Line 126: | ||
| - Copy bootloader, kernel, rootfs (and if necessary other data) to SD card. Details devicespecific? | - Copy bootloader, kernel, rootfs (and if necessary other data) to SD card. Details devicespecific? | ||
| - Possibly resize filesystem in order to use the complete available space on the SD card | - Possibly resize filesystem in order to use the complete available space on the SD card | ||
| - | - ... | ||
| - | ===== Devices with this installation method ===== | ||
| - | ---- datatable ---- | ||
| - | cols : Brand, Model, Versions, Supported Current Rel_releasecurrent, | ||
| - | dynfilters : 1 | ||
| - | filter | ||
| - | filter | ||
| - | sort : Brand | ||
| - | limit : 25 | ||
| - | ---- | ||