• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

B+ Installer/Updater for Homebrew

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
I thought I'd update you guys...I asked around on Wiibrew forums if it was possible to make the same thing as the installer/updater...the results are good.

http://forum.wiibrew.org/read.php?26,38465

Not only will this be a B+ installer/updater without a computer, but you can run this in Homebrew Channel or Stack Smash and it'll check if your stuff is up to date, and at the end, it'll find & run Gecko.

Like I said all is looking good so far, but the person who tried to make one had a typo in them, so they accidentally download at "download" instead of "downloads":

Code:
        Brawl+ updatifier by giantpune
        Init network...192.168.2.3
        Init SD card
        Downloading "http://brawlplus.net/dl.php"
        saving as "SD:/brawl+list.txt"

<1>----------------------------------------
sd:/gameconfig.txt
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  30813eac5c31a85c4d6d1d095ba9ba57
folder = "sd:/"
Downloading http://brawlplus.net/download/gameconfig.txt
saving in sd:/gameconfig.txt
Failed hash check after downloading

<2>----------------------------------------
sd:/codes/RSBE01.gct
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  4680d8da73e37019ccc0377be6aebb80
folder = "sd:/codes/"
Downloading http://brawlplus.net/download/RSBE01.gct
saving in sd:/codes/RSBE01.gct
Failed hash check after downloading

<3>----------------------------------------
sd:/private/wii/app/RSBE/pf/menu/strap/StrapEn.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  bf25d97b6c36ea6b0fd7f1705edaedeb
folder = "sd:/private/wii/app/RSBE/pf/menu/strap/"
Downloading http://brawlplus.net/download/StrapEn.pac
saving in sd:/private/wii/app/RSBE/pf/menu/strap/StrapEn.pac
Failed hash check after downloading

<4>----------------------------------------
sd:/background.png
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  d41d8cd98f00b204e9800998ecf8427e
folder = "sd:/"
Downloading http://brawlplus.net/download/background.png
saving in sd:/background.png
Failed hash check after downloading

<5>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/captain/FitCaptain.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  e7825cec202c4b5018df7308d261c067
folder = "sd:/private/wii/app/RSBE/pf/fighter/captain/"
Downloading http://brawlplus.net/download/fighter/captain/FitCaptain.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/captain/FitCaptain.pac
Failed hash check after downloading

<6>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/dedede/FitDedede.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  d82155138f467123283c0f8441c4fd7e
folder = "sd:/private/wii/app/RSBE/pf/fighter/dedede/"
Downloading http://brawlplus.net/download/fighter/dedede/FitDedede.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/dedede/FitDedede.pac
Failed hash check after downloading

<7>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/diddy/FitDiddy.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  ba53f42df905fae173adfc97cdfda715
folder = "sd:/private/wii/app/RSBE/pf/fighter/diddy/"
Downloading http://brawlplus.net/download/fighter/diddy/FitDiddy.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/diddy/FitDiddy.pac
Failed hash check after downloading

<8>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/donkey/FitDonkey.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  a011c234b794b72e5ad235ba8b9e5ead
folder = "sd:/private/wii/app/RSBE/pf/fighter/donkey/"
Downloading http://brawlplus.net/download/fighter/donkey/FitDonkey.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/donkey/FitDonkey.pac
Failed hash check after downloading

<9>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/falco/FitFalco.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  0d466fa5109515581449f8e12bd96bd5
folder = "sd:/private/wii/app/RSBE/pf/fighter/falco/"
Downloading http://brawlplus.net/download/fighter/falco/FitFalco.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/falco/FitFalco.pac
Failed hash check after downloading

<10>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/fox/FitFox.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  71c80b37c3f287976f884c2cf52696cb
folder = "sd:/private/wii/app/RSBE/pf/fighter/fox/"
Downloading http://brawlplus.net/download/fighter/fox/FitFox.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/fox/FitFox.pac
Failed hash check after downloading

