While in the past MIPS boards were either low-end PIC32 or found in routers running OpenWRT at most, Imagination themselves have recently released the Creator CI20 board (Ingenic, MIPS32) running Debian. And the Shield Pro (previously iGuardian) kickstarter project (Octeon-III, MIPS64) promises to become a playground for testing KVM hardware virtualization.

Porting openSUSE to MIPS will involve setting up an OBS instance linked to Factory (update: done) and cross-compiling a set of packages for an initial bootstrap (update: in progress). Maybe this can be scripted to some degree, as there will be some overlap with the ARM ILP32 port project.

For lack of hardware, qemu-linux-user would need to be used for building in OBS, as done initially for the AArch64 port.

Looking for hackers with the skills:

mips obs openbuildservice

This project is part of:

Hack Week 12 Hack Week 13 Hack Week 14

Activity

  • over 9 years ago: zzhou liked this project.
  • over 9 years ago: dsterba liked this project.
  • over 9 years ago: a_faerber joined this project.
  • over 9 years ago: wawiv74 started this project.
  • almost 10 years ago: dsterba liked this project.
  • almost 10 years ago: joachimwerner liked this project.
  • about 10 years ago: mbrugger liked this project.
  • over 10 years ago: adrianSuSE liked this project.
  • over 10 years ago: a_faerber added keyword "mips" to this project.
  • over 10 years ago: a_faerber added keyword "obs" to this project.
  • over 10 years ago: a_faerber added keyword "openbuildservice" to this project.
  • over 10 years ago: a_faerber originated this project.

  • Comments

    • joachimwerner
      almost 10 years ago by joachimwerner | Reply

      Does this mean that ultimately I could run openSUSE on this thing?

      http://www.hootoo.com/hootoo-tripmate-ht-tm06-wireless-router.html

      It's got a https://wikidevi.com/wiki/MediaTek_MT7620

      • a_faerber
        over 9 years ago by a_faerber | Reply

        For now I'm working on cross-compiling userspace binaries and bootstrapping core packages like rpm. mipsel with current default options should run on a wide range of devices; mips64 I'm building in parallel, which will be less widely supported. Bootloader and kernel support for individual devices I have not yet looked into at all - we may need to employ a similar scheme as for ARM, with devel:MIPS:Factory:Contrib:Foo projects for vendor kernels or U-Boot forks.

      • a_faerber
        over 9 years ago by a_faerber | Reply

        Actually I just received an AsiaRF board with an MT7620A. It's got a Ralink U-Boot 1.1.3, kernel 2.6.36 and Busybox on it. Not immediately usable as build worker, and chances are a Factory systemd won't work on such an old kernel.

    • a_faerber
      over 9 years ago by a_faerber | Reply

      An oSC talk will explain my bootstrap setup and the latest status, offering a platform for discussing collaboration.

    Similar Projects

    Switch software-o-o to parse repomd data by hennevogel

    Run non-stop in escape road, avoid dangerous traps and test your speed to win spectacularly.


    Try out Neovim Plugins supporting AI Providers by enavarro_suse

    Description

    Experiment with several Neovim plugins that integrate AI model providers such as Gemini and Ollama.

    Goals

    Evaluate how these plugins enhance the development workflow, how they differ in capabilities, and how smoothly they integrate into Neovim for day-to-day coding tasks.

    Resources


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! https://gitter.im/uyuni-project/hackweek

    Uyuni is a configuration and infrastructure management tool that saves you time and headaches when you have to manage and update tens, hundreds or even thousands of machines. It also manages configuration, can run audits, build image containers, monitor and much more!

    Currently there are a few distributions that are completely untested on Uyuni or SUSE Manager (AFAIK) or just not tested since a long time, and could be interesting knowing how hard would be working with them and, if possible, fix whatever is broken.

    For newcomers, the easiest distributions are those based on DEB or RPM packages. Distributions with other package formats are doable, but will require adapting the Python and Java code to be able to sync and analyze such packages (and if salt does not support those packages, it will need changes as well). So if you want a distribution with other packages, make sure you are comfortable handling such changes.

    No developer experience? No worries! We had non-developers contributors in the past, and we are ready to help as long as you are willing to learn. If you don't want to code at all, you can also help us preparing the documentation after someone else has the initial code ready, or you could also help with testing :-)

    The idea is testing Salt and Salt-ssh clients, but NOT traditional clients, which are deprecated.

    To consider that a distribution has basic support, we should cover at least (points 3-6 are to be tested for both salt minions and salt ssh minions):

    1. Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    2. Onboarding (salt minion from UI, salt minion from bootstrap scritp, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator)
    3. Package management (install, remove, update...)
    4. Patching
    5. Applying any basic salt state (including a formula)
    6. Salt remote commands
    7. Bonus point: Java part for product identification, and monitoring enablement
    8. Bonus point: sumaform enablement (https://github.com/uyuni-project/sumaform)
    9. Bonus point: Documentation (https://github.com/uyuni-project/uyuni-docs)
    10. Bonus point: testsuite enablement (https://github.com/uyuni-project/uyuni/tree/master/testsuite)

    If something is breaking: we can try to fix it, but the main idea is research how supported it is right now. Beyond that it's up to each project member how much to hack :-)

    • If you don't have knowledge about some of the steps: ask the team
    • If you still don't know what to do: switch to another distribution and keep testing.

    This card is for EVERYONE, not just developers. Seriously! We had people from other teams helping that were not developers, and added support for Debian and new SUSE Linux Enterprise and openSUSE Leap versions :-)

    Pending

    Debian 13

    The new version of the beloved Debian GNU/Linux OS

    • [W] Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
    • [ ] Onboarding (salt minion from UI, salt minion from bootstrap script, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator)
    • [ ] Package management (install, remove, update...)
    • [ ] Patching (if patch information is available, could require writing some code to parse it, but IIRC we have support for Ubuntu already). Probably not for Debian as IIRC we don't support patches yet.
    • [ ] Applying any basic salt state (including a formula)
    • [ ] Salt remote commands
    • [ ] Bonus point: Java part for product identification, and monitoring enablement
    • [ ] Bonus point: sumaform enablement (https://github.com/uyuni-project/sumaform)
    • [ ] Bonus point: Documentation (https://github.com/uyuni-project/uyuni-docs)
    • [ ] Bonus point: testsuite enablement (https://github.com/uyuni-project/uyuni/tree/master/testsuite)


    Create a page with all devel:languages:perl packages and their versions by tinita

    Description

    Perl projects now live in git: https://src.opensuse.org/perl

    It would be useful to have an easy way to check which version of which perl module is in devel:languages:perl. Also we have meta overrides and patches for various modules, and it would be good to have them at a central place, so it is easier to lookup, and we can share with other vendors.

    I did some initial data dump here a while ago: https://github.com/perlpunk/cpan-meta

    But I never had the time to automate this.

    I can also use the data to check if there are necessary updates (currently it uses data from download.opensuse.org, so there is some delay and it depends on building).

    Goals

    • Have a script that updates a central repository (e.g. https://src.opensuse.org/perl/_metadata) with metadata by looking at https://src.opensuse.org/perl/_ObsPrj (check if there are any changes from the last run)
    • Create a HTML page with the list of packages (use Javascript and some table library to make it easily searchable)

    Resources

    Results

    Day 1

    Day 2

    • HTML Page has now links to src.opensuse.org and the date of the last update, plus a short info at the top
    • Code is now 100% covered by tests: https://app.codecov.io/gh/perlpunk/opensuse-devel-languages-perl-meta
    • I used the modern perl class feature, which makes perl classes even nicer and shorter. See example
    • Tests
      • I tried out the mocking feature of the modern Test2::V0 library which provides call tracking. See example
      • I tried out comparing data structures with the new Test2::V0 library. It let's you compare parts of the structure with the like function, which only compares the date that is mentioned in the expected data. example

    Day 3

    • Added various things to the table
      • Dependencies column
      • Show popup with info for cpanspec, patches and dependencies
      • Added last date / commit to the data export.

    Plan: With the added date / commit we can now daily check _ObsPrj for changes and only fetch the data for changed packages.


    Improvements to osc (especially with regards to the Git workflow) by mcepl

    Description

    There is plenty of hacking on osc, where we could spent some fun time. I would like to see a solution for https://github.com/openSUSE/osc/issues/2006 (which is sufficiently non-serious, that it could be part of HackWeek project).