What is this?
noop is a relatively young source based Linux distribution.
We currently support x86_64, the Raspberry Pi (armv6l), and a basic armv7l and armv8 userspace.
It uses systemd, has a custom package manager with rolling releases, and also has a good build system.
noop is used on a daily basis as development and desktop systems and is quite stable.
Go on...
noop's packages manager and build system are all contained in the shell script 'pkgr'.
Packages may be installed from pre-built packages, or with 'bldj' packages (from file, or git) that compile it from source.
Everything is contained in a github account here.
All package and meta information is in plain-text, this combined with a shell based package manager makes noop an easy distribution to understand and alter.
Extras
Packages are not split as best as possible. (eg. Installing a single package usually gives you libs, development files, binaries, documentation).Link dependencies are detected automatically in the package process.
Static versions of libraries (ie. '.a' files) are also included in library packages ( if it isn't it should be, send an email or make an issue on the bug tracker ).
The ARM userlands include qemu user for x86_64 for easy emulation.
noop has it's own ISO image creator, initramfs generator, and kernel builder which are all available on github.
Unfortunately I haven't been able to give it the time it needs recently, so I've decided to halt development indefinitely.
Thanks to everyone who has supported it in the past.
I'll be keeping the package and github repository up for now.
The bldr mirror has been taken down, but the main one is still available.
To use it, add the following line to /etc/noop/mirrors
HOST=bldr.nooplinux.orgI've also added it to /var/noop/etc/mirrors.
KDE Plasma to 5.17.0
KDE Apps to 19.08.2
Spl has been removed as it is now part of the zfs package, please remove it after upgrading zfs: pkgr -r spl.
KDE Plasma to 5.14.0
KDE Apps to 18.08.2
KDE Plasma to 5.13.4
KDE Apps to 18.08.0
KDE Plasma to 5.12.4
KDE Apps to 17.12.3
This should still work even if the repository fails to sync.
Important: Soon openssl will be renamed to openssl1.0, and openssl's new version(1.1.x series) will replace it.
It's recommended to remove both packages, then install them again to avoid conflicts.
Also, noop turned 5 years old on July 20th!
If you want to use it, install the new meta packages: kde-frameworks-meta, kde-plasma-meta, kde-applications-meta.
More packages will be added to the kde-applications-meta package as I figure out what's missing (suggestions are welcome).
Also, a live image will show up in the next few days.
Update: Live image is up.
Before syncing, run the below script as root (make sure git is installed).
If you've already sync'd, sync again, as package list generation is still curl based, and install git).
Syncing via git instead of multiple wget/curls is much faster.
pkgr -m will now build the package using local scripts, AND will build it specifically for your CPU (ie. with march=native CFLAGS).
You may see a slight increase in performance, it's sort of half-way inbetween the Arch and Gentoo approach (currently only one package at a time can be built from source, and there are no 'use' flags).
pkgr -V now also uses local sources.
These change break armv7l and aarch64 syncing (the git package needs to be built for these), it will be updated at some point.
In some cases an initramfs cannot be avoided, and there's been almost no support for these, this is now changed.
Now, when a kernel update is installed, no boot manager configuration files will be changed, but the kernel will have a consistent name (vmlinuz).
In addition to this, dracut (an initramfs generator) is ran post kernel installation if the dracut naming is used (dracut-initramfs.img), see the file /etc/dracut.conf to include kernel modules in your initramfs.
For more initramfs configuration (eg. setting up dm-crypt), please see the dracut documentation.
Note: As far as I can tell, dracut does not support booting off encrypted root file systems, if you use this setup continue using the prebuilt initramfs (or regenerate it yourself using the mkinitramfs-lvm script). I may create a customizable initramfs generator and replace dracut with it in the future.
2015-10-05 Update: I've created a simple initramfs generator, but it works. It lives in pkgr. I will add a page to the wiki eventually. The short version is: if dracut-initramfs.img lives in /boot then dracut will be called after kernel upgrade, if noop-initramfs.img lives in boot, then pkgr --mkinitramfs will be called. Noop's initramfs generator fully supports module loading, LVM, and dm-crypt (as well as anything else I can think of in the future). To add a module through noop's mkinitramfs script, add an array called MODULES to /etc/noop/initramfs with module names. eg. MODULES=('nvidia' 'bbswitch' 'iwldrm') As with dracut, mkinitramfs will output to the /boot directory.
I will update this post when all the changes are done, you will need to run this lovely script after syncing, or reinstall (the script is easier).
You can run the script before the changes are live, but installing packages may not work as expected.
Status:
x86_64 migration: Done.
ISOs: Done.
armv6l migration: Done.
Also, libgudev has been moved out of systemd, you may need to install the new libgudev package if there are complaints of it missing.
Live ISOs will be uploaded soon.
Update: It's up.
List available packages like so: pkgr -instbin -l and to install: pkgr -instbin name.
These packgages grab pre-built binaries from the internet and install them to /opt, it also updates /etc/profile. Make sure to remove any preexisting installs if you use this.
Mostly platform independant packages will show up here (ie. basically only Java based), but keep it in mind when looking for packages to install.
Currently available packages are: jdk8, ant, maven, and tux guitar. I thought about adding IDEs like IntelliJ and Eclipse, but these are meant to be placed in your home directory.
As usual if you have any package requests, feel free to put it on the forum or email me.
Enlightenment has been updated to the latest, the meta packages are different, so you may need to remove the old one, and then install the new one.
Mate and xfce are still in working order as well, I currently use Mate.
The binary package ntpd has been removed from the repository, however it still remains in the bldj repo, so if you wish you can build and install it with 'pkgr -m ntpd'.
ntpd was removed because there's an ntp client build into systemd, while I am among those who thinks this maybe a tad excessive feature wise, I also believe there are no other (good/plausible) alternatives.
noop Linux started out using OpenRC (as I was a Gentoo user), but all of a sudden udev got moved into some newfangled init system called systemd, so I tried it out. When I was testing it out, the insane amount of dependencies for systemd were quite alarming ( I imagine it's gotten much worse ), but it at least presented itself with sane management of system services. Moving from ancient shell scripts to an actual 'manager' was extremely nice, so systemd was decided upon.
This all being said, I understand why lately systemd has been causing so many problems in the community. I suppose now that evdev exists it's at least possible to move back to OpenRC, but personally I think going back to shell scripts for starting services is a huge step backwards. Additionaly, even if someone ripped out just the service management and presented it as a separate package, there's still the massive headache that is seat management, I very much like not having to touch {Console,Policy}Kit anymore. I think in order to move away from systemd without doing insane amounts of work on your own, there has to be a major shift away from using systemd, and considering everyone just shifted towards it, I doubt this will happen anytime soon. For the time being, noop Linux will continue with systemd.
You can do this easily (not while running mate) by removing all packages in the old meta packages, to do this run this before syncing:
Comes preloaded with: chromium, firefox, thunderbird, inkscape, pidgin, libreoffice, vlc, gparted, tightvnc, x11vnc, filezilla, gimp, and openssh.
The existing package is being renamed to libpng15, after syncing and upgrading, please install libpng15.
By default you may not have enough space in /tmp for the install to fit, so it's recommended to run: 'systemctl mask tmp.mount' and reboot, this will put /tmp on physical media instead of in RAM ( which you probably want more of anyways ).
2014-08-29 Update: Chromium is pretty slow, so I've added qupzilla-qt4 and midori as alternative browsers.
All you need to do, if you have qt installed, is remove it and install qt4 ( after syncing of course ):
pkgr -r qt;
pkgr -i qt4;
An SD card image is now available for the Raspberry Pi in the Try it section.
Package count is very low still, just the basics, but it will grow to be able to at least be capable of running fluxbox and transmission :) (plus building other packages is pretty easy with pkgr).
Disclaimer(!!) My Pi is still in transit, so I have *no idea* if it will work yet.
Also, the linux-kernel and linux-firmware packages are only compatible with the raspberry pi, if linux kernel support is requested for another device I'll try and figure something out.
I'll update this section when I get a chance to test it out.
Update: It works!
Also, I'm working through a massive package update albeit slowly, but it's happening.
Package information is being moved to a github account. I'm also trying out an automated method of determining if a package needs updating. We'll see how it goes.
1) Fix dependency problems. (2013-11-26: These have now been fixed across x86_64 and i686)
A few packages were linking to a library that shouldn't have been there, so when it got removed, stuff broke. Made a dependency checker to make sure stuff stays not broken.
2) Update bldjs(build information) with already built dependency information. (2013-11-26: Done)
Basically when a package is built it's scanned for what libraries it needs. Unfortunately what's in the bldjs and packages don't match, so I wrote a tool to rewrite all bldjs based upon what's in the package.
This will make building easier and more reliable.
3) Create tree-like dependency graph for build system. (2013-11-27: Basically done for now, take a look at pkgr -D)
This will be great ( ...seriously looking forward to it ), basically if one package is updated, it will know which ones need to be rebuilt.
(2013-11-28: This has been made to help with the system update. It is dynamic and will change when packages are added/updated.)
4) Update ... everything (Ongoing obviously)
There's a lot of needed updates. Xorg, MATE, KDE, Chromium, Firefox, Thunderbird, etc. So I'll probably just go through and check everything.
5) Media installer
I'm 99% done an installer that will install itself from whatever media it booted off of, basically it's for offline installs.
I'm assuming this will evolve into the first attempt at a full blown installer ( shell based for now ).
Update: This is done. Installer now asks if you want to install from media or internet.
6) Web interface for package information?
Been thinking about this for a while, it'll probably happen eventually.
Update: Package information has been moved to git.
7) The Future
Games! Which basically just means:
Steam support ( this is almost done ). Update: Steam works.
Graphics drivers for nvidia ( done ) AND ATI err... AMD ( not done...I don't have any AMD cards )
Update: I've added playonlinux, this works great for different game / wine version support.
Update 2: I'm trying out wine staging as the default version...this could be bad, or good, we'll see.
Greetings. There are a few packages that are having dependency issues, I've found them all on x86_64 ( hence the new super useful tool below ) and am working to get them resolved.
After, i686 will be checked and fixed. It was mostly due to a library magically disappearing from a package.
I will update this post when all issues have been resolved. Sorry for the trouble.
Also, there's a bunch of new updates, and lots more to come in the near future!
Wiki and forum are disabled for now because I have no time at the moment to moderate it and they were just quickly filling with spam.
Also, if you're wondering why there has not been any recent updates, it's because I've moved to Tokyo and don't have a build machine as of yet...
Hopefully this will be changing shortly.
The later will try to find a bldj in the online repository.
KDE live images have also been updated, see the Try It section.
This means that you will need to re-create your forum account.
Look here for an update as to when it's done.
Update: The new forum is ready.
If you wish to use the old network.service method instead run:
systemctl disable NetworkManager.service
and
systemctl enable network.service after you configure network.service.
This will make installing on a standard DHCP system quicker and simpler.
Warning: there is a lot.
Live DVD coming soon!
Update: KDE Live DVDs out! Check the Try It section.
Soon a kde-all-meta package will become available that includes all the extras.
It's suggested that you use kdm instead of slim.

To use, simply run pkgr -c or pkgr --depcheck binary-file
Example output:
No package found in DB for 32-bit library : libcef.so
No package found in DB for 32-bit library : libgtk-x11-2.0.so.0
No package found in DB for 32-bit library : liboverride.so
No package found in DB for 32-bit library : libpango-1.0.so.0
No package found in DB for 32-bit library : libpangoft2-1.0.so.0
No package found in DB for 32-bit library : libsdl2-2.0.so.0
No package found in DB for 32-bit library : libsteam.so
No package found in DB for 32-bit library : libtier0_s.so
No package found in DB for 32-bit library : libvstdlib_s.so
Installed : lib32-expat
Installed : lib32-fontconfig
Installed : lib32-freetype2
Installed : lib32-gcc-libs
Installed : lib32-glib2
Installed : lib32-glibc
Installed : lib32-libX11
Installed : lib32-libXau
Installed : lib32-libXdamage
Installed : lib32-libXdmcp
Installed : lib32-libXext
Installed : lib32-libXfixes
Installed : lib32-libXrandr
Installed : lib32-libXrender
Installed : lib32-libdrm
Installed : lib32-libxcb
Installed : lib32-mesalib
Installed : lib32-zlib
Not Installed : lib32-libXxf86vm
If something is not installed, just install it, in this case it would be: pkgr -i lib32-libXxf86vm.
Links are in the Try It section.
Update: These ISOs now work with UNetbootin if you wish to write them to a USB stick.
Update2: ISOs with MATE are now available.

See the Try It section for more details.

I took a look at what they replaced it with and I must say it's extremely similar to noops install procedure...I'm not sure if thats good or bad, at least I'm not out to lunch with the noop install.
Please note however(!!!): When upgrading from an old style kernel (anything older then 3.5.3), pkgr will tell you that grub.cfg has been modified BUT it has not been, you need to update it manually one last time.
NOTE: This is clearly a work in progress, including the website (I promise it will look better eventually). Forums and a wiki will be up at some point as well, but for now there's just this.
What is noop? It's a new source based distro that uses it's own precompiled package format.
Currently its package manager is a shell script with plans to port it to C.
It's aimed at supporting rolling releases, but it's so new that it doesnt really matter at the moment.
It uses systemd as it's init system, and currently includes a number of daemons
( apache, mysql, nginx, proftpd, openssh ). The window manager is xfce4, with a planned addition of KDE when 4.9 is released in August 2012.
So how do I try it? Well there's no 'real' installer, or even any media at this time, but there is a sort of net install.
Note that this is probably not for beginners, you may want to try this on a VM before you wipe your computer...
Instructions ( A more comprehensive guide is being made ):
Boot from any live cd.
Partition/format your hard drive.
Mount your hard drive eg: mkdir /root/hdd; mount /dev/sda1 /root/hdd;
Grab the installer script: wget www.nooplinux.org/noop/instlr
Run it, passing the full mounted HDD path. Eg. chmod a+x instlr; ./instlr /root/hdd;
Wait...
You will be asked to change your root password.
You will be put into a chrooted environment, there will be instructions, but basically you need to:
Edit your grub.cfg if the root partition is not /dev/sda1.
grub-install /dev/XXX (a list of possible MBR locations will be provided)
Edit your fstab.
Set up network, the easiest way to do this with a wired connection usually is to use dhcpcd.
To do this you'll want to edit /etc/systemd/system/network.service and change the CHANGE_THIS parameter to /usr/bin/dhcpcd
and run systemctl enable network.service. Now you can exit and reboot.
If you want a GUI, there are a few meta packages that will provide all the necesary packages:
Run pkgr -i xorg-meta; and then pkgr -i xfce4-meta; After that you'll need a login manager, slim is the only one available at the moment.
Might as well install a few usefull things at the same time: pkgr -i slim chromium terminal
Then run systemctl enable slim.service. You'll also want to add a user and add them to a group or two and set a password:
useradd -m user1; usermod -a -G tty user1; usermod -a -G audio user1; passwd user1;
Next, as user1, add a .xinitrc in the home directory, all you really need in it is: exec xfce4-session
Reboot and login.
Note, for icons and whatnot to show up you'll have to set an icon theme and style, this can be found under the menu and Apperance.
There is one bug, if the background and some icons are not showing up, run as root:
rm /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache; gdk-pixbuf-query-loaders --update-cache; gtk-update-icon-cache -q -t -f /usr/share/icons/gnome
And reboot.

There is a build system, information will be posted shortly so user built packages can be made and submitted.
GCC and whatnot can be installed with pkgr -i dev-meta