Port Foonas to Plextor StorX

Post Reply
juanparati
Posts: 10
Joined: Fri Mar 12, 2010 11:31 pm

Port Foonas to Plextor StorX

Post by juanparati » Wed Jul 07, 2010 1:28 pm

Hi!

I am interesting to port foonas to Plextor StorX. I have been that Kurobox Pro have a very similar hardware:

Code: Select all

Device/Software     Plextor                           Kurobox                       Qnap TS-209/I
---------------     -------                           --------                      ---------------
Microprocessor:     Marvell 88F5182 / 500MHz          Marvell 88F5182 / 400MHz      Marvell 88F5182 / 400MHz 
RAM:                128Mb                             128Mb                         128Mb
IDE Controller:     Sata - Marvell                    Sata - Marvell                Sata - Marvell
USB Ports:          2 USB 2.0                         2 USB 2.0                     2 USB 2.0
FLASH ROM:          16Mb                              256Mb + 256Kb                 8Mb
Linux Kernel:       2.6.12-arm1                       2.6.12-arm1                   2.6.12-arm1
Network iface:      1 100/1000Mb                      1 100/1000Mb                  1 100/1000Mb
Wifi iface:         Yes 802.11 g/n                    No                            No
Is possible install foonas?. Somebody Can help me to port foonas?
Last edited by juanparati on Sat Jul 31, 2010 11:18 am, edited 2 times in total.

User avatar
timtim
Posts: 120
Joined: Fri Jul 04, 2008 8:41 pm

Re: Port Foonas to Plextor StorX

Post by timtim » Wed Jul 07, 2010 4:34 pm

Firstly you need to get your device booting the 'linux-orion' kernel - devising a patch for this should be your first port of call. Its worth spending some time picking up openembedded first though!

juanparati
Posts: 10
Joined: Fri Mar 12, 2010 11:31 pm

Re: Port Foonas to Plextor StorX

Post by juanparati » Fri Jul 09, 2010 9:11 pm

Why is not possible use the default installed kernel?

And how Can I install the orion kernel without serial connection? (I have access to mt device using telnet)

User avatar
timtim
Posts: 120
Joined: Fri Jul 04, 2008 8:41 pm

Re: Port Foonas to Plextor StorX

Post by timtim » Sat Jul 10, 2010 1:00 am

Foonas does not support using this old kernel which Marvell ship in their SDK to all the manufacturers - all the other NAS devices are using current-ish kernels as the SoC used in this device has been supported in kernel.org kernels for a while now and all orion devices in foonas use the linux-orion kernel!

So, I would start by checking all the other bits on your NAS are also supported. Ethernet, SATA, RTC, USB and various other bits are things to check! Posting a dmesg for your device and any other useful information you can gather (including if possible good PCB and disassembly pics) at the new plextor wiki (use your forum login to login there) is useful for reference!

juanparati
Posts: 10
Joined: Fri Mar 12, 2010 11:31 pm

Re: Port Foonas to Plextor StorX

Post by juanparati » Sat Jul 31, 2010 11:24 am

Ok,

I have decide be a developer so I installed the developer enviroment. My first step is compiled the orion kernel for the PX-WNAS, but I have a dude How can I obtain the machine name arquitecture???

I have visit http://www.arm.linux.org.uk/developer/machi but is a real chaos!

Appear the machine id in dmesg??

Can I use the same machine id that qnap TS-209?

User avatar
timtim
Posts: 120
Joined: Fri Jul 04, 2008 8:41 pm

Re: Port Foonas to Plextor StorX

Post by timtim » Sun Aug 01, 2010 12:45 am

Use a new one that isn't used by something else already (ie a new mach id) in the kernel version you are using for the time being.

juanparati
Posts: 10
Joined: Fri Mar 12, 2010 11:31 pm

Re: Port Foonas to Plextor StorX

Post by juanparati » Wed Aug 04, 2010 10:01 am

I registered the new Machine Id.

But I have a question about the "Directory suffix", Can use 'mv88fxx81' instead of 'orion'?

juanparati
Posts: 10
Joined: Fri Mar 12, 2010 11:31 pm

Re: Port Foonas to Plextor StorX

Post by juanparati » Thu Aug 12, 2010 10:09 pm

I have a problem for port linux-orion kernel and foonas to pxwnas1000.

I have installed bitbake and I am able to compile the kernel and generate the initram for a qnap TS-209, but when I try to generate the foonas distribution for my pxnas1000 I get the next message:

ERROR: Nothing PROVIDES 'linux-orion'


I created a new platform for bitbake and I generated the next files:
- /stuff/org.openembedded.dev/conf/machine/pxwnas1000.conf with this content:

Code: Select all

#@NAME: ARM based PXWNAS 500/1000

INHERIT += "pxwnas1000-image"
MACHINE_EXTRA_RDEPENDS			= "u-boot-utils"
MACHINE_EXTRA_RDEPENDS_foonas-em	= "u-boot-utils"
MACHINE_EXTRA_RDEPENDS_foonas-iscsi	= "u-boot-utils"

require conf/machine/include/orion.inc
- /stuff/org.openembedded.dev/packages/u-boot/pxwnas1000/fw_env.config with this content:

Code: Select all

/dev/mtd0               0x0000          0xa0000         0xa0000
- Created a symlink /stuff/org.openembedded.dev/packages/uclibc/uclibc-0.9.30/pxwnas1000 to /stuff/org.openembedded.dev/packages/uclibc/uclibc-0.9.30/kuropro

