Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iBoy from Loader2
05-26-2006, 12:21 PM
Post: #1
iBoy from Loader2
Note: This is by Bjehsus, not me. Who says you can't contribute while you're banned? Tongue

Here's a little tutorial I made on how to keep things clean on your iPod, and also how to start iBoy from Loader2.
I will not tell you how to install iBoy or Loader2 in this tutorial, or out of the tutorial, so don't ask.

Why?
  • Better organization
  • Easier to find stuff
  • Nicer to look at
  • Probably makes things slightly faster
  • Because you can
  • And it's not like it takes long, or is hard to do

So we'll do this in stages, and you can skip steps that are irrelevant to your iPod setup.

Introduction
So we all probably know what the default iPod file structure is, right?

Code:
* Calendars
* Contacts
* Notes
* iPod_Control
* Photos

This is nice and tidy. There are no random files about the place, and every folder has a capital first letter.
Looking at what could happen if you install Rockbox and iPodLinux, and maybe have some stuff like Pod Player and an Autorun.inf and icon file to show in explorer.

Code:
* .rockbox
* Calendars
* Contacts
* games
* iPod_Control
* Notes
* Photos

* rockbox.ipod
* kernel.bin
* PodPlayer.exe
* autorun.inf
* ipod.ico

Just imagine if you stored all your stuff in the root of your iPod (like a removable hard drive.)
This, however barable, is pretty untidy. So let's sort it out.

First of all, you can hide the ".rockbox" folder, as it doesn't need to be visible unless you're updating the Rockbox build (at which point, you can turn on view hidden files.)
You can also hide the autorun and the icon files. Windows can see them even if you can't.
To do this, right click them all, press "Properties", and tick "Hidden".
Press OK, then press OK again when it asks you if you want to do this to all of the files and folders inside ".rockbox", too.

[Image: hidefolder3ym.png]

Next, we can put PodPlayer, along with any other iPod specific stand alone applications you may have, iPodWizard and the iPW.inf file, for instance, into a folder called "Tools", or similar.
This will keep the root of your iPod relatively empty from clutter, and seperate tools from all of your other files.

Speaking of other files, put anything you have put on your iPod, maybe to transport it, or you've got a portable application that can be run from the iPod, such as Portable Firefox, into a folder maybe called "Storage".
Inside that, you can seperate apps from other stuff by making more sub folders. For instance, I have "Applications" and "Development" in my "Storage" folder.

If you have Doom for Rockbox, you'll know that you need to have the folder "\games\doom\" at the root of your iPod. You can make this look nicer by capitalizing the first letter. Also, store your Rockboy ROMs in a "\Games\GameBoy\ROMs\" folder, if you like.

From this point onwards, it will help to have a Linux live CD, like SLAX. You can skip these steps if you don't have Loader2. iPodLinux isn't required for some of the steps, but it is for the first few.

So boot into Linux!

Loader2 + iPod Linux
I'm not entirely sure where your "kernel.bin" for will be, but if it's on the FAT32 partition, you can put it in quite a few places if you have Loader2.
I'm not going to explain how to install Loader2, but if you have it, follow these instructions.

Loader2 looks for your "kernel.bin" file in the following places, as the following names:
  • partition 2/kernel.bin
  • partition 2/Notes/kernel.bin
  • partition 2/linux.bin
  • partition 2/Notes/linux.bin
  • partition 2/vmlinux
  • partition 2/Notes/vmlinux
  • partition 3/kernel.bin
  • partition 3/boot/kernel.bin
  • partition 3/linux.bin
  • partition 3/boot/linux.bin
  • partition 3/vmlinux
  • partition 3/boot/vmlinux
  • partition 1/linx

Partition 1 is the firmware partition, partition 2 is the music partition, and partition 3 is the ext2 partition.
The only way to add stuff to the firmware partition, is to use the make_fw tool.
This list is hierarchical. If you have multiple "kernel.bin"s, the first one that is found in the order of that list will be used.

For simplicity's sake, I put my "kernel.bin" at the root of the Linux (ext2) partition.

So Loader2 has a load of cool features that most people probably don't know about. For instance, you can customize the menu a lot, and even pass arguments to iPodLinux's RC file.
For instance, I've set up my Loader2 menu as follows:

Code:
* Apple OS
* - Disk Mode
* iPodLinux
* - iBoy
* Rockbox
* Reboot
* Sleep

Yes, I really can start iBoy from the Loader2 menu, rather than always booting to it before Podzilla. More on that later. Wink
To make a custom menu, I need to create a config file for Loader2 in one of the following places:
  • partition 2/ipodloader.conf
  • partition 2/Notes/ipodloader.conf
  • partition 2/loader.cfg
  • partition 2/Notes/loader.cfg
  • partition 3/ipodloader.conf
  • partition 3/boot/ipodloader.conf
  • partition 3/loader.cfg
  • partition 3/boot/loader.cfg
  • partition 1/lcnf

