这是昨天想到的一个办法,估计会有用。思路大约如下:
1. 挂载目标分区。开始的时候可以从其他系统或者livecd启动来构建。例如lfs livecd就是一个很好的宿主系统。
2. 构建编译工具链到目标分区的某个目录,例如/tool-chain,除了标准工具和gcc/g++之外,还要包括apt-get, apt-build(需要perl等的支持,具体参见debian的网站)。这里,apt-get/apt-build等所有东西都是自己编译的。
3. chroot到工具链系统。用自己编译的apt-build和apt-get编译安装ubuntu-minimal, apt-get, apt-build, build-essential,配置好后重新从新分区启动。
4. 此时可以把工具链目录给删除了。然后用自动编译出来的apt-build进一步安装软件。例如ubuntu-desktop/kubuntu-desktop。
现在不敢试,等再过一段时间完成项目了俺再试试这个方法。
昨天在linuxsir论坛上看到有人用dpkg的方法重新编译所有软件包,但是那样有很多弊端。
1. 挂载目标分区。开始的时候可以从其他系统或者livecd启动来构建。例如lfs livecd就是一个很好的宿主系统。
2. 构建编译工具链到目标分区的某个目录,例如/tool-chain,除了标准工具和gcc/g++之外,还要包括apt-get, apt-build(需要perl等的支持,具体参见debian的网站)。这里,apt-get/apt-build等所有东西都是自己编译的。
3. chroot到工具链系统。用自己编译的apt-build和apt-get编译安装ubuntu-minimal, apt-get, apt-build, build-essential,配置好后重新从新分区启动。
4. 此时可以把工具链目录给删除了。然后用自动编译出来的apt-build进一步安装软件。例如ubuntu-desktop/kubuntu-desktop。
现在不敢试,等再过一段时间完成项目了俺再试试这个方法。
昨天在linuxsir论坛上看到有人用dpkg的方法重新编译所有软件包,但是那样有很多弊端。