Cùng nhau chia sẻ thảo luận và hướng dẫn Kernel LG

Thảo luận trong 'Phát triển Kernel LG' bắt đầu bởi hoangnova, 12 Tháng một 2014.

  1. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Xin chào tất cả mọi người,

    Mình mở FORUM này với mục đích cùng nhau thảo luận và chia sẻ về việc phát triển, build kernel cho các dòng máy LG.
    Ai biết ít chỉ ít, ai biết nhiều chỉ nhiều, ai có khả năng thì đứng ra xây dựng các nhóm kernel cho LGViet.

    Chân thành cám ơn.
     
  2. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
  3. thief_fighter

    thief_fighter Đầy tớ nhân dân

    Tham gia ngày:
    7 Tháng bảy 2013
    Bài viết:
    160
    Đã được thích:
    97
    Sơ lược về kernel đã

    [​IMG]
    Đối với những người đam mê hoặc là tín đồ của Android thì bạn sẽ bắt gặp khái niệm này.
    Nói chính xác thì Kernel chính là nhân của hệ điều hành Android, nó chỉ dành riêng cho Android. Những hệ điều hành khác cũng có nhân của riêng nó, iOS, MacOS hay Windows. BlackBerry cũng có một kernel của riêng nó. Nhưng trong khuôn khổ bài viết này, chúng tôi chỉ đề cập tới nhân của những thiết bị xử dụng hệ điều hành Android.
    Android là hệ điều hành sử dụng nhân Linux, nhưng không phải chính là nhân để chạy hệ điều hành Linux của các thiết bị chạy Linux. Có rất nhiều mã lập trình của Android sử dụng rất riêng so với hệ thống Linux, ví dụ như kernel của Google’s Android sử dụng có chế độ làm việc riêng của nó. Hệ thống lập trình OEMs là ngôn ngữ chủ đạo để viết nên hệ thống cho Kernel, bởi vì nó là phương tiện dùng để lập trình các hệ thống driver cho các phần cứng khác cho các phiên bản khác nhau của Android Kernel. Điều quan trọng của Kernel là kiểm soát và điều khiển phần cứng, hiểu một cách đơn giản, Kernel chính là một mối nối và là “thông dịch viên” giữa phần cứng và phần mềm.
    Khi phần mềm cần phần cứng làm một việc gì đó, nó sẽ gửi yêu cần tới bộ vi xử lý và nó sẽ nói “các bạn nói bất cứ cái gì, chúng tôi sẽ đáp ứng cái đó”. Từ trình điều khiển độ sáng màn hình, mức âm lượng, hiệu suất tốc độ của thiết bị, điều khiển xung nhịp CPU. Ngay cả việc bạn di chuyển con trỏ chuột hay ngón tay của bạn lướt trên màn hình cảm ứng… tất cả đều được kiểm soát bởi kernel.
    [​IMG]
    Thử ví dụ một việc điển hình: bạn nhấp vào nút “Search” trên smartphone của bạn để gọi ứng dụng tìm kiếm ra. Làm cách nào mà smartphone hiểu được rằng bạn đã nhấp vào nút “Search” đó? Khi tay bạn chạm vào màn hình cảm ứng của smartphone chính là bạn đã chạm vào một tọa độ đã được định vị sẵn của smartphone. Một phần mềm hệ thống sẽ kiểm soát toàn bộ những tọa độ có trên màn hình đã được mã hóa thành những tọa độ, phần mềm đó biết rằng hộp “Search” cư ngụ tại địa chỉ nào. Và khi tọa độ định vị của nút Tìm kiếm đó được “chạm phải”, khi đó phần mềm hệ thống sẽ nhận thông tin được mã hóa ghi nhận lại và chuyển cho Kernel xử lý tín hiệu vừa nhận được. Tại Kernel, lệnh vừa nhận được sẽ được xử lý và chuyển ngay đế những nơi có nhiệm vụ thực thi lệnh đó và sẽ được “chấp hành” tại đó.
    Đôi khi hệ thống và Kernel không chỉ nhận được những thông tin từ những những dòng lệnh được đưa vào từ màn hình cảm ứng, nó cũng có thể nhận tín hiệu từ một thiết bị khác bằng cách này hay cách khác, Bluetooth chẳng hạn.
    Nghe có vẻ phức tạp, nhưng logic của máy tính luôn luôn đi theo một hướng đã được định sẵn: một hành động sẽ tạo ra một hiệu quả, không lộn xộn. Nếu không có Kernel thì bạn chả làm ăn gì được kể cả với smartphone. Không có “người” nhận lệnh, xử lý lệnh, thực thi và kiểm soát những nơi thực thi lệnh đó. Tất cả phần mềm và phần cứng của chiếc smartphone trị giá bạc triệu cũng chả có ý nghĩa gì. Tuy nhiên, để Kernel hiểu được và nhận diện được các phần cứng khác nhau, các nhà sản xuất phải cho Kernel “học” bằng một phần mềm mà chúng ta vẫn hay gọi là “driver”. Với Android Kernel, tất cả những kết nối đều thông qua một hệ thống ngôn ngữ lập trình API và OEM, các nhà phát triển cũng dựa vào hệ thống này mà viết nên những hệ thống driver của họ.
    Có một số nhà phát triển hệ thống cho Kernel như: Abyss kernel, FM kernel, Speedmod kernel, Franco kernel, Cfoot kernel.

    Nguồn: http://mobileworld.vn/threads/kernel-la-gi-hoat-dong-nhu-the-nao.91397/#.UtN3h56Sxx0
     
  4. thief_fighter

    thief_fighter Đầy tớ nhân dân

    Tham gia ngày:
    7 Tháng bảy 2013
    Bài viết:
    160
    Đã được thích:
    97
    Hướng dẫn đơn giản để chỉnh sửa kernel theo ý muốn

    Trước tiên, kernel này được viết trên ngôn ngữ C nên bạn nào đã học về lập trình C sẽ thấy dễ hiểu hơn. Còn bạn nào chưa có kiến thức về C cũng ko sao, để sửa những cái đơn giản như overclock, undervolt thì ko cần C cũng được.

    Muốn chỉnh sửa bất kì cái gì của kernel đầu tiên phải có source code để chỉnh sửa đã. Đầu tiên các bạn down source code về và giải nén theo hướng dẫn của bạn zcop cho LG LTE2.

    Ở đây mình mượn source code đã giải nén sẵn của zcop để hướng dẫn cho dễ, bạn nào muốn tham khảo có thể vào đây xem

    https://github.com/zcop/lg_f160s_custom_kernel

    Đầu tiên là giải thích các khái niệm Undervolt và Overclock:

    Muốn overclock được thì phải hiểu thế nào là voltage đã. Voltage là dòng điện cung cấp cho CPU, tùy từng tốc độ CPU mà dòng điện cấp vào khác nhau.

    Ví dụ ở Nexus 5 thì ở tốc độ tốc độ 2,2 ghz voltage là 1050mv. Nếu số volt quá thấp (vd 900mv) sẽ không đủ cung cấp điện cho CPU chạy, máy sẽ bị restart, còn số voltage quá cao (vd 1200 mv) sẽ làm chip tỏa ra nhiều nhiệt hơn và làm máy bị tắt vì quá nóng.

    Overclock có nghĩa là nâng xung nhịp của CPU lên để tăng tốc độ. Ở đây có 1 khái niệm nữa các bạn cũng cần biết qua là CPU binning. Trong 1 dây chuyền sản xuất sẽ có những con CPU chất lượng cực tốt, chạy ổn định cả ở mức xung nhịp cao hơn rất nhiều, tuy nhiên cũng có những con CPU chất lượng kém chỉ chạy được ở xung nhịp stock. Quay trở lại ví dụ trên, CPU của máy mình ở mức khá nên có thể chạy ở xung nhịp 2,8 ghz. Có người có CPU ở mức tốt có thể chạy ở xung nhịp 3 ghz, có người CPU ở mức kém chỉ chạy được 2,2 ghz là hết cỡ.

    Lúc bạn tăng xung nhịp đồng thời cũng phải tăng dòng điện cho CPU để đảm bảo CPU đủ sức chạy trên xung nhịp mới. Tuy nhiên dòng điện bao nhiêu cho xung nhịp mới để đảm bảo ko quá thấp hay ko quá cao chỉ có cách test thử mới biết được. Vì vậy sau khi bạn Overclock, bạn nên test trước vài ngày tới 1 tuần cho tới khi ổn định thì thôi

    Overclock trên điện thoại khác với trên máy tính ở chỗ nào

    Trên máy tính, do luôn luôn có dòng điện cấp cho máy tính nên ko phải lo chuyện hao pin, hơn nữa cấu tạo của chip trên máy tính có thể hoạt động liên tục ở xung nhịp cao và có thể lắp thêm tản nhiệt ngoài nên overclock trên máy tính chỉ có 1 mục đích duy nhất để xử lý các tác vụ nặng nhanh hơn. Nhiệt năng tỏa ra đã có tản nhiệt lo

    Ngược lại trên điện thoại thời gian chủ yếu các bạn dùng pin chứ không cắm sạc, lại ko có tản nhiệt bên ngoài mà chỉ có tản nhiệt ở môi trường nên chip điện thoại thiết kế để chủ yếu là chạy ở xung nhịp rất thấp. Ở đây OC cho điện thoại ko phải để xử lý các tác vụ nặng nhanh hơn, vì càng chạy ở xung nhịp cao càng tỏa ra nhiều nhiệt và sớm phải hạ tốc độ xuống để tản nhiệt nhanh. Mục đích duy nhất để OC cho điện thoại là để điện thoại xử lý các tác vụ rất nhẹ 1 cách nhanh hơn, để chip "xong việc sớm và nghỉ sớm".sẽ tiết kiệm pin hơn bình thường.

    Tóm lại là OC trên điện thoại ko phải để máy chạy nhanh hơn, mà chỉ là xong việc và được nghỉ sớm hơn
    OC trên điện thoại sẽ tiết kiệm pin hơn nếu các bạn dùng các tác vụ nhẹ, và sẽ tốn pin hơn khi các bạn dùng tác vụ nặng



    Các bạn vào thư mục sau để tìm file quy định overclock. Lưu ý là file này chỉ dành cho máy LTE2, nếu bạn muốn overclock cho máy khác thì tên file có thể khác 1 chút, cái này tùy vào dòng CPU mà máy của bạn đang sử dụng.

    https://github.com/zcop/lg_f160s_custom_kernel/blob/jb-3.4.0/arch/arm/mach-msm/acpuclock-8960.c


    .. tạm thời để đây đã
     
  5. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Hóng bài tiếp hehe
     
  6. BlackBi

    BlackBi Active Member

    Tham gia ngày:
    16 Tháng tám 2013
    Bài viết:
    414
    Đã được thích:
    54
    (y). Bookmark lại để xem có thể sắp xếp tg tham gia được hok.
     
    nguyenphuc80bt thích bài này.
  7. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    zcop lâu quá ko online, có bạn ấy join vào cùng xây dựng Kernel cho LGViet thì còn gì bằng.
     
    nguyenphuc80bt thích bài này.
  8. doicamcui

    doicamcui Active Member

    Tham gia ngày:
    14 Tháng mười một 2013
    Bài viết:
    236
    Đã được thích:
    33
    Ngon
     
    nguyenphuc80bt thích bài này.
  9. gts8003

    gts8003 Quản lý là phụ - chém gió là chính Staff Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    8,057
    Đã được thích:
    3,851
  10. zcop

    zcop Member

    Tham gia ngày:
    30 Tháng bảy 2013
    Bài viết:
    39
    Đã được thích:
    82
    hoangnova hiện tại mình đang đi thực tập nên không vọc mấy. Phải sau tết 2 tháng mới xong
     
  11. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Lúc nào rảnh bạn quay lại nhé. Anh em quét dọn nhà cửa sạch sẽ chờ bạn :D
     
  12. Hung.Nguyen

    Hung.Nguyen Active Member

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    423
    Đã được thích:
    185
    hoangnova ngày trước dùng optimus one P500, e có quên 1 bạn sinh năm 95, tên thạch tùng anh. Build kernel rất giỏi, giờ không biết bạn ấy phương trời nào, kéo về đây build kernel cho các dòng LG được thì hay :) đúng là tuổi trẻ tài cao :)
    nick bên tinhte là thanhtunganh thì phải :)
     
  13. f120ltn

    f120ltn Active Member

    Tham gia ngày:
    21 Tháng tám 2013
    Bài viết:
    266
    Đã được thích:
    45
    máy F120L không unbootloader thì có làm đc ko
     
    nguyenphuc80bt thích bài này.
  14. great_bn

    great_bn Active Member

    Tham gia ngày:
    3 Tháng tám 2013
    Bài viết:
    438
    Đã được thích:
    57
    lte2 có unlockbootloader đâu mà vẫn cài kernel đó thôi
     
    nguyenphuc80bt and f120ltn like this.
  15. f120ltn

    f120ltn Active Member

    Tham gia ngày:
    21 Tháng tám 2013
    Bài viết:
    266
    Đã được thích:
    45
    vậy ah thế thì e thử cái xem sao.
    cụ nào hướng dẫn e với
     
    nguyenphuc80bt and Tèo Bèo like this.
  16. Xạ Điêu

    Xạ Điêu Cộng Đồng SmartPhone LG Việt

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    1,026
    Đã được thích:
    664
    Hóng 1 kernel made in LGViet
     
  17. teriost

    teriost New Member

    Tham gia ngày:
    30 Tháng một 2014
    Bài viết:
    17
    Đã được thích:
    2
    Các bác có source code kernel cho lg lte3 ko cho em xin về nghịch thử xem :)
     
  18. phantom

    phantom Active Member

    Tham gia ngày:
    25 Tháng mười hai 2013
    Bài viết:
    269
    Đã được thích:
    299
    Em luôn dõi theo từng ngày
     
  19. leonduxe96

    leonduxe96 Member

    Tham gia ngày:
    19 Tháng sáu 2013
    Bài viết:
    136
    Đã được thích:
    2
    cho em xin cái link tổng hợp kernel cho Lu6200 của anh đi @hoangnova
     
  20. gts8003

    gts8003 Quản lý là phụ - chém gió là chính Staff Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    8,057
    Đã được thích:
    3,851
    Vào box LU, tìm theo tên tớ
     

Chia sẻ trang này