Again, partition 1 is the firmware partition, partition 2 is the music partition, and partition 3 is the ext2 partition.
The only way to add stuff to the firmware partition, is to use the make_fw tool.
This list is hierarchical. If you have multiple "loader.cfg"s, the first one that is found in the order of that list will be used.

This file can contain a number of settings, including things like the colours used in the menu, and the pitch/length of the beep that gets played, along with the actual menu items.
Take a look at mine, and edit it to your needs.

Code:
##############################
# iPodLoader 2.4 config file #
##############################

# General settings
timeout = 30
default = 1
contrast = 0
backlight = 1

# Colour settings
#bg_color = (0,255,128)
#hilight_color = (128,128,0)
#bg_gradient = 0

# Sound settings
#beep_duration = 50ms
#beep_period = 30

# Menu entries
Apple OS = ramimg
- Disk Mode = diskmode
iPodLinux = (hd0,2)/kernel.bin
- iBoy = (hd0,2)/kernel.bin iboy
Rockbox = (hd0,1)/ROCKBO~1.IPO
Reboot = reboot
Sleep = standby

Lines that start with either a # or ; are comments, and aren't read by Loader2.
I commented out the colour settings, because I like the default colour scheme, and the sound settings didn't work for some reason.

Adding stuff to the menu is fairly simple.

Code:
Title [=/@] (hd0,part)/path [args]

Title is simply what shows on the menu, and (hd0,part) is hard drive 0, partition 0,1, or 2 (if you have iPodLinux.) Partition 0 is the firmware partition, 1 is the music partition, and if you have iPodLinux, 2 is the Linux partition.
You can seperate the title and the image location with either the "=" sign, or the "@" sign.

You'll notice that I had to use "ROCKBO~1.IPO" as the image name for "rockbox.ipod", because Loader2 only allows for 8 character long names, with 3 character long extensions, seperated by a dot. "rockbox.ipod" has 4 characters in the extension, so it would fail if you tried to run it from Loader2. To combat this, you need to find what is probably known as the DOS safe name, using Windows.
  • Plug in your iPod
  • Open the command prompt (Start, Run, "cmd".)
  • Type "dir /x E:", where "E:" is your iPod's drive letter.
  • Make a note of the capitalized, shortened name that appears to the left of "rockbox.ipod".

You can see that I have used some special image names in some of my menu items. Here is a list of what they are, and what they do:
  • reboot - Reboots the iPod, getting you then back to the loader (not very useful other than for testing, probably)
  • diskmode - Forces the iPod into disk mode
  • ramimg or osos - Starts the "osos" image already loaded into memory with the loader. This is the quickest way to use for launching the Apple firmware, as opposed to "(hd0,0)/apple_os.bin".
  • standby - Puts the iPod to sleep (but only if it is not connected via FireWire or USB to a computer, or it will wake up and reboot again).

iBoy
You probably want to know more about running iBoy seperate from Podzilla, so here goes.
While we're cleaning stuff, put your iBoy file (in /iboy/) in the "bin" folder. Also, you can actually change the "roms" and "saves" folder locations in the "/etc/iboy.conf" file, to "/mnt/Games/GameBoy/ROMs/" and "/mnt/Games/GameBoy/Saves/" from "/home/roms/" and "/home/saves/" respectively, like I have if you like. This way you can add ROMs via Windows. (You may have to change "/mnt/" to "/hp/" depending on your setup.)
Now, once you've done that, and deleted your now empty "/iboy/" folder, you have to download the getLoader2Args module. This lets you pass arguments to the kernel through Loader2. Get it from here, and extract it to somewhere. Put the file "getLoader2Args" in the "/bin/" folder of your iPod's Linux partition, and you can delete the other stuff.

Now, add this to your "/etc/rc" file, in place of "podzilla":

Code:
if [ -f /bin/getLoader2Args ] ; then
  args=`/bin/getLoader2Args`
fi
if [ "$args" = "" ]; then
  podzilla
else
  eval $args
fi

reboot

Take note that this code will only work if you have the improved Minix shell, which you may or may not have (you can tell because if you don't, you'll get a nice error when the kernel loads the RC file. If you don't have it, get it.

Save the RC file, and make sure it is executable! In SLAX, you can do this by right clicking it, selecting "Properties", and under the "Permissions" tab, make sure "is executable" is ticked.

Then simply pass the argument "iboy" after "iBoy = (hd0,2)/kernel.bin" in the "loader.conf" menu list like I did.

Any questions/corrections, reply or PM me and I'll try and help when they unban me. I'll post some screenshots later on, when I get access to a camera.

This tutorial was written by Joe Doherty (Bjehsus), with some content from http://ipodlinux.org/Loader2, and http://ipodlinux.org/getLoader2Args.
Visit this user's website Find all posts by this user
Quote this message in a reply
05-27-2006, 12:39 PM
Post: #2
iBoy from Loader2
Or... you could use the incredibly simple one written by me if your on a mac...
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)