From: Tony T. <aj...@rr...> - 2007-01-18 01:31:13
|
Luis Sol=EDs wrote: > Thanks >=20 > Where download kernel openmosix 2.4.26-om1 CVS, i have kernel=20 > http://sourceforge.net/project/showfiles.php?group_id=3D46729&package_i= d=3D137967=20 > <http://sourceforge.net/project/showfiles.php?group_id=3D46729&package_= id=3D137967> Hello, Luis. I checked out the 2.4.26-om1 sources from the openMosix CVS: http://sourceforge.net/cvs/?group_id=3D46729 There are instructions on the openMosix CVS web page about how to check=20 out the 2.4.26-om1 sources. > 1. You need to know how to recompile the openMosix kernel > 2. Patch the kernel sources as I described previously > 3. Patch hpc/mig.c using the patch below >=20 >=20 > What patch becouse in make bzImage error: >=20 > {entrada est=E1ndar}: Mensajes del ensamblador: > {entrada est=E1ndar}:2258: Error: sufijo u operandos inv=E1lidos para `= mov' > {entrada est=E1ndar}:2259: Error: sufijo u operandos inv=E1lidos para `= mov' > make[2]: *** [mig.o] Error 1 > make[2]: se sale del directorio `/usr/src/linux- 2.4.26/hpc' > make[1]: *** [first_rule] Error 2 > make[1]: se sale del directorio `/usr/src/linux-2.4.26/hpc' > make: *** [_dir_hpc] Error 2 My patch is after "12. Configure openMosix", but it has been quoted=20 twice and is also corrupted in this message: > 4. Compile and install the linux-2.4.26-om1 kernel > 5. Reboot single-user > 6. "cd /dev; ./MAKEDEV generic" # udev not supported by 2.4 kerne= l > 7. "discover -f "%m\t%M\n" all" # to find kernel modules to load > 8. modprobe to check the modules are in the kernel... > 9 if not, reconfigure the kernel and start again at step 4 > 10. vi /etc/modules.conf #add aliases e.g. alias eth0 sk98lin > 11. reboot multi-user > 12. Configure openMosix >=20 > > diff -Naur linux-2.4.26-om1.old/hpc/mig.c linux-2.4.26-om1/hpc/m= ig.c > > --- linux-2.4.26-om1.old/hpc/mig.c 2004-11-19 > 20:23:51.000000000 +0000 > > +++ linux-2.4.26-om1/hpc/mig.c 2007-01-07 01:44: 56.000000000 += 0000 > > @@ -854,8 +854,8 @@ > > /* else do not bother - DEPUTY will bring */ > > /* send task segment registers. > > */ > > - asm volatile ("movl %%fs,%0":"=3Dm" (*(int *) &m.fs)); > > - asm volatile ("movl %%gs,%0":"=3Dm" (*(int *) &m.gs)); > > + asm volatile ("mov %%fs,%0":"=3Dm" (m.fs)); > > + asm volatile ("mov %%gs,%0":"=3Dm" ( m.gs <http://m.gs>)= ); ^^^^^^^^^^^^^^^^^^^^^ ** corrupted patch ** > > /* send task limits */ > > m.rlim_cpu =3D p->rlim[RLIMIT_CPU]; > > m.rlim_data =3D p->rlim[RLIMIT_DATA]; The unquoted patch below changes the two lines containing movl to mov,=20 and removes the "*(int *) &" cast: diff -Naur linux-2.4.26-om1.old/hpc/mig.c linux-2.4.26-om1/hpc/mig.c --- linux-2.4.26-om1.old/hpc/mig.c 2004-11-19 20:23:51.000000000 +0000 +++ linux-2.4.26-om1/hpc/mig.c 2007-01-07 01:44:56.000000000 +0000 @@ -854,8 +854,8 @@ /* else do not bother - DEPUTY will bring */ /* send task segment registers. */ - asm volatile ("movl %%fs,%0":"=3Dm" (*(int *) &m.fs)); - asm volatile ("movl %%gs,%0":"=3Dm" (*(int *) &m.gs)); + asm volatile ("mov %%fs,%0":"=3Dm" (m.fs)); + asm volatile ("mov %%gs,%0":"=3Dm" (m.gs)); /* send task limits */ m.rlim_cpu =3D p->rlim[RLIMIT_CPU]; m.rlim_data =3D p->rlim[RLIMIT_DATA]; Best wishes, Tony. --=20 Dr. A.J.Travis, | mailto:aj...@rr... Rowett Research Institute, | http://www.rri.sari.ac.uk/~ajt Greenburn Road, Bucksburn, | phone:+44 (0)1224 712751 Aberdeen AB21 9SB, Scotland, UK. | fax:+44 (0)1224 716687 |