- Created a symlink /stuff/org.openembedded.dev/packages/uclibc/uclibc-0.9.29/pxwnas1000 to /stuff/org.openembedded.dev/packages/uclibc/uclibc-0.9.29/kuropro

- /stuff/org.openembedded.dev/packages/linux/linux-orion/pxwnas1000.patch (See machine ID) with this content:

Code: Select all

diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index 25f1230..789190e 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -55,6 +55,10 @@ $(obj)/compressed/vmlinux: $(obj)/Image FORCE
 
 $(obj)/zImage:	$(obj)/compressed/vmlinux FORCE
 	$(call if_changed,objcopy)
+	devio > foo 'wl 0xe3a01c0b,4' 'wl 0xe38110b9,4'
+	cat foo $(obj)/zImage > zImage.new
+	mv zImage.new $(obj)/zImage
+	rm foo
 	@echo '  Kernel: $@ is ready'
 
 endif
- /stuff/org.openembedded.dev/packages/openlink-iscsi/openlink-iscsi-machine/pxwnas1000/platform-init with this content:

Code: Select all

. /usr/lib/openlink/platform/generic/platform-config-uboot
- /stuff/org.openembedded.dev/packages/openlink-machine-generic/files/pxwnas1000/platform-support with this content:

Code: Select all

. /usr/lib/openlink/platform/platform-generic

do_reboot() {
	do_std_reboot
}

do_shutdown() {
	do_std_poweroff
}

startup_initial() {
	:
}

startup_middle() {
	:
}

startup_complete() {
	:
}

bootloader_config_foonas_em() {
	:
}
- /stuff/org.openembedded.dev/packages/openlink-machine-generic/files/pxwnas1000/machine.jpg

- /stuff/org.openembedded.dev/classes/pxwnas1000-image.bbclass with this content:

Code: Select all

pxwnas1000_pre_image() {
:
}

pxwnas1000_post_image() {
:
}

pxwnas1000_post_image_ramdisk() {
:
}
- /stuff/build/conf/local.conf with this content:

Code: Select all

# Use this to specify where BitBake should place the downloaded sources into
DL_DIR = "${HOME}/sources"
   
# Delete the line below. Then specify which .bb files to consider for
# your build. Typically this will be something like BBFILES = "/path/to/openembedded/packages/*/*.bb"
BBFILES = "/stuff/org.openembedded.dev/packages/*/*.bb"
   
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
   
MACHINE = "pxwnas1000"
TARGET_OS = "linux"
DISTRO = "foonas-em"
   
# So far, angstrom.conf sets ENABLE_BINARY_LOCALE_GENERATION
# to generate binary locale packages at build time using qemu-native and
# thereby guarantee i18n support on all devices. If your build breaks on 
# qemu-native consider disabling ENABLE_BINARY_LOCALE_GENERATION (note that
# this breaks i18n on devices with less than 128MB RAM) or installing
# a working third-party qemu (e.g. provided by your distribution) and
# adding qemu-native to ASSUME_PROVIDED. Caveat emptor, since third-party
# qemus lack patches needed to work with various OE targets.
# ENABLE_BINARY_LOCALE_GENERATION = "0"
# ASSUME_PROVIDED += "qemu-native"
   
MACHINE_KERNEL_VERSION = "2.6"
   
# Uncomment one of these to build packages during the build process.
# This is done automatically if you set DISTRO (see above)
# INHERIT = "package_ipk"
# INHERIT = "package_tar"
# INHERIT += "insane"
  
# Add the required image file system types below. Valid are jffs2, tar, cramfs and ext2
   
# Uncomment this to disable the parse cache (not recommended).
# CACHE = ""
   
# Uncomment this if you want BitBake to emit debugging output
# BBDEBUG = "yes"
   
# Uncomment these two if you want BitBake to build images useful for debugging. 
# Note that INHIBIT_PACKAGE_STRIP needs a package format to be defined.
# Also note that OE now produces -dbg packages which contain debugging symbols.
# DEBUG_BUILD = "1"
# INHIBIT_PACKAGE_STRIP = "1"
   
# Uncomment these to build a package such that you can use gprof to profile it.
# NOTE: This will only work with 'linux' targets, not
# 'linux-uclibc', as uClibc doesn't provide the necessary
# object files.  Also, don't build glibc itself with these
# flags, or it'll fail to build.
#
# PROFILE_OPTIMIZATION = "-pg"
# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"
# LDFLAGS =+ "-pg"
   
# Uncomment this to enable parallel make.
# This allows make to spawn mutliple processes to take advantage of multiple 
# processors. Useful on SMP machines. This may break some packages - we're
# in the process of marking these so let us know if you find any.
# PARALLEL_MAKE = "-j 3"
   
# Uncomment this if you want BitBake to emit the log if a build fails.
# BBINCLUDELOGS = "yes"
I used the Foonas new platform guide with some improvements

Some Foonas guru can help me?

juanparati
Posts: 10
Joined: Fri Mar 12, 2010 11:31 pm

Re: Port Foonas to Plextor StorX

Post by juanparati » Fri Aug 13, 2010 7:36 pm

I have fixed the problem:

I needed to add in /stuff/org.openembedded.dev/packages/linux/linux-orion_*.bb the line:

Code: Select all

SRC_URI_append_pxwnas1000 += "file://pxwnas1000.patch;patch=1"
And change the line:

Code: Select all

COMPATIBLE_MACHINE = "(dns323|mv2120|kuropro|lspro|ts109|ts209|ts409)"
for:

Code: Select all

COMPATIBLE_MACHINE = "(dns323|mv2120|kuropro|lspro|ts109|ts209|ts409|pxwnas1000)"
8-)

Post Reply