This is on the board, just won't link - Kitty
I've put diffs against the linux-mips.org 2.4.29 kernel and a sample config file in sourceforge (it patches and builds cleanly, i checked).
Of course, as I do this, 2.4.30 gets released, but according to the changelog, there's nothing really useful in it for the prismiq (mostly 64-bit changes).
If you want to play with building firmware images, look at www.linux-mtd.infradead.org, grab the 3/04/05 snapshot and build the util subdirectory. There's mkfs.jffs2 (for creating images) and jffs2dump (for extracting images).
Should be buildable on windows too via cygwin...
I'll probably release a test firmware (not very usable by end users, will probably require linux knowledge to get wireless running) soon, if anyone's interested.
Should've done all this a year ago, oh well.
and, I *still* can't get the damn netgear wg511 to work
But, it has atheros drivers, and should be able to be manually configed to use 108mbps mode....
Jason2005
Member
Posts: 3
(4/15/05 3:13 pm)
63.168.124.137
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
I've had some basic success in being able to peer into the os-encore that comes with the unit. I'm going to see if I can rebuild it since I don't know what value to use for the mkfs.jffs2 command.
Also, how hard is it to get the cross compiling platform set up? I figure soon I will want to try building a new kernel. Also, I don't know what version of busybox is on there now, are you considering bumping that up to the latest version?
Since I am new to this, I was thinking of trying to get a basic terminal type thing going and then try to work on microwindows. I thought that some one was working on that but I can't remember.
I'm gonna keep at it...
raanan
Member
Posts: 3
(4/15/05 11:51 pm)
82.80.19.251
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
the cross compiler is here
Compiler at sourceforge by rob
and it's easy to set it up in a linux box.
also i have compiled a new version of busybox but did not install it as i did not see the need to replace the current busybox.
Raanan
rob0214
Member
Posts: 11
(4/16/05 2:53 pm)
69.140.66.105
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
sorry, been busy with work related issues.
i didn't bother trying to update busybox because there are custom utilities that prismiq added. they pretty much are the jffs2 utils built into busybox, and are used for the firmware upgrades. take a look at mtdcp, mtderase, etc, and you'll see that they are basically the jffs2 utils (even have the same arguments).
also wanted to update Qt/Embedded to the latest release (many bugfixes). 2.x is now open source (which you'd need if you're using prismiq's gui, since going to 2.x -> 3 requires a recompile, but prismiq hasn't released the source to be able to do a recompile). unfortunately, there's a QEmma class in the libqte.so, which is custom, and i know of no way to just extract the .o file for it from a shared lib to rebuild .
i've also found that pulling binaries from debian unstable is a huge timesaver. not as optimized as compiling from source, but recompiling glibc, for instance, is a huge pain. plus, i don't have a debian box, so applying debian patches to a package is difficult.
as for jffs2 stuff, it might be possible to mount the firmware image via loopback (similar to what you do to mount ISOs on linux).
if you add new libs, you probably want to do ldconfig -r . pretty sure you need it if you move libs, or upgrade glibc. i just do it out of habit to be sure.
but, when i use mkfs.jffs2, i use:
mkfs.jffs2 -v -U -e0x020000 -r -o os-encore-2.4.29
probably, if you go the loopback mount route, you don't need to jump through all these hoops with mkfs.jffs2 and can just copy the original firmware to os-encore-2.4.29 (or whatever) modify what you need, and unmount.
os-encore-2.4.29 is the new image. put the image in bin/webapps/mserver subdirectory.
boot to rescue on the prismiq (hit escape on the keyboard when you see loading...., type rescue).
then do:
wflash media.server.ip.address:8...ore-2.4.29 system
get a cup of coffee while you're waiting. reboot will give you new firmware.
whew, that's a lot of info
Edited by: rob0214 at: 4/16/05 3:01 pm
Jason2005
Member
Posts: 4
(4/17/05 12:32 pm)
24.117.220.213
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
I used information from the following site:
www.handhelds.org/moin/mo...ackupHowto
to figure out how to mount the jffs2 image.
About the compiler, it changes the glibc-2.2.5 to glibc-2.3.2(if I remember right). So to be able to use it, I will need to update the glibc in the jffs2 image to the same one in the compiler. Are there any issues with the rest of the software that was compiled under 2.2.5? Or does 2.3.2 cover them as well?
Concerning the windowing environment on the MP, I've run across two so far (three since I just learned about Qt/Embedded):
Microwindows/Nano-X
www.microwindows.org/
The KDrive Tiny-X Server
www.pps.jussieu.fr/~jch/s...drive.html
Now, I admit that I know very little about any of them. Supposedly with nano-x, they have a way to run standard X11 binaries on it. Plus, it seems to be geared towards embedded systems. KDrive on the other hand, appears to be made for the x86 but I figured that since it was small it might be a candidate for porting. I'll also have to do some looking into the Qt/Embedded first. What I was wondering is which would be a better pursuit?
Thanks for all the info rob0214 and raanan!
PRISMIQ Kitty
ezOP
Posts: 88
(4/17/05 12:38 pm)
70.179.69.33
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
Which would be better? Depends on what you are trying t do.
Are you trying to turn a Prismiq into an x-terminal? A Linux computing box? A Mediaplayer?
If you are porting another mediaplayer, which one? Maybe Videolan/VLC? MythTV?
Jason2005
Member
Posts: 5
(4/18/05 10:11 am)
63.168.124.137
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
I guess that I'd be going more for a MythTV frontend (although, I am only vaguely familiar with MythTV). Although, if I remember right, MythTV mainly uses Divx and I'd really like to be able to offload some of the video processing by using the mpeg2 decoder build into the processor.
I just thought of a few more questions:
there is a 16MB ROM on-board right, how much of it is available to use? And would it be possible to use some of the 64MB of ram as a ram-disk to increase the amount we have to work with?
PRISMIQ Kitty
ezOP
Posts: 90
(4/18/05 12:36 pm)
169.253.4.21
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
Awhile back a Prismiq Engineer said it had about 500K of free flash rom on it but that might have decreased with the newer software with Rhapsody.
Sorry for the 20 questions but I'm just trying to see who is just trying some stuff and who has specific plans. The Hauppauge MediaMVP already has a MythTV frontend I think. With the better smarts in the Prismiq, it could be put to some good uses by someone I'm sure
rob0214
Member
Posts: 13
(4/18/05 2:57 pm)
66.166.231.117
Reply | Edit | Del responses
--------------------------------------------------------------------------------
mythtv uses mpeg2 for it's tv show record functionality (actually, a hacked version of nuppelvideo, which pretty much is standard mpeg2). i believe it archives to divx (or, more likely, xvid).
watching video is basically accomplished by spawning mplayer.
if you don't use the frontend, and use mythtv's, you could probably blow away a ton of executables (valence, kinkatta, etc) and free lots of space.
another method would be to NFS/SMBFS mount /usr/local from another machine and put the executables on a server that gets mounted at boot time. i think this is a better approach than loading it to ramdisk.
you also might want to look into ucLibc. has a pretty good build environment for cross-compilation with smaller libc.
as for glibc, if you ldconfig the new firmware partition, beforehand everything should work ok. trying to switch libc's on the fly is a bit tricky, hence the suggestion to boot to rescue first. you might be able to do it by editing the wflash script (although i think there's another script that downloads, writes, compares the flash that gets executed when you do the normal way of firmware upgrade) to run ldconfig when it's done.
i also slim down glibc by tossing out non-essential stuff like libsegfault, libbrokenlocale, etc. also, i get rid of lib_nss_hesiod (what the heck is hesiod anyway).
and, mounting the jffs2 stuff wasn't as straightforward as i thought, but since someone else found a link to do it already....
Jason2005
Member
Posts: 6
(4/19/05 9:05 am)
63.168.124.116
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
The reason I asked which one would be better to pursue, is because there are a number of us working on creating new firmware. I figured that if we all focused our efforts together, then we'd be able to get something together faster.
PRISMIQ Kitty
ezOP
Posts: 93
(4/19/05 9:46 am)
169.253.4.21
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
Good idea - well folks, can we come to a consensus?
I'm no help really as I would, at this point, just be happy with a new PC end - the box is fine but the PC side needs a better transcoder and file interface.
Jason2005
Member
Posts: 7
(4/19/05 2:09 pm)
63.168.124.137
Reply | Edit | Del Building the Kernel
--------------------------------------------------------------------------------
Okay, I've gotten rob0214's compiler from sourceforge.net and installed it. I also picked up prismiq_2.4.29.diff.gz and sample.config.gz.
I am going to try and build a kernel and I wanted to make sure that I got the right one. I went to www.linux-mips.org and there I found out that I needed to log into their cvs repositories. Once I was logged in, I executed the following command:
cvs -d
server:cvs@ftp.linux-mips.org:/home/cvs co -r linux_2_4_29 linux
Which I think got me the mips version of the 2.4.29 kernel that the prismiq_2.4.29.diff.gz were made against. First question is this correct, and second do I use the prismiq_2.4.29 as a patch to the kernel or as something else?
Thanks
Edited:
Okay, I figured out how to apply the diffs from sourceforge on the kernel that I got from cvs.
Edited by: Jason2005 at: 4/19/05 4:21 pm
Jason2005
Member
Posts: 8
(4/20/05 2:09 pm)
63.168.124.137
Reply | Edit | Del Upgrading libc-2.3.2
--------------------------------------------------------------------------------
In order to upgrade the MP to the version that the compiler is, do you just need to copy the libc-2.3.2.so over to the MP? Or do you need to copy all of the stuff there over to the MP?
Jason2005
Member
Posts: 9
(4/21/05 6:06 pm)
63.168.124.116
Reply | Edit | Del Hit a snag...
--------------------------------------------------------------------------------
Does anyone know anything about sffs? I have tried to build images based on both the 2.4.25 and 2.4.29 kernels. Both of them build but they go into an endless reboot cycle complaining that they couldn't find init. I even specified the kernel command parameters (i.e. mem=64M root=/dev/mtdblock0 rootfstype=jffs2), which didn't work either. So I decided to check out the dmesg on the device for a known working image. The entirety of what I got from dmesg is below but the part that I thought was interesting is:
PRISMIQ MediaPlayer NOR flash driver
Probing for 16MB Intel flash chip ...
cfi_cmdset_0001: Erase suspend on write enabled
0: offset=0x0,size=0x20000,blocks=128
Using buffer write method
reading sffs at fe0000, size 1000000, erasesize 20000
Creating 5 MTD partitions on "PRISMIQ MediaPlayer NOR flash map":
0x00000000-0x00b00000 : "system"
0x00b00000-0x00c00000 : "settings"
0x00c00000-0x00c80000 : "boot"
0x00c80000-0x00fe0000 : "rescue"
0x00fe0000-0x01000000 : "boot-vars"
Probing for NAND chip...
No NAND device found!!!
No NAND flash device found.
I have no idea what "sffs at fe0000 size 1000000 erasesize 20000" means. Or more importantly, have I done something wrond?
here is the entire dmesg output below
CPU revision is: 00000c72
Primary instruction cache 16kb, linesize 16 bytes.
Primary data cache 8kb, linesize 16 bytes.
Linux version 2.4.18-encore-11 (kerry@apu.oxygnet.com) (gcc version 3.2) #202 Wed Jan 21 12:06:51 PST 2004
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
On node 0 totalpages: 16384
zone(0): 4096 pages.
zone(1): 12288 pages.
zone(2): 0 pages.
Kernel command line:
Console: colour dummy device 80x25
Calibrating delay loop... 165.88 BogoMIPS
Memory: 51212k/65536k available (1682k kernel code, 14324k reserved, 124k data, 368k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
Checking for 'wait' instruction... unavailable.
POSIX conformance testing by UNIFIX
Autoconfig PCI channel 0x80cc9bf0
Scanning bus 00, I/O 0x00000000:0x01000000, Mem 0x30000000:0x38000000
00:00.0 Class 0607: 104c:ac56
CARDBUS Bridge: primary=00, secondary=01
PCI Autoconfig: Found CardBus bridge, device 0 function 0
Mem at 0x30000000 [size=0x100
Scanning sub bus 01, I/O 0x00000000, Mem 0x30100000
Back to bus 00, sub_bus is 1
00:02.0 Class 0200: 10ec:8139 (rev 10)
I/O at 0x00001000 [size=0x10
Mem at 0x30200000 [size=0x10
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis Communications AB.
Console: switching to colour frame buffer device 80x30
fb0: EMMA OSD frame buffer device, NTSC mode.
fb1: EMMA OSD frame buffer device, NTSC mode.
Prismiq Encore IR keyboard driver
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-0
with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xb2001000x (irq = 56) is a 16550A
ttyS01 at 0xb2002000x (irq = 57) is a 16550A
block: 128 slots per queue, batch=32
8139too Fast Ethernet driver 0.9.24
eth0: RealTek RTL8139 Fast Ethernet at 0xb5200000, 00:0b:50:00:0c:e5, IRQ 99
eth0: Identified 8139 chip type 'RTL-8139C'
PRISMIQ MediaPlayer NOR flash driver
Probing for 16MB Intel flash chip ...
cfi_cmdset_0001: Erase suspend on write enabled
0: offset=0x0,size=0x20000,blocks=128
Using buffer write method
reading sffs at fe0000, size 1000000, erasesize 20000
Creating 5 MTD partitions on "PRISMIQ MediaPlayer NOR flash map":
0x00000000-0x00b00000 : "system"
0x00b00000-0x00c00000 : "settings"
0x00c00000-0x00c80000 : "boot"
0x00c80000-0x00fe0000 : "rescue"
0x00fe0000-0x01000000 : "boot-vars"
Probing for NAND chip...
No NAND device found!!!
No NAND flash device found.
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus]
orinoco.c 0.11b (David Gibson <hermes@gibson.dropbear.id.au> and others)
hermes.c: 5 Apr 2002 David Gibson <hermes@gibson.dropbear.id.au>
orinoco_cs.c 0.11b (David Gibson <hermes@gibson.dropbear.id.au> and others)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Yenta IRQ list 0000, PCI irq99
Socket status: 30000047
VFS: Mounted root (jffs2 filesystem) readonly.
Freeing unused kernel memory: 368k freed
Algorithmics/MIPS FPU Emulator v1.5
EMMA blitter r15 (Mar 19 2004 10:49:27) DIRTY blits ok.
Blitter: mem_base=2d1000 mem_top=655000 pages=900
EMMA blitter registered, major number=241
EMMA MPEG decoder r77 (Mar 21 2004 19:29:0
.
EMMA MPEG decoder registered, major number=240 AC3 support
Simple Flash File System version 0.4
eth0: Setting 100mbps full-duplex based on auto-negotiated partner ability 45e1.
cs: IO port probe 0x0000-0x01ff: clean.
MPEG: EMMA2 chip version is 3.
MPEG: loaded firmware for MPEG1L3
DSP command 5a0f complete (start=677uS, time=577uS), retval=0
DSP command 363e complete (start=3136uS, time=177uS), retval=0
MPEG: mode successfully set to MPEG1L3
MPEG: audio firmware version=0x4c02
DSP command 922e complete (start=3616uS, time=10uS), retval=0
DSP command a62f complete (start=3752uS, time=10uS), retval=0
DSP command 4031 complete (start=3888uS, time=11uS), retval=0
DSP command 2006 complete (start=4037uS, time=10uS), retval=0
DSP command 2007 complete (start=4172uS, time=10uS), retval=0
DSP command 14 complete (start=4307uS, time=10uS), retval=0
DSP command 122e complete (start=4437uS, time=10uS), retval=0
DSP command 262f complete (start=4573uS, time=9uS), retval=0
DSP command 2c complete (start=4708uS, time=9uS), retval=0
DSP command ffa0 complete (start=4840uS, time=12uS), retval=0
DSP command ffa1 complete (start=4974uS, time=10uS), retval=0
DSP command 4 complete (start=6323uS, time=31uS), retval=0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
MPEG: display mode changed to NTSC
VIDEO: End of picture buffer=ab2000
MPEG_IOCTL: setting video layer to 3
MPEG: new video order is OSD2-SCL3-SCL1-OSD1-SCL2
MPEG: frame rate changed from badval 0 to 30
VIDEO: display list empty 1 times, skipping bottom field.
MPEG_IOCTL: setting video layer to 5
MPEG: new video order is OSD2-SCL3-OSD1-SCL2-SCL1
Blitter: new video order is 4-2-3-1-0
PCM: opening audio device.
MPEG: EMMA2 chip version is 3.
MPEG: loaded firmware for MPEG1L2
DSP command f complete (start=6395163uS, time=560uS), retval=0
DSP command 363e complete (start=6397631uS, time=12uS), retval=0
MPEG: mode successfully set to MPEG1L2
MPEG: audio firmware version=0x4c02
DSP command 922e complete (start=6397932uS, time=10uS), retval=0
DSP command a02f complete (start=6398076uS, time=10uS), retval=0
DSP command 4031 complete (start=6398216uS, time=10uS), retval=0
DSP command 2006 complete (start=6398357uS, time=9uS), retval=0
DSP command 2007 complete (start=6398496uS, time=9uS), retval=0
DSP command 14 complete (start=6398634uS, time=9uS), retval=0
DSP command 122e complete (start=6398768uS, time=11uS), retval=0
DSP command 202f complete (start=6398910uS, time=9uS), retval=0
DSP command 2c complete (start=6399055uS, time=9uS), retval=0
DSP command 1f complete (start=6399286uS, time=12uS), retval=0
DSP command ffa0 complete (start=6399434uS, time=10uS), retval=0
DSP command ffa1 complete (start=6399577uS, time=9uS), retval=0
DSP command 3 complete (start=6399716uS, time=101uS), retval=0
DSP command ffa0 complete (start=6399971uS, time=10uS), retval=0
DSP command ffa1 complete (start=6400112uS, time=9uS), retval=0
DSP command 26 complete (start=6400291uS, time=5uS), retval=0
DSP command 27 complete (start=6400437uS, time=10uS), retval=0
emma_pcm_ioctl: set format 16
emma_pcm_ioctl: set stereo 0
emma_pcm_ioctl: set speed 32000
DSP command 602d complete (start=6401629uS, time=12uS), retval=0
emma_pcm_ioctl: set PCM audio volume to 80.
DSP command f26 complete (start=6401850uS, time=11uS), retval=0
DSP command f27 complete (start=6401990uS, time=10uS), retval=0
PCM: closing audio #1
PCM: closing audio #2.
DSP command 17 complete (start=7744674uS, time=8uS), retval=0
DSP command 4 complete (start=7744834uS, time=453uS), retval=0
MPEG: display mode changed to NTSC
VIDEO: End of picture buffer=ab2000
MPEG_IOCTL: setting video layer to 3
MPEG: new video order is OSD2-SCL3-SCL1-OSD1-SCL2
VIDEO: display list empty 1 times, skipping bottom field.
Edited by: Jason2005 at: 4/21/05 6:07 pm
rob0214
Member
Posts: 14
(4/24/05 1:12 am)
68.194.185.187
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
sorry, for the delay in reply, been out of town.
it's a glibc problem (i've run into it too). init is actually busybox, and the linker can't resolve glibc properly.
assuming you copied over glibc from the toolchain from sourceforge, you've either missed something important, and/or forgot to run ldconfig -r before building your image. you're also probably better off pulling glibc compiled for mipsel from debian (unstable) packages, since it has lots of security/performance patches over glibc 2.3.2 build from released source.
sffs is irrelevant (it's in the prismiq flash driver in drivers/mtd/maps, i think).
my time is sort of limited of late, so, jason, if you want to take building a new firmware, go ahead. i can tell you the snags i've hit, but, i think i fixed most of them in the cleaned up patch.
madwifi driver compilation is problematic. i've had to specify all the environment variables on the command line to make it work. i'll post instructions when i get home and have access to my development machine.
as for the issue of having multiple people working towards the same goal, it will probably be better to have more than one person who knows to build firmware.
Jason2005
Member
Posts: 10
(4/24/05 9:52 pm)
24.117.220.213
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
I tried two different compilers. I tried the one that you supplied on the sourceforge.net site. And the second one I compiled using the crosstool tool. The reason that I used the second one was because I ran into problems copying over glibc. I wasn't sure if I needed to copy everything in the lib directory or just the glibc file.
I tried running the ldconfig -r command but it didn't seem to make any difference. Do I use the ldconfig from the /sbin/ldconfig or is there a version in the cross compiler tool chain. I manage to track the file down to the same location that you said (drivers/mtd/maps). The problem that I think I am now having is that when I build the kernel, the file isn't being compiled. Nor is it being compiled when I make modules. So far I haven't been able to figure out which configuration flag will compile it in.
I'll keep working on it.
rob0214
Member
Posts: 18
(4/25/05 2:46 am)
68.194.185.187
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
glibc contains many files. look at www.linuxfromscratch.org for a good description of what they do. i just copied over the shared libraries that existed from the previous firmware (they have the same name, different version). you need to copy *all* the glibc shared libraries, if you miss a necessary one, you'll badly break things (and you can't mix and match).
you need to use ldconfig from /sbin rather than from the toolchain (because an intel processor can't run a mips binary). and, yes, it does work. ldconfig just sets up symbolic links and populates ld.so.cache.
as to not having prismiq-mpr-flash built, it should build if your patch went in clean , and you used the sample config.
the big question, is what is the last thing you see on the screen before the machine reboots? if it's something along the lines of "can't start init", it's a glibc problem. if it's "can't mount root", it's a kernel problem..
Jason2005
Member
Posts: 11
(4/26/05 4:20 pm)
63.168.124.137
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
The last thing that I remeber seeing was that it was complaining about a bad argument to jffs2 compression -0x06 and that it couldn't find init.
I am in the process of building a guide that should be helpful for anyone else who wants to give a go at building firmware. It isn't complete yet since I so far have been unable to build a working firmeware version.
About the kernel patching, I think that I did do it right. I didn't get any errors that I can see but just to be safe, I've posted what I got from executing the following command:
zcat tars/prismiq_2.4.29.diff.gz | patch -p0 > patch_out.txt
patching file linux/arch/mips/config-shared.in
patching file linux/arch/mips/emma/int-handler.S
patching file linux/arch/mips/emma/irq.c
patching file linux/arch/mips/emma/irq-emma.c
patching file linux/arch/mips/emma/kgdb.c
patching file linux/arch/mips/emma/Makefile
patching file linux/arch/mips/emma/pci.c
patching file linux/arch/mips/emma/prom.c
patching file linux/arch/mips/emma/reset.c
patching file linux/arch/mips/emma/setup.c
patching file linux/arch/mips/kernel/setup.c
patching file linux/arch/mips/kernel/unaligned.c
patching file linux/arch/mips/Makefile
patching file linux/arch/mips/mm/ioremap.c
patching file linux/Documentation/DocBook/librs.tmpl
patching file linux/Documentation/DocBook/mtdnand.tmpl
patching file linux/drivers/char/Config.in
patching file linux/drivers/char/console.c
patching file linux/drivers/char/encore_keyb.c
patching file linux/drivers/char/encore_keyb_map.c
patching file linux/drivers/char/encore_keyb_map.map
patching file linux/drivers/char/Makefile
patching file linux/drivers/mtd/afs.c
patching file linux/drivers/mtd/chips/amd_flash.c
patching file linux/drivers/mtd/chips/cfi_cmdset_0001.c
patching file linux/drivers/mtd/chips/cfi_cmdset_0002.c
patching file linux/drivers/mtd/chips/cfi_cmdset_0020.c
patching file linux/drivers/mtd/chips/cfi_probe.c
patching file linux/drivers/mtd/chips/cfi_util.c
patching file linux/drivers/mtd/chips/chipreg.c
patching file linux/drivers/mtd/chips/Config.in
patching file linux/drivers/mtd/chips/fwh_lock.h
patching file linux/drivers/mtd/chips/gen_probe.c
patching file linux/drivers/mtd/chips/jedec.c
patching file linux/drivers/mtd/chips/jedec_probe.c
patching file linux/drivers/mtd/chips/Makefile
patching file linux/drivers/mtd/chips/Makefile.common
patching file linux/drivers/mtd/chips/map_absent.c
patching file linux/drivers/mtd/chips/map_ram.c
patching file linux/drivers/mtd/chips/map_rom.c
patching file linux/drivers/mtd/chips/sharp.c
patching file linux/drivers/mtd/cmdlinepart.c
patching file linux/drivers/mtd/Config.in
patching file linux/drivers/mtd/devices/blkmtd-24.c
patching file linux/drivers/mtd/devices/blkmtd.c
patching file linux/drivers/mtd/devices/block2mtd.c
patching file linux/drivers/mtd/devices/Config.in
patching file linux/drivers/mtd/devices/doc2000.c
patching file linux/drivers/mtd/devices/doc2001.c
patching file linux/drivers/mtd/devices/doc2001plus.c
patching file linux/drivers/mtd/devices/docecc.c
patching file linux/drivers/mtd/devices/docprobe.c
patching file linux/drivers/mtd/devices/lart.c
patching file linux/drivers/mtd/devices/Makefile
patching file linux/drivers/mtd/devices/Makefile.common
patching file linux/drivers/mtd/devices/ms02-nv.c
patching file linux/drivers/mtd/devices/mtdram.c
patching file linux/drivers/mtd/devices/phram.c
patching file linux/drivers/mtd/devices/pmc551.c
patching file linux/drivers/mtd/devices/slram.c
patching file linux/drivers/mtd/ftl.c
patching file linux/drivers/mtd/inftlcore.c
patching file linux/drivers/mtd/inftlmount.c
patching file linux/drivers/mtd/Makefile
patching file linux/drivers/mtd/Makefile.common
patching file linux/drivers/mtd/maps/alchemy-flash.c
patching file linux/drivers/mtd/maps/amd76xrom.c
patching file linux/drivers/mtd/maps/arctic-mtd.c
patching file linux/drivers/mtd/maps/autcpu12-nvram.c
patching file linux/drivers/mtd/maps/bast-flash.c
patching file linux/drivers/mtd/maps/beech-mtd.c
patching file linux/drivers/mtd/maps/cdb89712.c
patching file linux/drivers/mtd/maps/ceiva.c
patching file linux/drivers/mtd/maps/cfi_flagadm.c
patching file linux/drivers/mtd/maps/chestnut.c
patching file linux/drivers/mtd/maps/Config.in
patching file linux/drivers/mtd/maps/cstm_mips_ixx.c
patching file linux/drivers/mtd/maps/dbox2-flash.c
patching file linux/drivers/mtd/maps/dc21285.c
patching file linux/drivers/mtd/maps/dilnetpc.c
patching file linux/drivers/mtd/maps/dmv182.c
patching file linux/drivers/mtd/maps/ebony.c
patching file linux/drivers/mtd/maps/edb7312.c
patching file linux/drivers/mtd/maps/epxa10db-flash.c
patching file linux/drivers/mtd/maps/fortunet.c
patching file linux/drivers/mtd/maps/h720x-flash.c
patching file linux/drivers/mtd/maps/ichxrom.c
patching file linux/drivers/mtd/maps/impa7.c
patching file linux/drivers/mtd/maps/integrator-flash.c
patching file linux/drivers/mtd/maps/integrator-flash-v24.c
patching file linux/drivers/mtd/maps/ipaq-flash.c
patching file linux/drivers/mtd/maps/iq80310.c
patching file linux/drivers/mtd/maps/ixp2000.c
patching file linux/drivers/mtd/maps/ixp4xx.c
patching file linux/drivers/mtd/maps/l440gx.c
patching file linux/drivers/mtd/maps/lasat.c
patching file linux/drivers/mtd/maps/lubbock-flash.c
patching file linux/drivers/mtd/maps/Makefile
patching file linux/drivers/mtd/maps/Makefile.common
patching file linux/drivers/mtd/maps/map_funcs.c
patching file linux/drivers/mtd/maps/mbx860.c
patching file linux/drivers/mtd/maps/mpc1211.c
patching file linux/drivers/mtd/maps/netsc520.c
patching file linux/drivers/mtd/maps/nettel.c
patching file linux/drivers/mtd/maps/ocelot.c
patching file linux/drivers/mtd/maps/ocotea.c
patching file linux/drivers/mtd/maps/octagon-5066.c
patching file linux/drivers/mtd/maps/omap-toto-flash.c
patching file linux/drivers/mtd/maps/pci.c
patching file linux/drivers/mtd/maps/pcmciamtd.c
patching file linux/drivers/mtd/maps/physmap.c
patching file linux/drivers/mtd/maps/plat-ram.c
patching file linux/drivers/mtd/maps/pnc2000.c
patching file linux/drivers/mtd/maps/prismiq-mpr-flash.c
patching file linux/drivers/mtd/maps/redwood.c
patching file linux/drivers/mtd/maps/rpxlite.c
patching file linux/drivers/mtd/maps/sa1100-flash.c
patching file linux/drivers/mtd/maps/sbc8240.c
patching file linux/drivers/mtd/maps/sbc_gxx.c
patching file linux/drivers/mtd/maps/sc520cdp.c
patching file linux/drivers/mtd/maps/scb2_flash.c
patching file linux/drivers/mtd/maps/scx200_docflash.c
patching file linux/drivers/mtd/maps/sharpsl-flash.c
patching file linux/drivers/mtd/maps/solutionengine.c
patching file linux/drivers/mtd/maps/sun_uflash.c
patching file linux/drivers/mtd/maps/tqm8xxl.c
patching file linux/drivers/mtd/maps/ts5500_flash.c
patching file linux/drivers/mtd/maps/tsunami_flash.c
patching file linux/drivers/mtd/maps/uclinux.c
patching file linux/drivers/mtd/maps/vmax301.c
patching file linux/drivers/mtd/maps/walnut.c
patching file linux/drivers/mtd/maps/wr_sbc82xx_flash.c
patching file linux/drivers/mtd/mtd_blkdevs-24.c
patching file linux/drivers/mtd/mtd_blkdevs.c
patching file linux/drivers/mtd/mtdblock.c
patching file linux/drivers/mtd/mtdblock_ro.c
patching file linux/drivers/mtd/mtdchar.c
patching file linux/drivers/mtd/mtdconcat.c
patching file linux/drivers/mtd/mtdcore.c
patching file linux/drivers/mtd/mtdpart.c
patching file linux/drivers/mtd/nand/au1550nd.c
patching file linux/drivers/mtd/nand/autcpu12.c
patching file linux/drivers/mtd/nand/Config.in
patching file linux/drivers/mtd/nand/diskonchip.c
patching file linux/drivers/mtd/nand/edb7312.c
patching file linux/drivers/mtd/nand/h1910.c
patching file linux/drivers/mtd/nand/Makefile
patching file linux/drivers/mtd/nand/Makefile.common
patching file linux/drivers/mtd/nand/nand_base.c
patching file linux/drivers/mtd/nand/nand_bbt.c
patching file linux/drivers/mtd/nand/nand_ecc.c
patching file linux/drivers/mtd/nand/nand_ids.c
patching file linux/drivers/mtd/nand/nandsim.c
patching file linux/drivers/mtd/nand/ppchameleonevb.c
patching file linux/drivers/mtd/nand/rtc_from4.c
patching file linux/drivers/mtd/nand/s3c2410.c
patching file linux/drivers/mtd/nand/sharpsl.c
patching file linux/drivers/mtd/nand/spia.c
patching file linux/drivers/mtd/nand/toto.c
patching file linux/drivers/mtd/nand/tx4925ndfmc.c
patching file linux/drivers/mtd/nand/tx4938ndfmc.c
patching file linux/drivers/mtd/nftlcore.c
patching file linux/drivers/mtd/nftlmount.c
patching file linux/drivers/mtd/redboot.c
patching file linux/drivers/mtd/ssfdc.c
patching file linux/drivers/net/8139too.c
patching file linux/drivers/net/wireless/hermes.h
patching file linux/drivers/video/Config.in
patching file linux/drivers/video/emmafb.c
patching file linux/drivers/video/fbcon.c
patching file linux/drivers/video/fbcon-peo16.c
patching file linux/drivers/video/fbcon-peo32.c
patching file linux/drivers/video/fbmem.c
patching file linux/drivers/video/Makefile
patching file linux/fs/Config.in
patching file linux/fs/jffs2/background.c
patching file linux/fs/jffs2/build.c
patching file linux/fs/jffs2/compr.c
patching file linux/fs/jffs2/compr.h
patching file linux/fs/jffs2/compr_lzari.c
patching file linux/fs/jffs2/compr_lzo.c
patching file linux/fs/jffs2/compr_rtime.c
patching file linux/fs/jffs2/compr_rubin.c
patching file linux/fs/jffs2/compr_rubin.h
patching file linux/fs/jffs2/comprtest.c
patching file linux/fs/jffs2/compr_zlib.c
patching file linux/fs/jffs2/crc32.c
patching file linux/fs/jffs2/crc32.h
patching file linux/fs/jffs2/dir.c
patching file linux/fs/jffs2/erase.c
patching file linux/fs/jffs2/file.c
patching file linux/fs/jffs2/fs.c
patching file linux/fs/jffs2/gc.c
patching file linux/fs/jffs2/ioctl.c
patching file linux/fs/jffs2/Makefile
patching file linux/fs/jffs2/Makefile.common
patching file linux/fs/jffs2/malloc.c
patching file linux/fs/jffs2/nodelist.c
patching file linux/fs/jffs2/nodelist.h
patching file linux/fs/jffs2/nodemgmt.c
patching file linux/fs/jffs2/os-linux.h
patching file linux/fs/jffs2/pushpull.h
patching file linux/fs/jffs2/rbtree.c
patching file linux/fs/jffs2/read.c
patching file linux/fs/jffs2/readinode.c
patching file linux/fs/jffs2/scan.c
patching file linux/fs/jffs2/super.c
patching file linux/fs/jffs2/super-v24.c
patching file linux/fs/jffs2/symlink.c
patching file linux/fs/jffs2/symlink-v24.c
patching file linux/fs/jffs2/wbuf.c
patching file linux/fs/jffs2/write.c
patching file linux/fs/jffs2/writev.c
patching file linux/include/asm-mips/bitops.h
patching file linux/include/asm-mips/bootinfo.h
patching file linux/include/asm-mips/bug.h
patching file linux/include/asm-mips/emma.h
patching file linux/include/asm-mips/io.h
patching file linux/include/asm-mips/irq.h
patching file linux/include/asm-mips/prismiq-mp.h
patching file linux/include/asm-mips/prismiq-note.h
patching file linux/include/asm-mips/serial.h
patching file linux/include/linux/encore_keyb.h
patching file linux/include/linux/fb.h
patching file linux/include/linux/jffs2_fs_i.h
patching file linux/include/linux/jffs2_fs_sb.h
patching file linux/include/linux/jffs2.h
patching file linux/include/linux/mtd/blktrans.h
patching file linux/include/linux/mtd/cfi.h
patching file linux/include/linux/mtd/compatmac.h
patching file linux/include/linux/mtd/doc2000.h
patching file linux/include/linux/mtd/flashchip.h
patching file linux/include/linux/mtd/gen_probe.h
patching file linux/include/linux/mtd/inftl.h
patching file linux/include/linux/mtd/jedec.h
patching file linux/include/linux/mtd/map.h
patching file linux/include/linux/mtd/mtd.h
patching file linux/include/linux/mtd/nand_ecc.h
patching file linux/include/linux/mtd/nand.h
patching file linux/include/linux/mtd/nftl.h
patching file linux/include/linux/mtd/partitions.h
patching file linux/include/linux/mtd/physmap.h
patching file linux/include/linux/mtd/plat-ram.h
patching file linux/include/linux/mtd/xip.h
patching file linux/include/linux/rbtree-24.h
patching file linux/include/linux/rbtree.h
patching file linux/include/linux/rslib.h
patching file linux/include/linux/suspend.h
patching file linux/include/linux/workqueue.h
patching file linux/include/mtd/inftl-user.h
patching file linux/include/mtd/jffs2-user.h
patching file linux/include/mtd/mtd-abi.h
patching file linux/include/mtd/mtd-user.h
patching file linux/include/mtd/nftl-user.h
patching file linux/lib/Config.in
patching file linux/lib/Makefile
patching file linux/lib/rbtree.c
patching file linux/lib/reed_solomon/decode_rs.c
patching file linux/lib/reed_solomon/encode_rs.c
patching file linux/lib/reed_solomon/Makefile
patching file linux/lib/reed_solomon/rslib.c
patching file linux/net/ipv4/udp.c
rob0214
Member
Posts: 19
(4/28/05 11:56 am)
69.140.66.105
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
patches look clean.
sounds like a jffs2 problem. you are aware that the instructions from handhelds.org is for an iPaq with 32M flash, whereas the prismiq only has 16M, so size/eraseblock parameters aren't the same?
i don't use those instructions. i just create an NFS mount point on the server (root read/writable), mount that directory on the prismiq, and do:
for i in bin boot dev etc lib root sbin usr var
do
tar cvzf <mountpoint>/$i.tar.gz
done
and untar to a working directory on the server.
unfortunately, the instructions on how to NFS mount on the prismiq have gone the way of the old boards. and i don't do it very often because i have a copy of the pristine tarballs to work from.
Jason2005
Member
Posts: 12
(4/28/05 3:17 pm)
63.168.124.137
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
The patches were done properly this time. I check the linux/drivers/mtd/maps/prismiq-mpr-flash.c and it had been compiled this time. So I no longer think that I have a problem there. I think that my problem may be the method of getting the files as you said or the glibc thing. Here are the files that I copied over to the MP directory from /usr/local/ccs/mipscross/mipsel-unknown-linux-gnu/lib/
-rwxr-xr-x 1 root users 127838 Apr 27 13:35 ld-2.3.2.so
-rwxr-xr-x 1 root users 1953899 Apr 27 13:35 libc-2.3.2.so
-rwxr-xr-x 1 root users 30644 Apr 27 13:36 libcrypt-2.3.2.so
-rwxr-xr-x 1 root users 17724 Apr 27 13:37 libdl-2.3.2.so
-rw-r--r-- 1 root users 731681 Apr 27 13:37 libgcc_s.so
-rwxr-xr-x 1 root users 608623 Apr 27 13:37 libm-2.3.2.so
-rwxr-xr-x 1 root users 119453 Apr 27 13:37 libnsl-2.3.2.so
-rwxr-xr-x 1 root users 72277 Apr 27 13:38 libnss_compat-2.3.2.so
-rwxr-xr-x 1 root users 22896 Apr 27 13:38 libnss_dns-2.3.2.so
-rwxr-xr-x 1 root users 68111 Apr 27 13:38 libnss_files-2.3.2.so
-rwxr-xr-x 1 root users 120113 Apr 27 13:38 libpthread-0.10.so
-rwxr-xr-x 1 root users 92714 Apr 27 13:39 libresolv-2.3.2.so
-rwxr-xr-x 1 root users 4648260 Apr 27 13:40 libstdc++.so.5.0.5
-rwxr-xr-x 1 root users 15392 Apr 27 13:40 libutil-2.3.2.so
Are there any that I missed? I will also try to create an NFS mount on the prismiq get the root files that way.
rob0214
Member
Posts: 20
(4/29/05 12:25 pm)
69.140.66.105
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
you forgot the nis ones. libnss_nis and libnss_nisplus.
i've tried taking the nis references out of /etc/resolv.conf, and deleting them (don't think many home users use nis), but it doesn't work. gives me the can't find init thing. there might be some other place that nis is referenced that's causing this (or i missed an nis reference in resolv.conf).
I've put diffs against the linux-mips.org 2.4.29 kernel and a sample config file in sourceforge (it patches and builds cleanly, i checked).
Of course, as I do this, 2.4.30 gets released, but according to the changelog, there's nothing really useful in it for the prismiq (mostly 64-bit changes).
If you want to play with building firmware images, look at www.linux-mtd.infradead.org, grab the 3/04/05 snapshot and build the util subdirectory. There's mkfs.jffs2 (for creating images) and jffs2dump (for extracting images).
Should be buildable on windows too via cygwin...
I'll probably release a test firmware (not very usable by end users, will probably require linux knowledge to get wireless running) soon, if anyone's interested.
Should've done all this a year ago, oh well.
and, I *still* can't get the damn netgear wg511 to work
But, it has atheros drivers, and should be able to be manually configed to use 108mbps mode....
Jason2005
Member
Posts: 3
(4/15/05 3:13 pm)
63.168.124.137
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
I've had some basic success in being able to peer into the os-encore that comes with the unit. I'm going to see if I can rebuild it since I don't know what value to use for the mkfs.jffs2 command.
Also, how hard is it to get the cross compiling platform set up? I figure soon I will want to try building a new kernel. Also, I don't know what version of busybox is on there now, are you considering bumping that up to the latest version?
Since I am new to this, I was thinking of trying to get a basic terminal type thing going and then try to work on microwindows. I thought that some one was working on that but I can't remember.
I'm gonna keep at it...
raanan
Member
Posts: 3
(4/15/05 11:51 pm)
82.80.19.251
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
the cross compiler is here
Compiler at sourceforge by rob
and it's easy to set it up in a linux box.
also i have compiled a new version of busybox but did not install it as i did not see the need to replace the current busybox.
Raanan
rob0214
Member
Posts: 11
(4/16/05 2:53 pm)
69.140.66.105
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
sorry, been busy with work related issues.
i didn't bother trying to update busybox because there are custom utilities that prismiq added. they pretty much are the jffs2 utils built into busybox, and are used for the firmware upgrades. take a look at mtdcp, mtderase, etc, and you'll see that they are basically the jffs2 utils (even have the same arguments).
also wanted to update Qt/Embedded to the latest release (many bugfixes). 2.x is now open source (which you'd need if you're using prismiq's gui, since going to 2.x -> 3 requires a recompile, but prismiq hasn't released the source to be able to do a recompile). unfortunately, there's a QEmma class in the libqte.so, which is custom, and i know of no way to just extract the .o file for it from a shared lib to rebuild .
i've also found that pulling binaries from debian unstable is a huge timesaver. not as optimized as compiling from source, but recompiling glibc, for instance, is a huge pain. plus, i don't have a debian box, so applying debian patches to a package is difficult.
as for jffs2 stuff, it might be possible to mount the firmware image via loopback (similar to what you do to mount ISOs on linux).
if you add new libs, you probably want to do ldconfig -r . pretty sure you need it if you move libs, or upgrade glibc. i just do it out of habit to be sure.
but, when i use mkfs.jffs2, i use:
mkfs.jffs2 -v -U -e0x020000 -r -o os-encore-2.4.29
probably, if you go the loopback mount route, you don't need to jump through all these hoops with mkfs.jffs2 and can just copy the original firmware to os-encore-2.4.29 (or whatever) modify what you need, and unmount.
os-encore-2.4.29 is the new image. put the image in bin/webapps/mserver subdirectory.
boot to rescue on the prismiq (hit escape on the keyboard when you see loading...., type rescue).
then do:
wflash media.server.ip.address:8...ore-2.4.29 system
get a cup of coffee while you're waiting. reboot will give you new firmware.
whew, that's a lot of info
Edited by: rob0214 at: 4/16/05 3:01 pm
Jason2005
Member
Posts: 4
(4/17/05 12:32 pm)
24.117.220.213
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
I used information from the following site:
www.handhelds.org/moin/mo...ackupHowto
to figure out how to mount the jffs2 image.
About the compiler, it changes the glibc-2.2.5 to glibc-2.3.2(if I remember right). So to be able to use it, I will need to update the glibc in the jffs2 image to the same one in the compiler. Are there any issues with the rest of the software that was compiled under 2.2.5? Or does 2.3.2 cover them as well?
Concerning the windowing environment on the MP, I've run across two so far (three since I just learned about Qt/Embedded):
Microwindows/Nano-X
www.microwindows.org/
The KDrive Tiny-X Server
www.pps.jussieu.fr/~jch/s...drive.html
Now, I admit that I know very little about any of them. Supposedly with nano-x, they have a way to run standard X11 binaries on it. Plus, it seems to be geared towards embedded systems. KDrive on the other hand, appears to be made for the x86 but I figured that since it was small it might be a candidate for porting. I'll also have to do some looking into the Qt/Embedded first. What I was wondering is which would be a better pursuit?
Thanks for all the info rob0214 and raanan!
PRISMIQ Kitty
ezOP
Posts: 88
(4/17/05 12:38 pm)
70.179.69.33
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
Which would be better? Depends on what you are trying t do.
Are you trying to turn a Prismiq into an x-terminal? A Linux computing box? A Mediaplayer?
If you are porting another mediaplayer, which one? Maybe Videolan/VLC? MythTV?
Jason2005
Member
Posts: 5
(4/18/05 10:11 am)
63.168.124.137
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
I guess that I'd be going more for a MythTV frontend (although, I am only vaguely familiar with MythTV). Although, if I remember right, MythTV mainly uses Divx and I'd really like to be able to offload some of the video processing by using the mpeg2 decoder build into the processor.
I just thought of a few more questions:
there is a 16MB ROM on-board right, how much of it is available to use? And would it be possible to use some of the 64MB of ram as a ram-disk to increase the amount we have to work with?
PRISMIQ Kitty
ezOP
Posts: 90
(4/18/05 12:36 pm)
169.253.4.21
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
Awhile back a Prismiq Engineer said it had about 500K of free flash rom on it but that might have decreased with the newer software with Rhapsody.
Sorry for the 20 questions but I'm just trying to see who is just trying some stuff and who has specific plans. The Hauppauge MediaMVP already has a MythTV frontend I think. With the better smarts in the Prismiq, it could be put to some good uses by someone I'm sure
rob0214
Member
Posts: 13
(4/18/05 2:57 pm)
66.166.231.117
Reply | Edit | Del responses
--------------------------------------------------------------------------------
mythtv uses mpeg2 for it's tv show record functionality (actually, a hacked version of nuppelvideo, which pretty much is standard mpeg2). i believe it archives to divx (or, more likely, xvid).
watching video is basically accomplished by spawning mplayer.
if you don't use the frontend, and use mythtv's, you could probably blow away a ton of executables (valence, kinkatta, etc) and free lots of space.
another method would be to NFS/SMBFS mount /usr/local from another machine and put the executables on a server that gets mounted at boot time. i think this is a better approach than loading it to ramdisk.
you also might want to look into ucLibc. has a pretty good build environment for cross-compilation with smaller libc.
as for glibc, if you ldconfig the new firmware partition, beforehand everything should work ok. trying to switch libc's on the fly is a bit tricky, hence the suggestion to boot to rescue first. you might be able to do it by editing the wflash script (although i think there's another script that downloads, writes, compares the flash that gets executed when you do the normal way of firmware upgrade) to run ldconfig when it's done.
i also slim down glibc by tossing out non-essential stuff like libsegfault, libbrokenlocale, etc. also, i get rid of lib_nss_hesiod (what the heck is hesiod anyway).
and, mounting the jffs2 stuff wasn't as straightforward as i thought, but since someone else found a link to do it already....
Jason2005
Member
Posts: 6
(4/19/05 9:05 am)
63.168.124.116
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
The reason I asked which one would be better to pursue, is because there are a number of us working on creating new firmware. I figured that if we all focused our efforts together, then we'd be able to get something together faster.
PRISMIQ Kitty
ezOP
Posts: 93
(4/19/05 9:46 am)
169.253.4.21
Reply | Edit | Del Re: Kernel/firmware related stuff
--------------------------------------------------------------------------------
Good idea - well folks, can we come to a consensus?
I'm no help really as I would, at this point, just be happy with a new PC end - the box is fine but the PC side needs a better transcoder and file interface.
Jason2005
Member
Posts: 7
(4/19/05 2:09 pm)
63.168.124.137
Reply | Edit | Del Building the Kernel
--------------------------------------------------------------------------------
Okay, I've gotten rob0214's compiler from sourceforge.net and installed it. I also picked up prismiq_2.4.29.diff.gz and sample.config.gz.
I am going to try and build a kernel and I wanted to make sure that I got the right one. I went to www.linux-mips.org and there I found out that I needed to log into their cvs repositories. Once I was logged in, I executed the following command:
cvs -d
Which I think got me the mips version of the 2.4.29 kernel that the prismiq_2.4.29.diff.gz were made against. First question is this correct, and second do I use the prismiq_2.4.29 as a patch to the kernel or as something else?
Thanks
Edited:
Okay, I figured out how to apply the diffs from sourceforge on the kernel that I got from cvs.
Edited by: Jason2005 at: 4/19/05 4:21 pm
Jason2005
Member
Posts: 8
(4/20/05 2:09 pm)
63.168.124.137
Reply | Edit | Del Upgrading libc-2.3.2
--------------------------------------------------------------------------------
In order to upgrade the MP to the version that the compiler is, do you just need to copy the libc-2.3.2.so over to the MP? Or do you need to copy all of the stuff there over to the MP?
Jason2005
Member
Posts: 9
(4/21/05 6:06 pm)
63.168.124.116
Reply | Edit | Del Hit a snag...
--------------------------------------------------------------------------------
Does anyone know anything about sffs? I have tried to build images based on both the 2.4.25 and 2.4.29 kernels. Both of them build but they go into an endless reboot cycle complaining that they couldn't find init. I even specified the kernel command parameters (i.e. mem=64M root=/dev/mtdblock0 rootfstype=jffs2), which didn't work either. So I decided to check out the dmesg on the device for a known working image. The entirety of what I got from dmesg is below but the part that I thought was interesting is:
PRISMIQ MediaPlayer NOR flash driver
Probing for 16MB Intel flash chip ...
cfi_cmdset_0001: Erase suspend on write enabled
0: offset=0x0,size=0x20000,blocks=128
Using buffer write method
reading sffs at fe0000, size 1000000, erasesize 20000
Creating 5 MTD partitions on "PRISMIQ MediaPlayer NOR flash map":
0x00000000-0x00b00000 : "system"
0x00b00000-0x00c00000 : "settings"
0x00c00000-0x00c80000 : "boot"
0x00c80000-0x00fe0000 : "rescue"
0x00fe0000-0x01000000 : "boot-vars"
Probing for NAND chip...
No NAND device found!!!
No NAND flash device found.
I have no idea what "sffs at fe0000 size 1000000 erasesize 20000" means. Or more importantly, have I done something wrond?
here is the entire dmesg output below
CPU revision is: 00000c72
Primary instruction cache 16kb, linesize 16 bytes.
Primary data cache 8kb, linesize 16 bytes.
Linux version 2.4.18-encore-11 (kerry@apu.oxygnet.com) (gcc version 3.2) #202 Wed Jan 21 12:06:51 PST 2004
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
On node 0 totalpages: 16384
zone(0): 4096 pages.
zone(1): 12288 pages.
zone(2): 0 pages.
Kernel command line:
Console: colour dummy device 80x25
Calibrating delay loop... 165.88 BogoMIPS
Memory: 51212k/65536k available (1682k kernel code, 14324k reserved, 124k data, 368k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
Checking for 'wait' instruction... unavailable.
POSIX conformance testing by UNIFIX
Autoconfig PCI channel 0x80cc9bf0
Scanning bus 00, I/O 0x00000000:0x01000000, Mem 0x30000000:0x38000000
00:00.0 Class 0607: 104c:ac56
CARDBUS Bridge: primary=00, secondary=01
PCI Autoconfig: Found CardBus bridge, device 0 function 0
Mem at 0x30000000 [size=0x100
Scanning sub bus 01, I/O 0x00000000, Mem 0x30100000
Back to bus 00, sub_bus is 1
00:02.0 Class 0200: 10ec:8139 (rev 10)
I/O at 0x00001000 [size=0x10
Mem at 0x30200000 [size=0x10
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis Communications AB.
Console: switching to colour frame buffer device 80x30
fb0: EMMA OSD frame buffer device, NTSC mode.
fb1: EMMA OSD frame buffer device, NTSC mode.
Prismiq Encore IR keyboard driver
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-0
ttyS00 at 0xb2001000x (irq = 56) is a 16550A
ttyS01 at 0xb2002000x (irq = 57) is a 16550A
block: 128 slots per queue, batch=32
8139too Fast Ethernet driver 0.9.24
eth0: RealTek RTL8139 Fast Ethernet at 0xb5200000, 00:0b:50:00:0c:e5, IRQ 99
eth0: Identified 8139 chip type 'RTL-8139C'
PRISMIQ MediaPlayer NOR flash driver
Probing for 16MB Intel flash chip ...
cfi_cmdset_0001: Erase suspend on write enabled
0: offset=0x0,size=0x20000,blocks=128
Using buffer write method
reading sffs at fe0000, size 1000000, erasesize 20000
Creating 5 MTD partitions on "PRISMIQ MediaPlayer NOR flash map":
0x00000000-0x00b00000 : "system"
0x00b00000-0x00c00000 : "settings"
0x00c00000-0x00c80000 : "boot"
0x00c80000-0x00fe0000 : "rescue"
0x00fe0000-0x01000000 : "boot-vars"
Probing for NAND chip...
No NAND device found!!!
No NAND flash device found.
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus]
orinoco.c 0.11b (David Gibson <hermes@gibson.dropbear.id.au> and others)
hermes.c: 5 Apr 2002 David Gibson <hermes@gibson.dropbear.id.au>
orinoco_cs.c 0.11b (David Gibson <hermes@gibson.dropbear.id.au> and others)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Yenta IRQ list 0000, PCI irq99
Socket status: 30000047
VFS: Mounted root (jffs2 filesystem) readonly.
Freeing unused kernel memory: 368k freed
Algorithmics/MIPS FPU Emulator v1.5
EMMA blitter r15 (Mar 19 2004 10:49:27) DIRTY blits ok.
Blitter: mem_base=2d1000 mem_top=655000 pages=900
EMMA blitter registered, major number=241
EMMA MPEG decoder r77 (Mar 21 2004 19:29:0
EMMA MPEG decoder registered, major number=240 AC3 support
Simple Flash File System version 0.4
eth0: Setting 100mbps full-duplex based on auto-negotiated partner ability 45e1.
cs: IO port probe 0x0000-0x01ff: clean.
MPEG: EMMA2 chip version is 3.
MPEG: loaded firmware for MPEG1L3
DSP command 5a0f complete (start=677uS, time=577uS), retval=0
DSP command 363e complete (start=3136uS, time=177uS), retval=0
MPEG: mode successfully set to MPEG1L3
MPEG: audio firmware version=0x4c02
DSP command 922e complete (start=3616uS, time=10uS), retval=0
DSP command a62f complete (start=3752uS, time=10uS), retval=0
DSP command 4031 complete (start=3888uS, time=11uS), retval=0
DSP command 2006 complete (start=4037uS, time=10uS), retval=0
DSP command 2007 complete (start=4172uS, time=10uS), retval=0
DSP command 14 complete (start=4307uS, time=10uS), retval=0
DSP command 122e complete (start=4437uS, time=10uS), retval=0
DSP command 262f complete (start=4573uS, time=9uS), retval=0
DSP command 2c complete (start=4708uS, time=9uS), retval=0
DSP command ffa0 complete (start=4840uS, time=12uS), retval=0
DSP command ffa1 complete (start=4974uS, time=10uS), retval=0
DSP command 4 complete (start=6323uS, time=31uS), retval=0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
Blitter: new video order is 4-2-3-1-0
MPEG: display mode changed to NTSC
VIDEO: End of picture buffer=ab2000
MPEG_IOCTL: setting video layer to 3
MPEG: new video order is OSD2-SCL3-SCL1-OSD1-SCL2
MPEG: frame rate changed from badval 0 to 30
VIDEO: display list empty 1 times, skipping bottom field.
MPEG_IOCTL: setting video layer to 5
MPEG: new video order is OSD2-SCL3-OSD1-SCL2-SCL1
Blitter: new video order is 4-2-3-1-0
PCM: opening audio device.
MPEG: EMMA2 chip version is 3.
MPEG: loaded firmware for MPEG1L2
DSP command f complete (start=6395163uS, time=560uS), retval=0
DSP command 363e complete (start=6397631uS, time=12uS), retval=0
MPEG: mode successfully set to MPEG1L2
MPEG: audio firmware version=0x4c02
DSP command 922e complete (start=6397932uS, time=10uS), retval=0
DSP command a02f complete (start=6398076uS, time=10uS), retval=0
DSP command 4031 complete (start=6398216uS, time=10uS), retval=0
DSP command 2006 complete (start=6398357uS, time=9uS), retval=0
DSP command 2007 complete (start=6398496uS, time=9uS), retval=0
DSP command 14 complete (start=6398634uS, time=9uS), retval=0
DSP command 122e complete (start=6398768uS, time=11uS), retval=0
DSP command 202f complete (start=6398910uS, time=9uS), retval=0
DSP command 2c complete (start=6399055uS, time=9uS), retval=0
DSP command 1f complete (start=6399286uS, time=12uS), retval=0
DSP command ffa0 complete (start=6399434uS, time=10uS), retval=0
DSP command ffa1 complete (start=6399577uS, time=9uS), retval=0
DSP command 3 complete (start=6399716uS, time=101uS), retval=0
DSP command ffa0 complete (start=6399971uS, time=10uS), retval=0
DSP command ffa1 complete (start=6400112uS, time=9uS), retval=0
DSP command 26 complete (start=6400291uS, time=5uS), retval=0
DSP command 27 complete (start=6400437uS, time=10uS), retval=0
emma_pcm_ioctl: set format 16
emma_pcm_ioctl: set stereo 0
emma_pcm_ioctl: set speed 32000
DSP command 602d complete (start=6401629uS, time=12uS), retval=0
emma_pcm_ioctl: set PCM audio volume to 80.
DSP command f26 complete (start=6401850uS, time=11uS), retval=0
DSP command f27 complete (start=6401990uS, time=10uS), retval=0
PCM: closing audio #1
PCM: closing audio #2.
DSP command 17 complete (start=7744674uS, time=8uS), retval=0
DSP command 4 complete (start=7744834uS, time=453uS), retval=0
MPEG: display mode changed to NTSC
VIDEO: End of picture buffer=ab2000
MPEG_IOCTL: setting video layer to 3
MPEG: new video order is OSD2-SCL3-SCL1-OSD1-SCL2
VIDEO: display list empty 1 times, skipping bottom field.
Edited by: Jason2005 at: 4/21/05 6:07 pm
rob0214
Member
Posts: 14
(4/24/05 1:12 am)
68.194.185.187
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
sorry, for the delay in reply, been out of town.
it's a glibc problem (i've run into it too). init is actually busybox, and the linker can't resolve glibc properly.
assuming you copied over glibc from the toolchain from sourceforge, you've either missed something important, and/or forgot to run ldconfig -r before building your image. you're also probably better off pulling glibc compiled for mipsel from debian (unstable) packages, since it has lots of security/performance patches over glibc 2.3.2 build from released source.
sffs is irrelevant (it's in the prismiq flash driver in drivers/mtd/maps, i think).
my time is sort of limited of late, so, jason, if you want to take building a new firmware, go ahead. i can tell you the snags i've hit, but, i think i fixed most of them in the cleaned up patch.
madwifi driver compilation is problematic. i've had to specify all the environment variables on the command line to make it work. i'll post instructions when i get home and have access to my development machine.
as for the issue of having multiple people working towards the same goal, it will probably be better to have more than one person who knows to build firmware.
Jason2005
Member
Posts: 10
(4/24/05 9:52 pm)
24.117.220.213
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
I tried two different compilers. I tried the one that you supplied on the sourceforge.net site. And the second one I compiled using the crosstool tool. The reason that I used the second one was because I ran into problems copying over glibc. I wasn't sure if I needed to copy everything in the lib directory or just the glibc file.
I tried running the ldconfig -r command but it didn't seem to make any difference. Do I use the ldconfig from the /sbin/ldconfig or is there a version in the cross compiler tool chain. I manage to track the file down to the same location that you said (drivers/mtd/maps). The problem that I think I am now having is that when I build the kernel, the file isn't being compiled. Nor is it being compiled when I make modules. So far I haven't been able to figure out which configuration flag will compile it in.
I'll keep working on it.
rob0214
Member
Posts: 18
(4/25/05 2:46 am)
68.194.185.187
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
glibc contains many files. look at www.linuxfromscratch.org for a good description of what they do. i just copied over the shared libraries that existed from the previous firmware (they have the same name, different version). you need to copy *all* the glibc shared libraries, if you miss a necessary one, you'll badly break things (and you can't mix and match).
you need to use ldconfig from /sbin rather than from the toolchain (because an intel processor can't run a mips binary). and, yes, it does work. ldconfig just sets up symbolic links and populates ld.so.cache.
as to not having prismiq-mpr-flash built, it should build if your patch went in clean , and you used the sample config.
the big question, is what is the last thing you see on the screen before the machine reboots? if it's something along the lines of "can't start init", it's a glibc problem. if it's "can't mount root", it's a kernel problem..
Jason2005
Member
Posts: 11
(4/26/05 4:20 pm)
63.168.124.137
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
The last thing that I remeber seeing was that it was complaining about a bad argument to jffs2 compression -0x06 and that it couldn't find init.
I am in the process of building a guide that should be helpful for anyone else who wants to give a go at building firmware. It isn't complete yet since I so far have been unable to build a working firmeware version.
About the kernel patching, I think that I did do it right. I didn't get any errors that I can see but just to be safe, I've posted what I got from executing the following command:
zcat tars/prismiq_2.4.29.diff.gz | patch -p0 > patch_out.txt
patching file linux/arch/mips/config-shared.in
patching file linux/arch/mips/emma/int-handler.S
patching file linux/arch/mips/emma/irq.c
patching file linux/arch/mips/emma/irq-emma.c
patching file linux/arch/mips/emma/kgdb.c
patching file linux/arch/mips/emma/Makefile
patching file linux/arch/mips/emma/pci.c
patching file linux/arch/mips/emma/prom.c
patching file linux/arch/mips/emma/reset.c
patching file linux/arch/mips/emma/setup.c
patching file linux/arch/mips/kernel/setup.c
patching file linux/arch/mips/kernel/unaligned.c
patching file linux/arch/mips/Makefile
patching file linux/arch/mips/mm/ioremap.c
patching file linux/Documentation/DocBook/librs.tmpl
patching file linux/Documentation/DocBook/mtdnand.tmpl
patching file linux/drivers/char/Config.in
patching file linux/drivers/char/console.c
patching file linux/drivers/char/encore_keyb.c
patching file linux/drivers/char/encore_keyb_map.c
patching file linux/drivers/char/encore_keyb_map.map
patching file linux/drivers/char/Makefile
patching file linux/drivers/mtd/afs.c
patching file linux/drivers/mtd/chips/amd_flash.c
patching file linux/drivers/mtd/chips/cfi_cmdset_0001.c
patching file linux/drivers/mtd/chips/cfi_cmdset_0002.c
patching file linux/drivers/mtd/chips/cfi_cmdset_0020.c
patching file linux/drivers/mtd/chips/cfi_probe.c
patching file linux/drivers/mtd/chips/cfi_util.c
patching file linux/drivers/mtd/chips/chipreg.c
patching file linux/drivers/mtd/chips/Config.in
patching file linux/drivers/mtd/chips/fwh_lock.h
patching file linux/drivers/mtd/chips/gen_probe.c
patching file linux/drivers/mtd/chips/jedec.c
patching file linux/drivers/mtd/chips/jedec_probe.c
patching file linux/drivers/mtd/chips/Makefile
patching file linux/drivers/mtd/chips/Makefile.common
patching file linux/drivers/mtd/chips/map_absent.c
patching file linux/drivers/mtd/chips/map_ram.c
patching file linux/drivers/mtd/chips/map_rom.c
patching file linux/drivers/mtd/chips/sharp.c
patching file linux/drivers/mtd/cmdlinepart.c
patching file linux/drivers/mtd/Config.in
patching file linux/drivers/mtd/devices/blkmtd-24.c
patching file linux/drivers/mtd/devices/blkmtd.c
patching file linux/drivers/mtd/devices/block2mtd.c
patching file linux/drivers/mtd/devices/Config.in
patching file linux/drivers/mtd/devices/doc2000.c
patching file linux/drivers/mtd/devices/doc2001.c
patching file linux/drivers/mtd/devices/doc2001plus.c
patching file linux/drivers/mtd/devices/docecc.c
patching file linux/drivers/mtd/devices/docprobe.c
patching file linux/drivers/mtd/devices/lart.c
patching file linux/drivers/mtd/devices/Makefile
patching file linux/drivers/mtd/devices/Makefile.common
patching file linux/drivers/mtd/devices/ms02-nv.c
patching file linux/drivers/mtd/devices/mtdram.c
patching file linux/drivers/mtd/devices/phram.c
patching file linux/drivers/mtd/devices/pmc551.c
patching file linux/drivers/mtd/devices/slram.c
patching file linux/drivers/mtd/ftl.c
patching file linux/drivers/mtd/inftlcore.c
patching file linux/drivers/mtd/inftlmount.c
patching file linux/drivers/mtd/Makefile
patching file linux/drivers/mtd/Makefile.common
patching file linux/drivers/mtd/maps/alchemy-flash.c
patching file linux/drivers/mtd/maps/amd76xrom.c
patching file linux/drivers/mtd/maps/arctic-mtd.c
patching file linux/drivers/mtd/maps/autcpu12-nvram.c
patching file linux/drivers/mtd/maps/bast-flash.c
patching file linux/drivers/mtd/maps/beech-mtd.c
patching file linux/drivers/mtd/maps/cdb89712.c
patching file linux/drivers/mtd/maps/ceiva.c
patching file linux/drivers/mtd/maps/cfi_flagadm.c
patching file linux/drivers/mtd/maps/chestnut.c
patching file linux/drivers/mtd/maps/Config.in
patching file linux/drivers/mtd/maps/cstm_mips_ixx.c
patching file linux/drivers/mtd/maps/dbox2-flash.c
patching file linux/drivers/mtd/maps/dc21285.c
patching file linux/drivers/mtd/maps/dilnetpc.c
patching file linux/drivers/mtd/maps/dmv182.c
patching file linux/drivers/mtd/maps/ebony.c
patching file linux/drivers/mtd/maps/edb7312.c
patching file linux/drivers/mtd/maps/epxa10db-flash.c
patching file linux/drivers/mtd/maps/fortunet.c
patching file linux/drivers/mtd/maps/h720x-flash.c
patching file linux/drivers/mtd/maps/ichxrom.c
patching file linux/drivers/mtd/maps/impa7.c
patching file linux/drivers/mtd/maps/integrator-flash.c
patching file linux/drivers/mtd/maps/integrator-flash-v24.c
patching file linux/drivers/mtd/maps/ipaq-flash.c
patching file linux/drivers/mtd/maps/iq80310.c
patching file linux/drivers/mtd/maps/ixp2000.c
patching file linux/drivers/mtd/maps/ixp4xx.c
patching file linux/drivers/mtd/maps/l440gx.c
patching file linux/drivers/mtd/maps/lasat.c
patching file linux/drivers/mtd/maps/lubbock-flash.c
patching file linux/drivers/mtd/maps/Makefile
patching file linux/drivers/mtd/maps/Makefile.common
patching file linux/drivers/mtd/maps/map_funcs.c
patching file linux/drivers/mtd/maps/mbx860.c
patching file linux/drivers/mtd/maps/mpc1211.c
patching file linux/drivers/mtd/maps/netsc520.c
patching file linux/drivers/mtd/maps/nettel.c
patching file linux/drivers/mtd/maps/ocelot.c
patching file linux/drivers/mtd/maps/ocotea.c
patching file linux/drivers/mtd/maps/octagon-5066.c
patching file linux/drivers/mtd/maps/omap-toto-flash.c
patching file linux/drivers/mtd/maps/pci.c
patching file linux/drivers/mtd/maps/pcmciamtd.c
patching file linux/drivers/mtd/maps/physmap.c
patching file linux/drivers/mtd/maps/plat-ram.c
patching file linux/drivers/mtd/maps/pnc2000.c
patching file linux/drivers/mtd/maps/prismiq-mpr-flash.c
patching file linux/drivers/mtd/maps/redwood.c
patching file linux/drivers/mtd/maps/rpxlite.c
patching file linux/drivers/mtd/maps/sa1100-flash.c
patching file linux/drivers/mtd/maps/sbc8240.c
patching file linux/drivers/mtd/maps/sbc_gxx.c
patching file linux/drivers/mtd/maps/sc520cdp.c
patching file linux/drivers/mtd/maps/scb2_flash.c
patching file linux/drivers/mtd/maps/scx200_docflash.c
patching file linux/drivers/mtd/maps/sharpsl-flash.c
patching file linux/drivers/mtd/maps/solutionengine.c
patching file linux/drivers/mtd/maps/sun_uflash.c
patching file linux/drivers/mtd/maps/tqm8xxl.c
patching file linux/drivers/mtd/maps/ts5500_flash.c
patching file linux/drivers/mtd/maps/tsunami_flash.c
patching file linux/drivers/mtd/maps/uclinux.c
patching file linux/drivers/mtd/maps/vmax301.c
patching file linux/drivers/mtd/maps/walnut.c
patching file linux/drivers/mtd/maps/wr_sbc82xx_flash.c
patching file linux/drivers/mtd/mtd_blkdevs-24.c
patching file linux/drivers/mtd/mtd_blkdevs.c
patching file linux/drivers/mtd/mtdblock.c
patching file linux/drivers/mtd/mtdblock_ro.c
patching file linux/drivers/mtd/mtdchar.c
patching file linux/drivers/mtd/mtdconcat.c
patching file linux/drivers/mtd/mtdcore.c
patching file linux/drivers/mtd/mtdpart.c
patching file linux/drivers/mtd/nand/au1550nd.c
patching file linux/drivers/mtd/nand/autcpu12.c
patching file linux/drivers/mtd/nand/Config.in
patching file linux/drivers/mtd/nand/diskonchip.c
patching file linux/drivers/mtd/nand/edb7312.c
patching file linux/drivers/mtd/nand/h1910.c
patching file linux/drivers/mtd/nand/Makefile
patching file linux/drivers/mtd/nand/Makefile.common
patching file linux/drivers/mtd/nand/nand_base.c
patching file linux/drivers/mtd/nand/nand_bbt.c
patching file linux/drivers/mtd/nand/nand_ecc.c
patching file linux/drivers/mtd/nand/nand_ids.c
patching file linux/drivers/mtd/nand/nandsim.c
patching file linux/drivers/mtd/nand/ppchameleonevb.c
patching file linux/drivers/mtd/nand/rtc_from4.c
patching file linux/drivers/mtd/nand/s3c2410.c
patching file linux/drivers/mtd/nand/sharpsl.c
patching file linux/drivers/mtd/nand/spia.c
patching file linux/drivers/mtd/nand/toto.c
patching file linux/drivers/mtd/nand/tx4925ndfmc.c
patching file linux/drivers/mtd/nand/tx4938ndfmc.c
patching file linux/drivers/mtd/nftlcore.c
patching file linux/drivers/mtd/nftlmount.c
patching file linux/drivers/mtd/redboot.c
patching file linux/drivers/mtd/ssfdc.c
patching file linux/drivers/net/8139too.c
patching file linux/drivers/net/wireless/hermes.h
patching file linux/drivers/video/Config.in
patching file linux/drivers/video/emmafb.c
patching file linux/drivers/video/fbcon.c
patching file linux/drivers/video/fbcon-peo16.c
patching file linux/drivers/video/fbcon-peo32.c
patching file linux/drivers/video/fbmem.c
patching file linux/drivers/video/Makefile
patching file linux/fs/Config.in
patching file linux/fs/jffs2/background.c
patching file linux/fs/jffs2/build.c
patching file linux/fs/jffs2/compr.c
patching file linux/fs/jffs2/compr.h
patching file linux/fs/jffs2/compr_lzari.c
patching file linux/fs/jffs2/compr_lzo.c
patching file linux/fs/jffs2/compr_rtime.c
patching file linux/fs/jffs2/compr_rubin.c
patching file linux/fs/jffs2/compr_rubin.h
patching file linux/fs/jffs2/comprtest.c
patching file linux/fs/jffs2/compr_zlib.c
patching file linux/fs/jffs2/crc32.c
patching file linux/fs/jffs2/crc32.h
patching file linux/fs/jffs2/dir.c
patching file linux/fs/jffs2/erase.c
patching file linux/fs/jffs2/file.c
patching file linux/fs/jffs2/fs.c
patching file linux/fs/jffs2/gc.c
patching file linux/fs/jffs2/ioctl.c
patching file linux/fs/jffs2/Makefile
patching file linux/fs/jffs2/Makefile.common
patching file linux/fs/jffs2/malloc.c
patching file linux/fs/jffs2/nodelist.c
patching file linux/fs/jffs2/nodelist.h
patching file linux/fs/jffs2/nodemgmt.c
patching file linux/fs/jffs2/os-linux.h
patching file linux/fs/jffs2/pushpull.h
patching file linux/fs/jffs2/rbtree.c
patching file linux/fs/jffs2/read.c
patching file linux/fs/jffs2/readinode.c
patching file linux/fs/jffs2/scan.c
patching file linux/fs/jffs2/super.c
patching file linux/fs/jffs2/super-v24.c
patching file linux/fs/jffs2/symlink.c
patching file linux/fs/jffs2/symlink-v24.c
patching file linux/fs/jffs2/wbuf.c
patching file linux/fs/jffs2/write.c
patching file linux/fs/jffs2/writev.c
patching file linux/include/asm-mips/bitops.h
patching file linux/include/asm-mips/bootinfo.h
patching file linux/include/asm-mips/bug.h
patching file linux/include/asm-mips/emma.h
patching file linux/include/asm-mips/io.h
patching file linux/include/asm-mips/irq.h
patching file linux/include/asm-mips/prismiq-mp.h
patching file linux/include/asm-mips/prismiq-note.h
patching file linux/include/asm-mips/serial.h
patching file linux/include/linux/encore_keyb.h
patching file linux/include/linux/fb.h
patching file linux/include/linux/jffs2_fs_i.h
patching file linux/include/linux/jffs2_fs_sb.h
patching file linux/include/linux/jffs2.h
patching file linux/include/linux/mtd/blktrans.h
patching file linux/include/linux/mtd/cfi.h
patching file linux/include/linux/mtd/compatmac.h
patching file linux/include/linux/mtd/doc2000.h
patching file linux/include/linux/mtd/flashchip.h
patching file linux/include/linux/mtd/gen_probe.h
patching file linux/include/linux/mtd/inftl.h
patching file linux/include/linux/mtd/jedec.h
patching file linux/include/linux/mtd/map.h
patching file linux/include/linux/mtd/mtd.h
patching file linux/include/linux/mtd/nand_ecc.h
patching file linux/include/linux/mtd/nand.h
patching file linux/include/linux/mtd/nftl.h
patching file linux/include/linux/mtd/partitions.h
patching file linux/include/linux/mtd/physmap.h
patching file linux/include/linux/mtd/plat-ram.h
patching file linux/include/linux/mtd/xip.h
patching file linux/include/linux/rbtree-24.h
patching file linux/include/linux/rbtree.h
patching file linux/include/linux/rslib.h
patching file linux/include/linux/suspend.h
patching file linux/include/linux/workqueue.h
patching file linux/include/mtd/inftl-user.h
patching file linux/include/mtd/jffs2-user.h
patching file linux/include/mtd/mtd-abi.h
patching file linux/include/mtd/mtd-user.h
patching file linux/include/mtd/nftl-user.h
patching file linux/lib/Config.in
patching file linux/lib/Makefile
patching file linux/lib/rbtree.c
patching file linux/lib/reed_solomon/decode_rs.c
patching file linux/lib/reed_solomon/encode_rs.c
patching file linux/lib/reed_solomon/Makefile
patching file linux/lib/reed_solomon/rslib.c
patching file linux/net/ipv4/udp.c
rob0214
Member
Posts: 19
(4/28/05 11:56 am)
69.140.66.105
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
patches look clean.
sounds like a jffs2 problem. you are aware that the instructions from handhelds.org is for an iPaq with 32M flash, whereas the prismiq only has 16M, so size/eraseblock parameters aren't the same?
i don't use those instructions. i just create an NFS mount point on the server (root read/writable), mount that directory on the prismiq, and do:
for i in bin boot dev etc lib root sbin usr var
do
tar cvzf <mountpoint>/$i.tar.gz
done
and untar to a working directory on the server.
unfortunately, the instructions on how to NFS mount on the prismiq have gone the way of the old boards. and i don't do it very often because i have a copy of the pristine tarballs to work from.
Jason2005
Member
Posts: 12
(4/28/05 3:17 pm)
63.168.124.137
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
The patches were done properly this time. I check the linux/drivers/mtd/maps/prismiq-mpr-flash.c and it had been compiled this time. So I no longer think that I have a problem there. I think that my problem may be the method of getting the files as you said or the glibc thing. Here are the files that I copied over to the MP directory from /usr/local/ccs/mipscross/mipsel-unknown-linux-gnu/lib/
-rwxr-xr-x 1 root users 127838 Apr 27 13:35 ld-2.3.2.so
-rwxr-xr-x 1 root users 1953899 Apr 27 13:35 libc-2.3.2.so
-rwxr-xr-x 1 root users 30644 Apr 27 13:36 libcrypt-2.3.2.so
-rwxr-xr-x 1 root users 17724 Apr 27 13:37 libdl-2.3.2.so
-rw-r--r-- 1 root users 731681 Apr 27 13:37 libgcc_s.so
-rwxr-xr-x 1 root users 608623 Apr 27 13:37 libm-2.3.2.so
-rwxr-xr-x 1 root users 119453 Apr 27 13:37 libnsl-2.3.2.so
-rwxr-xr-x 1 root users 72277 Apr 27 13:38 libnss_compat-2.3.2.so
-rwxr-xr-x 1 root users 22896 Apr 27 13:38 libnss_dns-2.3.2.so
-rwxr-xr-x 1 root users 68111 Apr 27 13:38 libnss_files-2.3.2.so
-rwxr-xr-x 1 root users 120113 Apr 27 13:38 libpthread-0.10.so
-rwxr-xr-x 1 root users 92714 Apr 27 13:39 libresolv-2.3.2.so
-rwxr-xr-x 1 root users 4648260 Apr 27 13:40 libstdc++.so.5.0.5
-rwxr-xr-x 1 root users 15392 Apr 27 13:40 libutil-2.3.2.so
Are there any that I missed? I will also try to create an NFS mount on the prismiq get the root files that way.
rob0214
Member
Posts: 20
(4/29/05 12:25 pm)
69.140.66.105
Reply | Edit | Del Re: Hit a snag...
--------------------------------------------------------------------------------
you forgot the nis ones. libnss_nis and libnss_nisplus.
i've tried taking the nis references out of /etc/resolv.conf, and deleting them (don't think many home users use nis), but it doesn't work. gives me the can't find init thing. there might be some other place that nis is referenced that's causing this (or i missed an nis reference in resolv.conf).
