Hi Andreas,
I'm using the zImage that Lennart has posted on his site (alhtough, i've
also done this with kernels i've rolled as well using lennart's patches).
Check out lennart's 2.6.18-rc1 kernel image from:
http://www.wantstofly.org/~buytenh/kernel/ep93xx/
I've seemed to have gotten past the "unsupported machine ID" problem
while loading the 2.6 kernel onto my ts7260.
First, I used the 1st method of adjusting the kernel header (see
previous posts), but now I've went with the 2nd option (changing the
machine ID in /dev/mtd/2, or at least the redboot.bin portion of that
flash image).
What I did was
1) booted into nfsroot (debian256 or something from
ftp://oz.embeddedarm.com), by hitting Ctrl+C at the + sign
after TSBOOTROM
RedBoot> fis load vmlinux
RedBoot> exec -c "console=ttyAM0,115200 root=/dev/nfs ip=dhcp
nfsroot=192.168.1.100:/usr/debian_root,port=2049"
2) extracted the mtd/2 flash image, where redboot, kernel, & fconfig
data are stored
ts7260 $ cat /dev/mtd/2 > /mtd2_bin_with_broken_machine_id
3) copied mtd2_bin_with_broken_machine_id to mtd2_bin_with_fixed_machine_id
ts7260 $ cp mtd2_bin_with_broken_machine_id mtd2_bin_with_fixed_machine_id
4) on my workstation, edited mtd2_bin_with_fixed_machine_id using
'hexedit' (ideally, this would be compiled into the nfs root, but
hexedit complains about some linux / ncurses / terminal problem)
desktop $ hexedit mtd2_bin_with_fixed_machine_id
5) In hexedit, searched (Ctrl+S) for the hex pattern "630100" (0x631,
but endianified), which is at 0x1C70 on my mtd2 image
6) replaced the 63 with A1 and the 01 with 02, so that the hex pattern
read A1020000 (0x2a1, unendianified). 0x2a1 is the proper ts-72xx
machine id from what the linux kernel says.
7) back on the arm board, used the following two commands:
ts7260 $ mtd_debug erase /dev/mtd/2 0 3129344
ts7260 $ nandwrite -a -p /dev/mtd/2 /mtd2_bin_with_fixed_machine_id
8) After reboot, I loaded the 'zImage-2.6.18-rc1-git9-derevo20' that
lennart or someone has provided using:
RedBoot> load -r -b 0x00218000 -m xmodem
RedBoot> exec -c "console=ttyAM0,115200 ip=dhcp root=/dev/nfs
nfsroot=192.168.1.100:/usr/debian_root,port=2049"
This time, I did not encounter the same "unsupported machine id" error.
However, I still fail to get past "uncompressing linux... done, booting
the kernel", and it just hangs.
I think it's fairly clear that either some terminal device is not
compiled into the kernel, or that it is having problems using the dev
filesystem on the nfsroot. I've already made several of the device nodes
statically, i.e.
desktop $ ls -la /usr/debian_root/dev
crw------- 1 root root 5, 1 Nov 4 02:25 console
lrwxrwxrwx 1 root root 15 Nov 4 02:26 fd -> ../proc/self/fd
crw------- 1 root root 1, 1 Nov 4 02:23 mem
brw-r--r-- 1 root root 0, 255 Nov 4 02:55 nfs
lrwxrwxrwx 1 root root 3 Nov 4 14:58 nfsroot -> nfs
crw-rw-rw- 1 root root 1, 5 Nov 4 02:23 null
lrwxrwxrwx 1 root root 17 Nov 4 02:26 stderr -> ../proc/self/fd/2
lrwxrwxrwx 1 root root 17 Nov 4 02:26 stdin -> ../proc/self/fd/0
lrwxrwxrwx 1 root root 17 Nov 4 02:26 stdout -> ../proc/self/fd/1
crw-rw-rw- 1 root root 5, 0 Nov 4 02:25 tty
crw------- 1 root root 4, 0 Nov 4 02:24 tty0
crw------- 1 root root 4, 1 Nov 4 02:24 tty1
lrwxrwxrwx 1 root root 5 Nov 4 14:54 ttyAM0 -> ttyS0
crw------- 1 root root 4, 64 Nov 4 02:25 ttyS0
crw-rw-rw- 1 root root 1, 6 Nov 4 02:24 zero
If anyone has run the ts7260 from an nfs root, please let me know what
I'm doing incorrectly.
If this helps anyone else, feel free to download the nandwrite and
mtd_debug binaries from:
http://vaiprime.visibleassets.com/~cfriedt/nandwrite.html
Any suggestions on how to get past the kernel hang?
Cheers,
~/Chris
andreas.lundeen wrote:
> Hi Chris,
> That seems to solve that issue.
> However, the kernel is not booting up as it should. I think that the
> kernel crashes after enabling the MMU. What version of the kernel do
> you have and what patches have you applied to get it to work?
> Appreciate if you could give me some hints on a combination that
> works.
>
> Thanks,
> Andreas
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|