<11>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/gamewatch/FitGameWatch.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  537deb967e4e93185255ae3d1bc81cb0
folder = "sd:/private/wii/app/RSBE/pf/fighter/gamewatch/"
Downloading http://brawlplus.net/download/fighter/gamewatch/FitGameWatch.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/gamewatch/FitGameWatch.pac
Failed hash check after downloading

<12>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/ganon/FitGanon.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  abead8e81a95e98309b1ee32e763bbb9
folder = "sd:/private/wii/app/RSBE/pf/fighter/ganon/"
Downloading http://brawlplus.net/download/fighter/ganon/FitGanon.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/ganon/FitGanon.pac
Failed hash check after downloading

<13>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/ike/FitIke.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  06b0f1670c317b115bf3b3e60489e55b
folder = "sd:/private/wii/app/RSBE/pf/fighter/ike/"
Downloading http://brawlplus.net/download/fighter/ike/FitIke.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/ike/FitIke.pac
Failed hash check after downloading

<14>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/kirby/FitKirby.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  1d06d7d7117ed35601e9fb9f7a369642
folder = "sd:/private/wii/app/RSBE/pf/fighter/kirby/"
Downloading http://brawlplus.net/download/fighter/kirby/FitKirby.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/kirby/FitKirby.pac
Failed hash check after downloading

<15>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/koopa/FitKoopa.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  257688ced1efbcc22dd250b6bd7d454e
folder = "sd:/private/wii/app/RSBE/pf/fighter/koopa/"
Downloading http://brawlplus.net/download/fighter/koopa/FitKoopa.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/koopa/FitKoopa.pac
Failed hash check after downloading

<16>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/link/FitLink.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  619d701205bcbfb3d87076e230e1eb63
folder = "sd:/private/wii/app/RSBE/pf/fighter/link/"
Downloading http://brawlplus.net/download/fighter/link/FitLink.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/link/FitLink.pac
Failed hash check after downloading

<17>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/lucario/FitLucario.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  ad53162d28c4ebcf0682bbdb09ebe396
folder = "sd:/private/wii/app/RSBE/pf/fighter/lucario/"
Downloading http://brawlplus.net/download/fighter/lucario/FitLucario.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/lucario/FitLucario.pac
Failed hash check after downloading

<18>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/lucas/FitLucas.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  53899a65581acb18c65da5cec8580839
folder = "sd:/private/wii/app/RSBE/pf/fighter/lucas/"
Downloading http://brawlplus.net/download/fighter/lucas/FitLucas.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/lucas/FitLucas.pac
Failed hash check after downloading

<19>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/luigi/FitLuigi.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  94258c83478fcde8ffc997f7b93ed61f
folder = "sd:/private/wii/app/RSBE/pf/fighter/luigi/"
Downloading http://brawlplus.net/download/fighter/luigi/FitLuigi.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/luigi/FitLuigi.pac
Failed hash check after downloading

<20>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/mario/FitMario.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  2dd8675b65189993eec723bccfb3da4d
folder = "sd:/private/wii/app/RSBE/pf/fighter/mario/"
Downloading http://brawlplus.net/download/fighter/mario/FitMario.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/mario/FitMario.pac
Failed hash check after downloading

<21>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/marth/FitMarth.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  ead23a155e3a5605563eb7e9cb019416
folder = "sd:/private/wii/app/RSBE/pf/fighter/marth/"
Downloading http://brawlplus.net/download/fighter/marth/FitMarth.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/marth/FitMarth.pac
Failed hash check after downloading

<22>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/metaknight/FitMetaknight.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  08e8969e626c9d845bcd20403bfc3c40
folder = "sd:/private/wii/app/RSBE/pf/fighter/metaknight/"
Downloading http://brawlplus.net/download/fighter/metaknight/FitMetaknight.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/metaknight/FitMetaknight.pac
Failed hash check after downloading

