Jedná se o překlad jádra 2.4.22 s moduly pro notebook IBM T30+. Do jádra je zahrnuta formou modulů podpora pro ovládání hardvare notebooku thinkpad a podpora šifrovaných tunelů cipe, jakožto i podpora pro zvukový čip alsa-driver a PC card pcmcia-cs. V modulu cipe je upraven soubor cipe/cipe.h
--- cipe/cipe.h.orig Sat Oct 4 16:44:26 2003 +++ cipe/cipe.h Sat Oct 4 16:50:39 2003 @@ -153,6 +153,9 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) #define LINUX_23 #endif +#if LINUX_VERSION_CODE == KERNEL_VERSION(2,4,22) +#define LINUX_26 +#endif #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 91)) && defined(__i386__) #define REGPARM /* __attribute__((regparm,3)) XX needs testing */ #else
a soubor cipe/output.c
--- cipe/output.c.orig Mon Apr 7 00:53:12 2003
+++ cipe/output.c Sat Oct 4 17:41:54 2003
@@ -192,10 +192,10 @@
cipe_ntoa(0, dst), cipe_ntoa(1, tunnel->myaddr),
RT_TOS(tos), tunnel->sock->bound_dev_if));
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,7)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,7) && !defined(LINUX_26)
err = ip_route_output(&rt, dst, tunnel->sock->rcv_saddr, RT_TOS(tos),
tunnel->sock->bound_dev_if);
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45)
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45) && !defined(LINUX_26)
err = ip_route_output(&rt, dst, inet_sk(tunnel->sock)->rcv_saddr,
RT_TOS(tos), tunnel->sock->bound_dev_if);
#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,45) */
@@ -204,7 +204,11 @@
{ .oif = tunnel->sock->bound_dev_if,
.nl_u = { .ip4_u =
{ .daddr = dst,
+#if defined(LINUX_26)
+ .saddr = tunnel->sock->rcv_saddr,
+#else
.saddr = inet_sk(tunnel->sock)->rcv_saddr,
+#endif
.tos = RT_TOS(tos) } },
.proto = IPPROTO_UDP };
err = ip_route_output_key(&rt, &fl);
@@ -236,7 +240,7 @@
goto tx_error;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45) && !defined(LINUX_26)
mtu = rt->u.dst.pmtu - (cipehdrlen+cipefootlen);
#else
mtu = dst_pmtu(&rt->u.dst) - (cipehdrlen+cipefootlen);
@@ -252,7 +256,7 @@
tunnel->stat.collisions++;
goto tx_error;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45) && !defined(LINUX_26)
if (skb->dst && mtu < skb->dst->pmtu) {
skb->dst->pmtu = mtu;
#else
@@ -393,7 +397,7 @@
nf_conntrack_null(skb);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
{
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,45) && !defined(LINUX_26)
int err = NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL,
rt->u.dst.dev, ip_send);
#elsePoté je možno jádro přeložit
# cd /usr/src # tar xjf kernel-source-2.4.22.tar.bz2 # export PATCH_THE_KERNEL=NO # make-kpkg clean # make-kpkg --append-to-version -yoda --revision 12 \ --config menu \ kernel_image modules_image
Při překladu nastaly problémy s moduly alsa-driver.
/usr/bin/make -C pnp modules make[5]: Entering directory `/usr/src/modules/alsa-driver/support/pnp' make[5]: *** No rule to make target `/usr/src/linux/include/linux/modules/bm_osl.ver', needed by `pnp.o'. Stop. make[5]: Leaving directory `/usr/src/modules/alsa-driver/support/pnp' make[4]: *** [_modsubdir_pnp] Error 2 make[4]: Leaving directory `/usr/src/modules/alsa-driver/support' make[3]: *** [compile] Error 1 make[3]: Leaving directory `/usr/src/modules/alsa-driver' make[2]: *** [build-stamp] Error 2 make[2]: Leaving directory `/usr/src/modules/alsa-driver' make[1]: *** [kdist_image] Error 2 make[1]: Leaving directory `/usr/src/modules/alsa-driver' Module /usr/src/modules/alsa-driver failed. Hit return to Continue