<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      yocto工程升級要點

      需求
      原有的工程是多年前基于yocto sumo開發,對應的linux kernel版本是4.14。 需求是要求linux kernel升級到5.10。

      背景
      工程由以下幾部分組成,

      1. yocto sumo構建部分的代碼,包括poky,bitbake等
      2. 目標平臺支持多款第三方處理器,包括imx6和imx8,以及intel某款cpu,所以有meta-freescale和meta-intel等
      3. 我們自己的linux kernel代碼,當初是基于yocto sumo 的linux kernel4.14寫的,主要是幾個驅動代碼,還有少-部分自己維護的補丁
      4. 我們自己的業務代碼,這部分業務代碼又分成好幾個模塊,這里不細述。

      調查評估
      表面需求是升級linux kernel,我們需要調查:

      1. 我們當前的驅動代碼可能會有問題,包括新的kernel代碼可能刪除了某些函數導致我們驅動編譯失敗,另外需要調查我們的補丁是否還適用,是否需要修改
      2. 為保證應用戶態基礎服務能夠與新kernel正常交互工作,對應的glibc等也需要相應升級,對應的交叉編譯工具鏈也需要升級
      3. 我們的業務代碼,由于kerne和#2變化,也需要相應修改以適配新的kernel,glibc和編譯鏈
      4. 該需求目標平臺是基于intel某款cpu的,時間關系我們可以暫時不用關心meta-freescale,重點關注meta-intel layer的升級
        所以實際需求是升級整個yocto工程,調查發現yocto hardknott默認linux kernel版本是5.10, 所以需要更新我們的驅動代碼,補丁和業務代碼,隨之帶來的是需要更新recipes以適應yocto hardknott升級,基于sumo的腳本與配置也需要修改

      實現

      • 把poky,meta-openembedded,meta-intel, meta-freescale升級到hardknott

      • upgrade yocto poky to hardknott, git clone -b hardknott git://git.yoctoproject.org/poky

      • in the poky, upgrade meta-openembedded to hardknott, git clone -b hardknott https://github.com/openembedded/meta-openembedded.git

      • in the poky, upgrade meta-intel to hardknott, git clone -b hardknott https://git.yoctoproject.org/meta-intel

      • meta-freescale upgrade, git clone -b hardknott https://git.yoctoproject.org/meta-freescale

      • 編譯打包過程中需要新的宿主機工具,在local.conf & local.conf.sample中加入HOST_TOOLS

      • layer.conf中有依賴sumo的特定部分,需要改成hardknott

      • hardknott默認python版本已經轉變為python3了,對應的get_bblayers.py, set_bb_env.sh等如果還期望繼續按python2執行需要把python關鍵字改為python2

      • bitbake-layers add-layer 指定的layers

      • build/conf/templateconf.cfg 內容需要指定為本工程的conf路徑

      • linux kernel upstream代碼如果還沒有包含我們之前的補丁那就需要重新生成新補丁并打上

      • linux driver部分,主要有一些函數新的kernel代碼已經刪除,或者參數返回值類型有變化,相應的需要調整代碼,比如

        • Kconfig 文件語法與新kernel不兼容,需要改
        • struct timespec 被刪掉了, 需要改為timespec64, 替換 ktime_get_ts() 為 ktime_get_ts64(), time_sub →time64_sub, getnstimeofday() → ktime_get_real_ts64(),類似的還有
        • SIOCGSTAMP, ioremap_nocache(),stubssock_no_setsockopt,sock_no_getsockopt ,setup_timer(),init_timer() ,kernel_setsockopt() cancel_work(), kernel_sock_ioctl() 不再支持,需要找到相應的替代者
        • wakeup_source_register() ,kernel_getsockname(), send_sig_info(siginfo_t sig, ...) 原型變化,需要相應改動代碼
      • 用戶空間代碼改動也較多,簡單舉幾個例子

        • 不再能在頭文件里定義變量,不然新的gcc會報錯,需要把原先頭文件里定義的變量挪到對應的.c里,如果多處.c使用該變量則用extern 關鍵字聲明。
        • nanopb 版本升級,對應的需要重新生成.pb.c, .pb.h
        • recipe里例子比如python-protobuf 需改為python3-protobuf
      posted @ 2025-10-20 13:09  yangbiao  閱讀(9)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕亚洲人妻系列| 澄江县| 亚洲人成网站在线播放2019| 成人永久免费A∨一级在线播放| 亚洲人成电影网站 久久影视| 亚洲综合av一区二区三区| 激情无码人妻又粗又大| julia无码中文字幕一区| 亚洲最大在线精品| 国产亚洲av产精品亚洲| 99精品热在线在线观看视| 亚洲www永久成人网站| 日韩av天堂综合网久久| 婷婷久久综合九色综合88| 人妻系列中文字幕精品| 亚洲中文无码永久免费| 天堂中文8资源在线8| 国产精品 无码专区| 国产色婷婷亚洲99精品小说| 免费无码一区无码东京热| 欧美成本人视频免费播放| 亚洲第四色在线中文字幕| 亚洲欧美日韩精品色xxx| 亚洲国产美女精品久久久久 | 国产在线精品一区二区中文| 成人自拍小视频在线观看| 亚洲人妻精品一区二区| 国产午夜精品久久久久免费视| 国产精品老熟女一区二区| 午夜男女爽爽影院免费视频下载| 久久精品一区二区东京热| 最近中文字幕完整版hd| 日韩精品 在线 国产 丝袜| 精品亚洲综合一区二区三区 | 国产精品一区二区三区激情| 久久中文字幕国产精品| 国产精品一线天在线播放| 亚洲中文字幕无码爆乳APP| 中文字幕成人精品久久不卡 | 乱妇乱女熟妇熟女网站| 天堂国产一区二区三区四区不卡|