六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學習啦>學習電腦>操作系統(tǒng)>Linux教程>

根目錄沖突(ld-linux.so位置)解決方法有哪些

時間: 若木635 分享

  根目錄沖突(ld-linux.so位置)解決方法

  解決方法一:不追求標準

  啟動方法一

  把上例中/mylinux文件夾放到分區(qū)中,在分區(qū)中新建linux結(jié)構(gòu),把啟動時用的文件外面做指向/mylinux中對應文件的鏈接,如mount等命令和/sbin/init程序等。在lfs中制作目標系統(tǒng)時會chroot進/mnt/lfs文件夾中,這之前為chroot做的工作和我要說的是類似的,不懂的可以看看。

  啟動方法二

  也可以把/mylinux的內(nèi)容放到分區(qū)中,然后做一個鏈接/mylinux/lib/ ld-linux.so.2鏈接到/lib/ld-linux.so.2。

  上面的方法都是為保持鏈接器的正確位置,但這就不是標準linux了。

  解決方法二:臨時工具鏈

  這種方法的思想是做一個根不是/的linux系統(tǒng),再用這個系統(tǒng)制作標準的linux系統(tǒng),這樣就不會有根沖突問題了。

  根不/的linux系統(tǒng)是怎么做的呢?其實就是上面說的/mylinux中的系統(tǒng),在lfs中的/tools中的系統(tǒng)。

  上面解決方法一中可知,根不是/的linux系統(tǒng)是可以啟動的,用解決方法一中的啟動方法一啟動系統(tǒng),再用這個系統(tǒng)制作linux就可以占用根目錄/了。因為啟動的系統(tǒng)在目錄/mylinux中(LFS中為/tools)。這樣制作的linux就是標準結(jié)構(gòu)了。

  解決方法三:sysroot

  根沖突的問題還可以理解為gcc和binutils的搜索路徑和編譯程序的根路徑的沖突問題。第一步編譯好目標系統(tǒng)的C庫(一般為glibc)后,再編譯程序就要用剛編譯好的目標系統(tǒng)的C庫了。也就是在編譯時要搜索剛編譯好的目標系統(tǒng)的C庫。但這樣編譯出的程序的中路徑就不是相對于根目錄/的了。

  如果我們能單指定gcc和binutils的搜索路徑,不改變編譯設置,這樣問題不用解決了嗎?

  這種功能可以通過sysroot設定,在編譯gcc和binutils時在configure的參數(shù)中加入--with-sysroot=<制作linux的根文件夾>,可以設置搜索路徑,使編譯過程中用的是指定的C庫,而編譯出的程序確是相對于根目錄/的。

  這樣編譯出的linux中的程序的鏈接器ld-linux.so.X的路徑就正確了。這樣就可以把制作的linux直接移到分區(qū)中啟動了。

  這是借鑒CLFS sysroot也可以叫CLFS3.0中的方法。

  這種方法的好處是只要做好交叉編譯的gcc和binutils就可以了,利用源系統(tǒng)中的輔助工具進行編譯。用sysroot一般是在交叉編譯中,同平臺的本地編譯是交叉編譯的一個子集,可以用在交叉編譯中的方法也可以用在本地編譯中。

根目錄沖突(ld-linux.so位置)解決方法有哪些

根目錄沖突(ld-linux.so位置)解決方法 解決方法一:不追求標準 啟動方法一 把上例中/mylinux文件夾放到分區(qū)中,在分區(qū)中新建linux結(jié)構(gòu),把啟動時用的文件外面做指向/mylinux中對應文件的鏈接,如mount等命令和/sbin/init程序等。在lfs中
推薦度:
點擊下載文檔文檔為doc格式
75426