0

How would one create a Ubuntu distro for a different architecture such as MIPS?

I understand that it is possible to create a customized distro for the x86/x64, and the Linux 5.7 Kernel has support for MIPS. I am just wondering how a Ubuntu-based distro can be created for a different architecture such as Ubuntu ARM or MIPS.

-- Edit --

The main question I have is about the additional steps that's needed to build a distro for a non-x86 architecture. I haven't used Linux in any other ARCH than x86/x64, so I am very new here.

According to wikipedia, Debian has official ports for MIPS. So

What are the steps to get from Debian to Ubuntu?

(e.g. Do I need an actual MIPS machine, or can this be done on a virtual machine? If I am able to run a Debian on the MIPS, then how to go from there to build Ubuntu MIPS packages?)

There are related questions (e.g. How to customize the Ubuntu Live CD?). But they start from a working Ubuntu installation, which isn't available for a new arch such as MIPS.

tinlyx
  • 3,230
  • Are you saying that you want a customized remix that also happens to run on MIPS? Or are you saying that you want a stock Ubuntu installer for MIPS. You need the latter before you can create the former. – user535733 Jul 19 '20 at 13:09
  • @user535733 I am interested in building a basic installer from scratch instead of a remix based on an existing installer. Basically, interested in how Ubuntu ARM was done, and whether that could be transferred to another architecture with Debian ports. – tinlyx Jul 19 '20 at 16:25
  • The basic process in the answer (get it to work with Debian First) is most of how Ubuntu ARM was done. The actual installer was a separate engineering project built on top of those ARM builds. Your MIPS installer will need to work based upon how folks can access their MIPS hardware: x64 is USB/DVD, and usually based on debootstrap. ARM is often (not always) SD Card, and usually based upon an image copy and first-boot script. Take a look at Ubuntu Base for a commonly-used starting point. – user535733 Jul 19 '20 at 16:35

1 Answers1

2

First, you must run through all of the thousands of packages that you want to include and check that they build for both MIPS architectures (big-endian and little-endian) in Debian. You chase the bug reports, investigate (or upstream) packages that fail to build, and generally glidepath the set of packages toward completion.

Second, you must persuade the Ubuntu Foundations Team that the MIPS architectures are a worthwhile addition to the Ubuntu Repositories. That's why you did all the Debian work -- to persuade the Foundations Team that a MIPS build is both possible and affordable. If they agree that it's worthwhile, then you must help shepherd all those packages through another build cycle, this time for Ubuntu.

Finally, you and some MIPS-using friends must volunteer to test the pre-release version of the Ubuntu MIPS build. If volunteers don't step up to do pre-release testing, or if volunteers don't step up to provide support, that architecture gets dropped. Ubuntu dropped PowerPC and i386 architectures when volunteers became too sparse.

user535733
  • 62,253
  • Thanks. I am more interested in the general steps to go from a Debian to Ubuntu (your second point), which I have no clue. Please see my update. – tinlyx Jul 19 '20 at 06:00
  • The second step is not bureaucratic. It's a relationship. Ubuntu already has build farms (though likely not MIPS-based) and tools for their use. If you have already been a longtime contributor to Ubuntu and are already an Ubuntu Member, then the Foundations Team can see from your history that you're likely to have the skills to stick with this project and their investment may be worthwhile. If they've never heard of you and you have no history...then they might be a bit more (understandably) reluctant to invest in a whole new architecture. – user535733 Jul 19 '20 at 13:16