aboutsummaryrefslogtreecommitdiffstats
path: root/rpi2-debian-stdkernel/format-sdcard.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpi2-debian-stdkernel/format-sdcard.py')
-rwxr-xr-xrpi2-debian-stdkernel/format-sdcard.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/rpi2-debian-stdkernel/format-sdcard.py b/rpi2-debian-stdkernel/format-sdcard.py
new file mode 100755
index 0000000..ea08728
--- /dev/null
+++ b/rpi2-debian-stdkernel/format-sdcard.py
@@ -0,0 +1,33 @@
+#!/usr/bin/python3
+
+import json
+import subprocess
+import sys
+
+def run(*l, **d):
+ print('run:', *l, d)
+ return subprocess.run(*l, **d)
+
+def main():
+ if len(sys.argv) < 2:
+ print('Usage: {} <device>'.format(sys.argv[0]), file=sys.stderr)
+ raise SystemExit(1)
+ device = sys.argv[1]
+ # first, clean possible gpt tables
+ run(['sudo', 'sgdisk', '--zap-all', device])
+ part_commands = '''
+ mklabel msdos
+ mkpart primary fat32 1M 99M
+ mkpart primary ext4 100M -1M
+ set 1 boot on
+ print
+ '''
+ run(['sudo', 'parted', device],
+ check=True, input=part_commands.encode('utf8'))
+ run(['sudo', 'mkfs.vfat', '-n', 'boot', device + '1', ], check=True)
+ run(['sudo', 'mkfs.ext4', '-q', '-F', '-L', 'root', device + '2'],
+ check=True)
+
+
+if __name__ == '__main__':
+ main()