e405 kernel port from e400