update wiki
This commit is contained in:
		
							parent
							
								
									87dc42ed36
								
							
						
					
					
						commit
						e61d00bf5e
					
				| 
						 | 
					@ -0,0 +1,115 @@
 | 
				
			||||||
 | 
					# How to Create an Official PicoCalc SD Card  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The purpose of this wiki is to document the partitioning and creation process of the official PicoCalc SD card.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					⚠ Warning: This process involves disk partitioning and formatting, which may result in data loss if performed incorrectly. Do not proceed unless you have sufficient experience with Linux system administration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					We are not responsible for any data loss or damage caused by improper use of these instructions. Proceed at your own risk.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Script  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEVICE="/dev/$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$DEVICE" ]; then
 | 
				
			||||||
 | 
					  echo "No disk"
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ ! -b "$DEVICE" ]; then
 | 
				
			||||||
 | 
					  echo "$DEVICE not existed"
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Warn: $DEVICE will be destroyed and all data on this disk will be lost,Do you want to continue?"
 | 
				
			||||||
 | 
					read -p "Confirm?(y/n) " confirm
 | 
				
			||||||
 | 
					if [ "$confirm" != "y" ]; then
 | 
				
			||||||
 | 
					  echo "Canceled"
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Begin partition..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# use parted to create msdos partition table
 | 
				
			||||||
 | 
					echo "Create msdos partition table..."
 | 
				
			||||||
 | 
					parted "$DEVICE" mklabel msdos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOTAL_SIZE=$(lsblk -bno SIZE "$DEVICE")
 | 
				
			||||||
 | 
					SIZE_MB=$(( TOTAL_SIZE / 1024 / 1024 ))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PART1_SIZE=$(( SIZE_MB - 32 ))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Create first partition in size ${PART1_SIZE}MB, FAT32..."
 | 
				
			||||||
 | 
					parted "$DEVICE" mkpart primary fat32 1MiB ${PART1_SIZE}MiB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sleep 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Format first partition FAT32..."
 | 
				
			||||||
 | 
					mkfs.fat -F32 -v -I  "${DEVICE}1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Create second partition in size 32MB..."
 | 
				
			||||||
 | 
					parted "$DEVICE" mkpart primary ${PART1_SIZE}MiB 100%
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "All done:"
 | 
				
			||||||
 | 
					fdisk -l "$DEVICE"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## How to Use the Script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Insert a blank SD card into your computer.
 | 
				
			||||||
 | 
					- Run the script:
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					sudo ./partition_usb_32mb.sh sdb
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					(Replace "sdb" with the correct device name for your SD card.) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***BE CARFUL ABOUT THIS***
 | 
				
			||||||
 | 
					***BE CARFUL ABOUT THIS***
 | 
				
			||||||
 | 
					***BE CARFUL ABOUT THIS***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you are not careful, all the original data on the disk will be destroyed.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This script prepares the SD card for PicoMite, uLisp, NES emulators, and other Pico firmware using the fatfs library.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Additionally, FUZIX can use `/dev/sdb2` (32MB partition) as its root filesystem, as FUZIX supports a maximum partition size of 32MB.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Flashing the FUZIX 32MB Image
 | 
				
			||||||
 | 
					- Download the FUZIX image:
 | 
				
			||||||
 | 
					 [PicoCalc_Fuzix_v1.0.img](https://github.com/clockworkpi/PicoCalc/blob/master/Bin/PicoCalc%20SD/firmware/PicoCalc_Fuzix_v1.0.img)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Flash the image to the second partition:
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					sudo dd if=filesystem.img of=/dev/sdb2
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Example Partition Layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After running the script, your SD card should have the following partition structure:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Disk /dev/sdb: 59.48 GiB, 63864569856 bytes, 124735488 sectors
 | 
				
			||||||
 | 
					Disk model: STORAGE DEVICE  
 | 
				
			||||||
 | 
					Units: sectors of 1 * 512 = 512 bytes
 | 
				
			||||||
 | 
					Sector size (logical/physical): 512 bytes / 512 bytes
 | 
				
			||||||
 | 
					I/O size (minimum/optimal): 512 bytes / 512 bytes
 | 
				
			||||||
 | 
					Disklabel type: dos
 | 
				
			||||||
 | 
					Disk identifier: 0x66a93eb2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Device     Boot     Start       End   Sectors  Size Id Type
 | 
				
			||||||
 | 
					/dev/sdb1            2048 124669951 124667904 59.4G  c W95 FAT32 (LBA)
 | 
				
			||||||
 | 
					/dev/sdb2       124669952 124735487     65536   32M 83 Linux
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Now your SD card is ready for PicoCalc, FUZIX, and other supported firmware!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue