michaelshmitty / SD-Installer-macos_MiSTer

MiSTer SD card installer (macOS)
GNU General Public License v3.0
33 stars 7 forks source link

Check default block size #8

Open michaelshmitty opened 4 years ago

michaelshmitty commented 4 years ago

See https://github.com/MiSTer-devel/SD-Installer-Win64_MiSTer/issues/10

MAME-GETTER commented 4 years ago

I ended up forking your you repo.

My commits can be seen here in my fork: https://github.com/MAME-GETTER/SD-Installer-macos_MiSTer/commit/4b2483e56d92929964084aba6d9936180b6349c7

I submit a PR if you want.

I ran test with fresh installs with the MiSTer-sd-installer-linux.sh with both your script and my forked script with block size set to 32K here are the results:

I also ran the update_all.sh script https://github.com/theypsilon/Update_All_MiSTer to bring the the card up to date and download all of the MAME roms and to organize the _Arcade directory.

The -arcade-organizer script creates many symlinks to organize the _Arcade directory. these links 30 to 50 bytes in size. However because of the block size for the file system they end up taking more space. this is show in the examples below.

No BS set for 32GB SDCard with MiSTer-sd-installer-linux.sh

/media/fat/_Arcade# du -sh * | grep -v mra
130M    _Organized
25M    _alternatives
235M    cores

/media/fat/_Arcade/_Organized/_1 A-E# du -sh * 
32K 1941  Counter Attack -Japan-.mra
32K 1941  Counter Attack -USA 900227-.mra
32K 1941  Counter Attack -World 900227-.mra
32K 1941  Counter Attack -World-.mra
32K 1942.mra
32K 1943 Kai Midway Kaisen.mra
32K 1943 Midway Kaisen.mra
32K 1943 The Battle of Midway Mark II.mra
32K 1943 The Battle of Midway.mra
32K Abortman - HBMame.mra
32K Adventure Quiz Capcom World 2 -Japan 920611, B-Board 90629B-3, no battery-.mra
32K Adventure Quiz Capcom World 2 -Japan 920611, B-Board 91634B-2-.mra
32K Adventure Quiz Capcom World 2 -Japan 920611-.mra
32K Aerolitos (Spanish bootleg of Asteroids).mra
32K Alibaba 40 Thieves.mra
32K Alien Arena.mra
32K Amidar.mra
32K Andromeda - HBMame.mra
32K Anteater.mra
32K Apocaljpse Now (bootleg of Rescue).mra
32K Area 88 -Japan Resale Ver.-.mra
32K Area 88 -Japan-.mra
32K Arkanoid (Game Corporation bootleg, set 1).mra
32K Arkanoid (Game Corporation bootleg, set 2).mra
32K Arkanoid (Tayto bootleg, harder).mra
32K Arkanoid (Unlimited Lives).mra
32K Arkanoid (unl.lives, slower).mra
32K Arkanoid.mra
32K Armored Car (set 2).mra
32K Armored Car.mra
32K Asterock (Sidam bootleg of Asteroids).mra
32K Asterock (Videotron bootleg of Asteroids).mra
32K Asteroids (Six-Bullet Hack) - HBMame.mra
32K Asteroids (rev 1).mra
32K Asteroids (rev 2).mra
32K Asteroids Deluxe (Unknown Revision) [h] - HBMame.mra
32K Asteroids Deluxe (rev 1).mra
32K Asteroids Deluxe (rev 2).mra
32K Asteroids Deluxe.mra
32K Asteroids.mra
32K Astrians (clone of Swarm).mra
32K Astropede - HBMame.mra
32K Astropede II - HBMame.mra
32K Ataque Sideral (Spanish bootleg of UniWar S).mra
32K Ave Fenix (Electrogame, Spanish bootleg of Phoenix).mra
32K Ave Fenix (Laguna, Spanish bootleg of Phoenix).mra
32K Ave Fenix (Recreativos Franco, Spanish bootleg of Phoenix).mra
32K Azurian Attack.mra
32K Baby Pacman 2 (Alt) - HBMame.mra
32K Baby Pacman 3 (Alt) - HBMame.mra
32K Bagman (Stern Electronics, set 1).mra
32K Bagman (Stern Electronics, set 2).mra
32K Bagman (Taito).mra
32K Bagman Turbo (Stern set 1) [c] - HBMame.mra
32K Bagman.mra
32K Battle Road.mra
32K Battle of Atlantis.mra
32K Battles (set 2).mra
32K Beastie Feastie.mra
32K Berzerk (French Speech, revision RC31).mra
32K Berzerk (German Speech, revision RC32).mra
32K Berzerk (Spanish Speech, revision RC32).mra
32K Berzerk (revision RC28).mra
32K Berzerk (revision RC31).mra
32K Berzerk.mra
32K Biaofeng Zhanjing -Chinese bootleg of The Punisher-.mra
32K Big Kong.mra
32K Bionic Commando.mra
32K Birdiy.mra
32K Black Hole.mra
32K Black Tiger.mra
32K Black Widow.mra
32K Block (Game Corporation bootleg, set 1).mra
32K Block (Game Corporation bootleg, set 2).mra
32K Bomb Jack (Bootleg) - HBMame.mra
32K Bomb Jack (Greek) - HBMame.mra
32K Bomb Jack (Red) - HBMame.mra
32K Bomb Jack (Translation Chinese) - HBMame.mra
32K Bomb Jack (set 2).mra
32K Bomb Jack.mra
32K Botanic (French).mra
32K Botanic.mra
32K Brakman - HBMame.mra
32K Bubbles (Solid Red label).mra
32K Bubbles (prototype version).mra
32K Bubbles.mra
32K Bump 'n' Jump (Midway).mra
32K Bump 'n' Jump Reverse Mod - HBMame.mra
32K Bump 'n' Jump.mra
32K Burger Time (Data East set 2).mra
32K Burger Time.mra
32K BurningRubber.mra
32K Calipso.mra
32K Candory (Ponpoko bootleg with Mario).mra
32K Canyon Bomber.mra
32K Capitol.mra
32K Captain Commando -Japan 910928-.mra
32K Captain Commando -Japan 911202-.mra
32K Captain Commando -USA 910928-.mra
32K Captain Commando -World 911014-.mra
32K Captain Commando -World 911202-.mra
32K Car Action (set 1).mra
32K Car Action (set 2).mra
32K Carrier Air Wing -USA 901012-.mra
32K Carrier Air Wing -USA 901130-.mra
32K Carrier Air Wing -World 901009-.mra
32K Carrier Air Wing -World 901012-.mra
32K Catacomb.mra
32K Caterpillar - HBMame.mra
32K Cemescary - HBMame.mra
32K Centipede (revision 1).mra
32K Centipede (revision 2).mra
32K Centipede (revision 3).mra
32K Centipede Dux (hack).mra
32K Centipede.mra
32K Chiki Chiki Boys -Japan 900619-.mra
32K Coccinelle (bootleg of Lady Bug, set 2).mra
32K Colony 7 (set 2).mra
32K Colony 7.mra
32K Commando.mra
32K Computer Space.mra
32K Cosmic Avenger.mra
32K Crackhead - HBMame.mra
32K Crater Raider.mra
32K Crazy Climber (US set 2).mra
32K Crazy Climber.mra
32K Crazy Kong (Orca bootleg).mra
32K Crazy Kong Part II (Graphic Fix) - HBMame.mra
32K Crazy Kong Part II (Japan).mra
32K Crazy Kong Part II (Jeutel bootleg).mra
32K Crazy Kong Part II (bootleg).mra
32K Crazy Kong Part II (set 2).mra
32K Crazy Kong Part II -1 - HBMame.mra
32K Crazy Kong Part II -2 - HBMame.mra
32K Crazy Kong Part II.mra
32K Crazy Pac - HBMame.mra
32K Crush Roller.mra
32K Daimakaimura -Japan Resale Ver.-.mra
32K Daimakaimura -Japan-.mra
32K Dark Planet (no bkg).mra
32K Dark Planet.mra
32K Defender.mra
32K Demolition Derby.mra
32K Devil Fish.mra
32K Dig Dug (Atari, rev 1).mra
32K Dig Dug (Atari, rev 2).mra
32K Dig Dug (manufactured by Sidam).mra
32K Dig Dug (rev 1).mra
32K Dig Dug II (Old Ver.).mra
32K Dig Dug.mra
32K DigDug2.mra
32K Dinosaur Hunter -Chinese bootleg of Cadillacs and Dinosaurs-.mra
32K Discs of Tron (Upright alternate).mra
32K Discs of Tron.mra
32K Dizzy Ghost - A Reversal of Roles - HBMame.mra
32K Domino Man.mra
32K Dominos.mra
32K Donkey Kong (2 marios) - HBMame.mra
32K Donkey Kong (2600 graphics) - HBMame.mra
32K Donkey Kong (Japan set 1).mra
32K Donkey Kong (Japan set 2).mra
32K Donkey Kong (Japan set 3).mra
32K Donkey Kong (Pacman graphics) - HBMame.mra
32K Donkey Kong (US set 1 with barrel control coloring) - HBMame.mra
32K Donkey Kong (US set 2).mra
32K Donkey Kong (hard kit).mra
32K Donkey Kong (patched) - HBMame.mra
32K Donkey Kong Foundry (hack).mra
32K Donkey Kong Foundry - HBMame.mra
32K Donkey Kong Freerun Edition - HBMame.mra
32K Donkey Kong Pace - HBMame.mra
32K Donkey Kong Pauline Edition Rev 5 (2013-04-22).mra
32K Donkey Kong Remix demo 1.8 - HBMame.mra
32K Donkey Kong Reverse - HBMame.mra
32K Donkey Kong Trainer 1.01 - HBMame.mra
32K Donkey Kong.mra
32K Dorodon (set 2).mra
32K Dorodon.mra
32K Double Dragon (US set 1).mra
32K Double Dragon (US set 2).mra
32K Double Dragon (US set 3).mra
32K Double Dragon (World set 1).mra
32K Double Dragon (World set 2).mra
32K Double Dragon (bootleg).mra
32K Double Dragon II - The Revenge (Japan).mra
32K Double Dragon II - The Revenge (US).mra
32K Double Dragon II - The Revenge.mra
32K Double Dragon.mra
32K Dream Shopper.mra
32K Druaga.mra
32K Dynasty Wars -USA, B-Board 88622B-3-.mra
32K Dynasty Wars -USA, B-Board 89624B- -.mra
32K Eeekk!.mra
32K Eggor.mra
32K Elton Pac - HBMame.mra
32K Euro Pac - HBMame.mra
32K Extra Bases.mra
32K Eyes (Italy).mra
32K Eyes (US set 2).mra
32K Eyes.mra

