Dạo này mình đang nghiên cứu cách build kernel cho nhanh, và phát hiện ra distcc này ngon bá cháy luôn á! Tốc độ tăng gấp 4 lần, ai cũng phải trầm trồ
Compile code C++ kiểu distributed (phân tán) với gần 10 nhân CPU, mà vẫn tốn khoảng 2 tiếng cho hơn 5000 modules của Linux kernel. Nghe có vẻ lâu nhưng đã nhanh lắm rồi đó nha!
Tại sao phải patch kernel?
Mỗi người một nhu cầu riêng mà. Nhưng nếu các bạn muốn test khả năng đặc biệt của card wifi thì nên thử patch này nhé!
Về Vendor drivers:
Vendor drivers có stack riêng của họ và thường được gọi là STA drivers. Chúng thường bị giới hạn ở chế độ Managed (client) và đôi khi Infrastructure (tính năng Access Point hạn chế) để share kết nối Internet (tethering). Có thể là open source hoặc closed source (hoặc mix cả hai).
Phần lớn không support monitor mode (và injection) đâu nha!
Compile driver cần gì?
Các bạn sẽ cần những thứ sau để compile drivers:
Lưu ý: Nếu bạn dùng drivers do distro cung cấp thì chúng KHÔNG được patch đâu nhé.
Chi tiết tham khảo tại: https://www.aircrack-ng.org/doku.php?id=install_drivers
Tips cho ai ngại build lâu:
Nếu các bạn nào sợ mất thời gian thì có thể rút ngắn bằng cách chỉ build modules đang sử dụng trên máy mình thôi!
Tuy nhiên về sau những thiết bị mới thêm vào (ví dụ cắm cái gì đó vào cổng USB) sẽ phải load driver manual đó nha.
Làm theo hướng dẫn build kernel tùy theo distro của các bạn, nhớ patch kernel theo hướng dẫn trước khi build nhé!
Tại sao có thể phân tán quá trình build kernel?
Các bạn chuyên ngành CNTT chắc đã nghe về lập trình song song, MPI, MatLab, Fortran rồi đúng không? Ở đó coder phải tự triển khai các thuật toán song song khá lằng nhằng.
Tuy nhiên bản thân gcc đã có cơ chế parallelism, tự động phát hiện và phân nhánh đoạn code có thể chạy song song rồi!
Hơn nữa thiết kế theo module của kernel giống như một solution của Visual Studio gồm nhiều Projects nhỏ độc lập. Do đó chúng có thể được build song song luôn.
Setup của mình:
• Build host: laptop X451CA Celeron
• Build helper: tablet m3-7y30
Đ/c nào đã setup được thì đề nghị up ít hình ảnh review cái nhé? Mình muốn xem quá!
Tiếp theo:
Thành công build kernel rồi thì các bạn có thể build OpenCV với tốc độ x6 luôn đó!
Pro tips từ community:
Bạn sử dụng 4 máy để compile nên nhanh là đương nhiên rồi, khỏi tính thời gian làm gì cho mệt. Ngoài distcc bạn có thể dùng RAM, GPU để compile, thời gian sẽ ngắn hơn nữa. Tuy nhiên không hữu dụng với đa số người dùng nên không ai quan tâm lắm.
Project mà tối gọi là "đủ lớn" có khi chỉ cần giảm từ 10 phút xuống 3 phút là OK rồi.
Nguồn: tinhte.vn
Compile code C++ kiểu distributed (phân tán) với gần 10 nhân CPU, mà vẫn tốn khoảng 2 tiếng cho hơn 5000 modules của Linux kernel. Nghe có vẻ lâu nhưng đã nhanh lắm rồi đó nha!
Tại sao phải patch kernel?
Mỗi người một nhu cầu riêng mà. Nhưng nếu các bạn muốn test khả năng đặc biệt của card wifi thì nên thử patch này nhé!
Về Vendor drivers:
Vendor drivers có stack riêng của họ và thường được gọi là STA drivers. Chúng thường bị giới hạn ở chế độ Managed (client) và đôi khi Infrastructure (tính năng Access Point hạn chế) để share kết nối Internet (tethering). Có thể là open source hoặc closed source (hoặc mix cả hai).
Phần lớn không support monitor mode (và injection) đâu nha!
Compile driver cần gì?
Các bạn sẽ cần những thứ sau để compile drivers:
Chi tiết tham khảo tại: https://www.aircrack-ng.org/doku.php?id=install_drivers
Tips cho ai ngại build lâu:
Nếu các bạn nào sợ mất thời gian thì có thể rút ngắn bằng cách chỉ build modules đang sử dụng trên máy mình thôi!
Tuy nhiên về sau những thiết bị mới thêm vào (ví dụ cắm cái gì đó vào cổng USB) sẽ phải load driver manual đó nha.
Làm theo hướng dẫn build kernel tùy theo distro của các bạn, nhớ patch kernel theo hướng dẫn trước khi build nhé!
Tại sao có thể phân tán quá trình build kernel?
Các bạn chuyên ngành CNTT chắc đã nghe về lập trình song song, MPI, MatLab, Fortran rồi đúng không? Ở đó coder phải tự triển khai các thuật toán song song khá lằng nhằng.
Tuy nhiên bản thân gcc đã có cơ chế parallelism, tự động phát hiện và phân nhánh đoạn code có thể chạy song song rồi!
Hơn nữa thiết kế theo module của kernel giống như một solution của Visual Studio gồm nhiều Projects nhỏ độc lập. Do đó chúng có thể được build song song luôn.
Setup của mình:
• Build host: laptop X451CA Celeron
• Build helper: tablet m3-7y30
Đ/c nào đã setup được thì đề nghị up ít hình ảnh review cái nhé? Mình muốn xem quá!
Tiếp theo:
Thành công build kernel rồi thì các bạn có thể build OpenCV với tốc độ x6 luôn đó!
Pro tips từ community:
Bạn sử dụng 4 máy để compile nên nhanh là đương nhiên rồi, khỏi tính thời gian làm gì cho mệt. Ngoài distcc bạn có thể dùng RAM, GPU để compile, thời gian sẽ ngắn hơn nữa. Tuy nhiên không hữu dụng với đa số người dùng nên không ai quan tâm lắm.
Project mà tối gọi là "đủ lớn" có khi chỉ cần giảm từ 10 phút xuống 3 phút là OK rồi.
Nguồn: tinhte.vn