How to use Uboot and firmimg.bin (ppc)

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search


boot to 3 blink mode -> EM Mode

login with user root and no password

connect via telnet to (sometimes it seems that DHCP works)

create partitions with fdisk

(this part needs a little work so it looks like this:

/dev/hda1 -> linux
/dev/hda2 -> swap
/dev/hda3 -> linux

format the partitions

mkfs.ext3 /dev/hda1
mkswap /dev/hda2
mkfs.ext3 /dev/hda3

Note: this is for the standard layout (actually there are more partitions which we do not know what they do but we don`t need them) which the prepared images will work with. if someone wants to format the data partition to a different filesystem or different partition layout he needs to modify /etc/fstab in the image after untaring...but that comes later)

mount the partitions

if standard partition layout + filesystems use "mount_disk", if different then mount the partitions manually. mount_disk mounts /dev/hda1 to /mnt/hda1 and /dev/hda3 to /mnt/hda3

ftp over the image of your choice to /mnt/hda3

host: (sometimes it seems to me that dhcp works in EM Mode sometimes?)
user: operator
pass: operator

transfer the image of your choice in form of a tmpimage.tgz to /mnt/hda3. In case you only have a image.dat from the original firmwares/openlink/freelink/genlink check the downloadsection if there is a tmpimage.tgz available and use it if yes...if no create one yourself by unzipping the image.dat with the right password (all passwords mentioned here: Create_a_custom_firmware_image#Collected_passwords)

untar the image (which i assume you ftp`ed over to /mnt/hda3) to /mnt/hda1

cd /mnt/hda1
OPTIONAL: rm -r *   (in case you want to switch the OS and not reinstall it from scratch)
tar -xzvf ../hda3/tmpimage.tgz


Only if you use non standard partition layouts or different filesystems than ext3

Non-standard filesystem on data partition only

In case you use a non standard filesystem on the data partition (3rd partition) you need to modify /mnt/hda1/etc/fstab to fit the changes.

Non-standard partition layout

In case you use a non standard partition layout there are several things that need to be done. UBoot expects kernels + initrds in the folder /boot on the first partition. and uboot only can read ext2/ext3. so in case someone wants to move to XFS/JFS on the OS-partitions (which for example is then on /dev/hda2 instead of /dev/hda1) it is needed to modify

    • uboot variables so it searches for the kernel + initrd directly on the first partition (like on the arm9 boxes) and not in /boot, also to make sure boots to the second partition instead of the first one
    • modify /etc/fstab so the second partition is mounted to / and first partition is mounted to /boot . notice that you need a 2.6 kernel later and that means that the entries in /etc/fstab need to be some like /dev/sdaX and not /dev/hdaX (this difference was introduced with 2.6)
    • put a recent 2.6-kernel on the first partition in uboot format (uimage). make sure it is a kernel which includes the support for the non-ext2/3-filesystem INSIDE the kernel. the kernel modules themselves are stored on the partition which cannot be mounted without the kernel support for the filesystem.


just execute


and reboot. normally it defaults to 1-blink mode which means it tries to boot from hddrootfs and kernel in /boot