BS=32K for 32GB SDcard with MiSTer-sd-installer-linux.sh

/media/fat/_Arcade# du -sh * | grep -v mra 
66M    _Organized
14M    _alternatives
234M    cores

/media/fat/_Arcade/_Organized/_1 A-E# du -sh *
16K 1941  Counter Attack -Japan-.mra
16K 1941  Counter Attack -USA 900227-.mra
16K 1941  Counter Attack -World 900227-.mra
16K 1941  Counter Attack -World-.mra
16K 1942.mra
16K 1943 Kai Midway Kaisen.mra
16K 1943 Midway Kaisen.mra
16K 1943 The Battle of Midway Mark II.mra
16K 1943 The Battle of Midway.mra
16K Abortman - HBMame.mra
16K Adventure Quiz Capcom World 2 -Japan 920611, B-Board 90629B-3, no battery-.mra
16K Adventure Quiz Capcom World 2 -Japan 920611, B-Board 91634B-2-.mra
16K Adventure Quiz Capcom World 2 -Japan 920611-.mra
16K Aerolitos (Spanish bootleg of Asteroids).mra
16K Alibaba 40 Thieves.mra
16K Alien Arena.mra
16K Amidar.mra
16K Andromeda - HBMame.mra
16K Anteater.mra
16K Apocaljpse Now (bootleg of Rescue).mra
16K Area 88 -Japan Resale Ver.-.mra
16K Area 88 -Japan-.mra
16K Arkanoid (Game Corporation bootleg, set 1).mra
16K Arkanoid (Game Corporation bootleg, set 2).mra
16K Arkanoid (Tayto bootleg, harder).mra
16K Arkanoid (Unlimited Lives).mra
16K Arkanoid (unl.lives, slower).mra
16K Arkanoid.mra
16K Armored Car (set 2).mra
16K Armored Car.mra
16K Asterock (Sidam bootleg of Asteroids).mra
16K Asterock (Videotron bootleg of Asteroids).mra
16K Asteroids (Six-Bullet Hack) - HBMame.mra
16K Asteroids (rev 1).mra
16K Asteroids (rev 2).mra
16K Asteroids Deluxe (Unknown Revision) [h] - HBMame.mra
16K Asteroids Deluxe (rev 1).mra
16K Asteroids Deluxe (rev 2).mra
16K Asteroids Deluxe.mra
16K Asteroids.mra
16K Astrians (clone of Swarm).mra
16K Astropede - HBMame.mra
16K Astropede II - HBMame.mra
16K Ataque Sideral (Spanish bootleg of UniWar S).mra
16K Ave Fenix (Electrogame, Spanish bootleg of Phoenix).mra
16K Ave Fenix (Laguna, Spanish bootleg of Phoenix).mra
16K Ave Fenix (Recreativos Franco, Spanish bootleg of Phoenix).mra
16K Azurian Attack.mra
16K Baby Pacman 2 (Alt) - HBMame.mra
16K Baby Pacman 3 (Alt) - HBMame.mra
16K Bagman (Stern Electronics, set 1).mra
16K Bagman (Stern Electronics, set 2).mra
16K Bagman (Taito).mra
16K Bagman Turbo (Stern set 1) [c] - HBMame.mra
16K Bagman.mra
16K Battle Road.mra
16K Battle of Atlantis.mra
16K Battles (set 2).mra
16K Beastie Feastie.mra
16K Berzerk (French Speech, revision RC31).mra
16K Berzerk (German Speech, revision RC32).mra
16K Berzerk (Spanish Speech, revision RC32).mra
16K Berzerk (revision RC28).mra
16K Berzerk (revision RC31).mra
16K Berzerk.mra
16K Biaofeng Zhanjing -Chinese bootleg of The Punisher-.mra
16K Big Kong.mra
16K Bionic Commando.mra
16K Birdiy.mra
16K Black Hole.mra
16K Black Tiger.mra
16K Black Widow.mra
16K Block (Game Corporation bootleg, set 1).mra
16K Block (Game Corporation bootleg, set 2).mra
16K Bomb Jack (Bootleg) - HBMame.mra
16K Bomb Jack (Greek) - HBMame.mra
16K Bomb Jack (Red) - HBMame.mra
16K Bomb Jack (Translation Chinese) - HBMame.mra
16K Bomb Jack (set 2).mra
16K Bomb Jack.mra
16K Botanic (French).mra
16K Botanic.mra
16K Brakman - HBMame.mra
16K Bubbles (Solid Red label).mra
16K Bubbles (prototype version).mra
16K Bubbles.mra
16K Bump 'n' Jump (Midway).mra
16K Bump 'n' Jump Reverse Mod - HBMame.mra
16K Bump 'n' Jump.mra
16K Burger Time (Data East set 2).mra
16K Burger Time.mra
16K BurningRubber.mra
16K Calipso.mra
16K Candory (Ponpoko bootleg with Mario).mra
16K Canyon Bomber.mra
16K Capitol.mra
16K Captain Commando -Japan 910928-.mra
16K Captain Commando -Japan 911202-.mra
16K Captain Commando -USA 910928-.mra
16K Captain Commando -World 911014-.mra
16K Captain Commando -World 911202-.mra
16K Car Action (set 1).mra
16K Car Action (set 2).mra
16K Carrier Air Wing -USA 901012-.mra
16K Carrier Air Wing -USA 901130-.mra
16K Carrier Air Wing -World 901009-.mra
16K Carrier Air Wing -World 901012-.mra
16K Catacomb.mra
16K Caterpillar - HBMame.mra
16K Cemescary - HBMame.mra
16K Centipede (revision 1).mra
16K Centipede (revision 2).mra
16K Centipede (revision 3).mra
16K Centipede Dux (hack).mra
16K Centipede.mra
16K Chiki Chiki Boys -Japan 900619-.mra
16K Coccinelle (bootleg of Lady Bug, set 2).mra
16K Colony 7 (set 2).mra
16K Colony 7.mra
16K Commando.mra
16K Computer Space.mra
16K Cosmic Avenger.mra
16K Crackhead - HBMame.mra
16K Crater Raider.mra
16K Crazy Climber (US set 2).mra
16K Crazy Climber.mra
16K Crazy Kong (Orca bootleg).mra
16K Crazy Kong Part II (Graphic Fix) - HBMame.mra
16K Crazy Kong Part II (Japan).mra
16K Crazy Kong Part II (Jeutel bootleg).mra
16K Crazy Kong Part II (bootleg).mra
16K Crazy Kong Part II (set 2).mra
16K Crazy Kong Part II -1 - HBMame.mra
16K Crazy Kong Part II -2 - HBMame.mra
16K Crazy Kong Part II.mra
16K Crazy Pac - HBMame.mra
16K Crush Roller.mra
16K Daimakaimura -Japan Resale Ver.-.mra
16K Daimakaimura -Japan-.mra
16K Dark Planet (no bkg).mra
16K Dark Planet.mra
16K Defender.mra
16K Demolition Derby.mra
16K Devil Fish.mra
16K Dig Dug (Atari, rev 1).mra
16K Dig Dug (Atari, rev 2).mra
16K Dig Dug (manufactured by Sidam).mra
16K Dig Dug (rev 1).mra
16K Dig Dug II (Old Ver.).mra
16K Dig Dug.mra
16K DigDug2.mra
16K Dinosaur Hunter -Chinese bootleg of Cadillacs and Dinosaurs-.mra
16K Discs of Tron (Upright alternate).mra
16K Discs of Tron.mra
16K Dizzy Ghost - A Reversal of Roles - HBMame.mra
16K Domino Man.mra
16K Dominos.mra
16K Donkey Kong (2 marios) - HBMame.mra
16K Donkey Kong (2600 graphics) - HBMame.mra
16K Donkey Kong (Japan set 1).mra
16K Donkey Kong (Japan set 2).mra
16K Donkey Kong (Japan set 3).mra
16K Donkey Kong (Pacman graphics) - HBMame.mra
16K Donkey Kong (US set 1 with barrel control coloring) - HBMame.mra
16K Donkey Kong (US set 2).mra
16K Donkey Kong (hard kit).mra
16K Donkey Kong (patched) - HBMame.mra
16K Donkey Kong Foundry (hack).mra
16K Donkey Kong Foundry - HBMame.mra
16K Donkey Kong Freerun Edition - HBMame.mra
16K Donkey Kong Pace - HBMame.mra
16K Donkey Kong Pauline Edition Rev 5 (2013-04-22).mra
16K Donkey Kong Remix demo 1.8 - HBMame.mra
16K Donkey Kong Reverse - HBMame.mra
16K Donkey Kong Trainer 1.01 - HBMame.mra
16K Donkey Kong.mra
16K Dorodon (set 2).mra
16K Dorodon.mra
16K Double Dragon (US set 1).mra
16K Double Dragon (US set 2).mra
16K Double Dragon (US set 3).mra
16K Double Dragon (World set 1).mra
16K Double Dragon (World set 2).mra
16K Double Dragon (bootleg).mra
16K Double Dragon II - The Revenge (Japan).mra
16K Double Dragon II - The Revenge (US).mra
16K Double Dragon II - The Revenge.mra
16K Double Dragon.mra
16K Dream Shopper.mra
16K Druaga.mra
16K Dynasty Wars -USA, B-Board 88622B-3-.mra
16K Dynasty Wars -USA, B-Board 89624B- -.mra
16K Eeekk!.mra
16K Eggor.mra
16K Elton Pac - HBMame.mra
16K Euro Pac - HBMame.mra
16K Extra Bases.mra
16K Eyes (Italy).mra
16K Eyes (US set 2).mra
16K Eyes.mra

There is more than %50 difference in size when block size is set to 32K in the Linux installer script.

michaelshmitty commented 4 years ago

Great work, looks much more efficiënt. I'll gladly merge a PR if you submit one.

I'll have to look into how to specify the block size in the macOS version.

MAME-GETTER commented 4 years ago

So we need to understand more about block size. exFAT on linux has a defaults:

Number of physical sectors per cluster (cluster is an allocation unit in exFAT). Must be a power of 2, i.e. 1, 2, 4, 8, etc. Cluster size can not exceed 32 MB. Default cluster sizes are: 4 KB if volume size is less than 256 MB, 32 KB if volume size is from 256 MB to 32 GB, 128 KB if volume size is 32 GB or larger.

What are the trade off in setting BS at 32K? exFAT is the 64 bit file system BS at 32K is 4.5 billion blocks on 1TB, is that enough for most MiSTer users? I don't know?