Estou tentando executar o Firefox dentro de um chroot do Linux. O chroot tem uma cópia do Debian Etch instalado via debootstrap. Se o chroot estiver rodando em uma máquina com um kernel 2.6, eu posso rodar o Firefox 2.0, 3.0 e 3.5. Meu problema ocorre quando eu movo o chroot para uma máquina rodando um kernel 2.4.37, então eu posso rodar o 2.0, tudo bem, mas o 3.0 e 3.5 ambos ficam pendurados silenciosamente, sem exibição e sem saída de erros.
Com o Firefox 3.5 na máquina Kernel 2.4, strace -f ./firefox
outputs: (somente as últimas linhas antes do travamento mostrado)
[pid 8220] set_thread_area({entry_number:-1 -> -1, base_addr:0x41bef140, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = -1 ENOSYS (Function not implemented)
[pid 8220] modify_ldt(1, {entry_number:0, base_addr:0x41bef140, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, 16) = 0
[pid 8220] munmap(0x40019000, 11144) = 0
[pid 8220] getpid() = 8220
[pid 8220] rt_sigaction(SIGRTMIN, {0x400241e0, [], SA_RESTORER, 0x416f58f8}, NULL, 8) = 0
[pid 8220] rt_sigaction(SIGRT_1, {0x40023cc0, [RTMIN], SA_RESTORER, 0x416f58f8}, NULL, 8) = 0
[pid 8220] rt_sigaction(SIGRT_2, {0x40023500, [], SA_RESTORER, 0x416f58f8}, NULL, 8) = 0
[pid 8220] rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
[pid 8220] rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0
[pid 8220] open("/proc/cpuinfo", O_RDONLY) = 3
[pid 8220] read(3, "processor\t: 0\nvendor_id\t: Genuin"..., 1024) = 422
[pid 8220] read(3, "", 1024) = 0
[pid 8220] close(3) = 0
[pid 8220] readlink("/etc/malloc.conf", 0xbfffe47b, 4096) = -1 ENOENT (No such file or directory)
[pid 8220] rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
[pid 8220] rt_sigsuspend([]
A chamada set_thread_area
falhou com "Função não implementada" junto com o fato de que desde que eu estou rodando em um chroot, somente o kernel é diferente entre meus dois ambientes rodando, me leva a acreditar que o Firefox não roda em o kernel 2.4. No entanto, o Mozilla lista uma longa lista de requisitos para rodar o Firefox, e o kernel 2.6 não é um deles. Alguém pode sugerir uma solução para como eu posso fazer isso funcionar?