<23>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/ness/FitNess.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  4ccbd490a5b815e195f8a34d2e05df13
folder = "sd:/private/wii/app/RSBE/pf/fighter/ness/"
Downloading http://brawlplus.net/download/fighter/ness/FitNess.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/ness/FitNess.pac
Failed hash check after downloading

<24>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/peach/FitPeach.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  3788a19054c356d75e73e06d178208e0
folder = "sd:/private/wii/app/RSBE/pf/fighter/peach/"
Downloading http://brawlplus.net/download/fighter/peach/FitPeach.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/peach/FitPeach.pac
Failed hash check after downloading

<25>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/pikachu/FitPikachu.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  9653744285059abb20e207d022d63634
folder = "sd:/private/wii/app/RSBE/pf/fighter/pikachu/"
Downloading http://brawlplus.net/download/fighter/pikachu/FitPikachu.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/pikachu/FitPikachu.pac
Failed hash check after downloading

<26>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/pikmin/FitPikmin.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  80e5db8f3534a86357dd692a027e99dd
folder = "sd:/private/wii/app/RSBE/pf/fighter/pikmin/"
Downloading http://brawlplus.net/download/fighter/pikmin/FitPikmin.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/pikmin/FitPikmin.pac
Failed hash check after downloading

<27>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/pit/FitPit.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  3398ffeab31d566d32b10559341720bf
folder = "sd:/private/wii/app/RSBE/pf/fighter/pit/"
Downloading http://brawlplus.net/download/fighter/pit/FitPit.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/pit/FitPit.pac
Failed hash check after downloading

<28>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/pokefushigisou/FitPokeFushigisou.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  256fcfc14793d6c514babe51199f68e1
folder = "sd:/private/wii/app/RSBE/pf/fighter/pokefushigisou/"
Downloading http://brawlplus.net/download/fighter/pokefushigisou/FitPokeFushigisou.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/pokefushigisou/FitPokeFushigisou.pac
Failed hash check after downloading

<29>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/pokelizardon/FitPokeLizardon.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  f1215ec78d5c5d11afdcd40b95d1ca07
folder = "sd:/private/wii/app/RSBE/pf/fighter/pokelizardon/"
Downloading http://brawlplus.net/download/fighter/pokelizardon/FitPokeLizardon.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/pokelizardon/FitPokeLizardon.pac
Failed hash check after downloading

<30>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/pokezenigame/FitPokeZenigame.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  2c5935c9ee16ed546d73474396d6298e
folder = "sd:/private/wii/app/RSBE/pf/fighter/pokezenigame/"
Downloading http://brawlplus.net/download/fighter/pokezenigame/FitPokeZenigame.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/pokezenigame/FitPokeZenigame.pac
Failed hash check after downloading

<31>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/popo/FitPopo.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  e636dca9f29f9047eab53ed991b3b4ee
folder = "sd:/private/wii/app/RSBE/pf/fighter/popo/"
Downloading http://brawlplus.net/download/fighter/popo/FitPopo.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/popo/FitPopo.pac
Failed hash check after downloading

<32>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/purin/FitPurin.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  a71c7904782f2f034f82d9da6fd6b554
folder = "sd:/private/wii/app/RSBE/pf/fighter/purin/"
Downloading http://brawlplus.net/download/fighter/purin/FitPurin.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/purin/FitPurin.pac
Failed hash check after downloading

<33>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/robot/FitRobot.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  59d7c9d9f15b37859f9dca339dd10276
folder = "sd:/private/wii/app/RSBE/pf/fighter/robot/"
Downloading http://brawlplus.net/download/fighter/robot/FitRobot.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/robot/FitRobot.pac
Failed hash check after downloading

<34>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/samus/FitSamus.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  87ee8cfc14c0a1af2e4dabbfe8c437ff
folder = "sd:/private/wii/app/RSBE/pf/fighter/samus/"
Downloading http://brawlplus.net/download/fighter/samus/FitSamus.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/samus/FitSamus.pac
Failed hash check after downloading

