From: Christian M. <chr...@ru...> - 2004-11-23 16:38:54
|
I recently tried to use the latest CVS to my embedded system running uClinux with uClibc, and I have some suggestions that could be added just to make it compile for my embedded systems. The patches won't break anything when the kernel is compiled on a normal desktop. I'm compiling it with 2.4.20 and 2.6.9-uc0 without support for sysfs, and the kernel/dev.c doesn't check if CONFIG_SYSFS is defined. Is it ok to check that in linux/autoconf.h ? Does it work for all platforms? linux/init.h isn't included in kernel/dev.c. alloc_inode, destroy_inode and inode_init_once is new from kernel 2.4.21. I'm compiling it with 2.4.20 on the WRT54G router. check_version() should look for "/proc/fs/fuse/version" if "/sys/fs/fuse/version" doesn't exist. Timed mutexes doesn't work 100% (which is defaulted from the call pthread_mutex_init(&m, NULL); ) with uClibc's libpthread support on Coldfire processors at least. fork() can't be used if processor is without MMU and uClibc is compiled without UCLIBC_HAS_MMU define. mtab and capabilities isn't available for embedded systems with uClibc. (read-only root-filesystem) /Christian |