<35>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/sheik/FitSheik.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  d244de2373d220e0b8982850c17f38e6
folder = "sd:/private/wii/app/RSBE/pf/fighter/sheik/"
Downloading http://brawlplus.net/download/fighter/sheik/FitSheik.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/sheik/FitSheik.pac
Failed hash check after downloading

<36>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/snake/FitSnake.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  4223c032885a9b251c226b45ff55d144
folder = "sd:/private/wii/app/RSBE/pf/fighter/snake/"
Downloading http://brawlplus.net/download/fighter/snake/FitSnake.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/snake/FitSnake.pac
Failed hash check after downloading

<37>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/sonic/FitSonic.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  14d1208d7ae6fba748c5d2e33635e199
folder = "sd:/private/wii/app/RSBE/pf/fighter/sonic/"
Downloading http://brawlplus.net/download/fighter/sonic/FitSonic.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/sonic/FitSonic.pac
Failed hash check after downloading

<38>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/szerosuit/FitSZerosuit.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  8be24df810261590c126a35c9be634a0
folder = "sd:/private/wii/app/RSBE/pf/fighter/szerosuit/"
Downloading http://brawlplus.net/download/fighter/szerosuit/FitSZerosuit.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/szerosuit/FitSZerosuit.pac
Failed hash check after downloading

<39>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/toonlink/FitToonLink.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  9485a239a33081ee46d1b29966564833
folder = "sd:/private/wii/app/RSBE/pf/fighter/toonlink/"
Downloading http://brawlplus.net/download/fighter/toonlink/FitToonLink.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/toonlink/FitToonLink.pac
Failed hash check after downloading

<40>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/wario/FitWario.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  ea8867a5731d9cbc9cb248d1fc2101ee
folder = "sd:/private/wii/app/RSBE/pf/fighter/wario/"
Downloading http://brawlplus.net/download/fighter/wario/FitWario.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/wario/FitWario.pac
Failed hash check after downloading

<41>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/wolf/FitWolf.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  bac0698f9653315942a282ef9c927eb3
folder = "sd:/private/wii/app/RSBE/pf/fighter/wolf/"
Downloading http://brawlplus.net/download/fighter/wolf/FitWolf.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/wolf/FitWolf.pac
Failed hash check after downloading

<42>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/yoshi/FitYoshi.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  495ee504701d742089e6692937799e6d
folder = "sd:/private/wii/app/RSBE/pf/fighter/yoshi/"
Downloading http://brawlplus.net/download/fighter/yoshi/FitYoshi.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/yoshi/FitYoshi.pac
Failed hash check after downloading

<43>----------------------------------------
sd:/private/wii/app/RSBE/pf/fighter/zelda/FitZelda.pac
current hash bbaa0f4b8e214fc6f58dffe0e9ae0267
needed hash  63c255b4f477cf8cd5a2c40b4d8d0125
folder = "sd:/private/wii/app/RSBE/pf/fighter/zelda/"
Downloading http://brawlplus.net/download/fighter/zelda/FitZelda.pac
saving in sd:/private/wii/app/RSBE/pf/fighter/zelda/FitZelda.pac
Failed hash check after downloading
43 of 43files updated

SD:/apps/Gecko192/boot.elf...found
booting .elf
ELF size = 509096
Setting args[]
Entrypoint = 80004000
Boot the ELF
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
Ok, well I have a 95% functional GUI going now, but i just used some images i had laying around on my PC. is there a place with a bunch of brawl+ images i could grab from and spice this upwith?
Re-posting to see if anyone knows some images, or who provides them.
 

GHNeko

Sega Stockholm Syndrome.
Joined
Aug 13, 2007
Messages
20,009
Location
テキサス、アメリカ
NNID
GHNeko
Awesome.

What it really needs is support for Stack Smash.

Stack Smash into B+ HBC Updater into Gecko OS to keep virgin consoles up to date.
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
When the source is released, I can take the ELF file output after compiling and use that, and also modify the source to launch "gecko.elf" instead of "apps/Gecko192/boot.elf".
 
Top Bottom