You are not logged in.

#1 2014-04-24 10:36:32

kraileth
Member
Registered: 2013-04-20
Posts: 12

Installing on i686 hardware?

Hi everybody!

Both at home and at work I'm a happy Arch Linux user and have come to love pacman to manage my system. At work I also came in contact with FreeBSD servers and have been digging into that field a bit. While it's all a bit strange for me yet, I'm quite sure that it will probably only take some time to get familiar with the system because I actually like quite a few things about it.

I installed ArchBSD in a few VMs and think that it's great (I even blogged about it about a year ago) but I didn't have the chance to install it on real hardware for everyday use. Now I've got an old pc which I would like to test and use it on. However it's not 64-bit capable. I've been following the forums now and then and also saw that there are i686 packages available.

I've packaged my favorite light-weight desktop environment (EDE) for ArchBSD and when the new version comes out in a few weeks, it will officially come with ArchBSD packages. Thanks to my previous projects, I've done quite a lot of package building (have been building a few experimental distros out of curiosity, like one which tries to avoid GCC and build as many packages with Clang and currently one which uses an alternative and more liberally licensed Libc). So I wouldn't mind to build a few i686 packages for ArchBSD if there's interest for them here.

But right now my question is: How am I supposed to install an i686 ArchBSD system? There's no ISO for it if I'm not mistaken. Any clues for me?

Offline

#2 2014-04-25 03:11:03

Claud
Member
Registered: 2013-06-11
Posts: 28

Re: Installing on i686 hardware?

At the moment due to available menpower we are only developing a x86_64 version. Maybe Amzo put some work on i686 version also , dunno. Also Blub made an arm version with little packages IIRC.

Last edited by Claud (2014-04-25 03:35:01)

Offline

#3 2014-04-25 06:12:59

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Claud wrote:

At the moment due to available menpower we are only developing a x86_64 version. Maybe Amzo put some work on i686 version also , dunno. Also Blub made an arm version with little packages IIRC.

Hi Claud!

Thanks for your quick answer. I'm aware that ArchBSD has few developers and that there seems to be not much demand for i686. However some effort seems to have been put into creating various basic packages. So if anybody would lend me a hand on getting ArchBSD to run on an i686, that would be great. I know that this platform is not up to date (based on freebsd 9.2 which is fine for me) and understand that I'd be mostly on my own when it comes to any binary packages beside the absolute minimum base system (since Amzo wrote somewhere that he doesn't have time and motivation to really maintain i686 as well).

I'm willing to get into the system and would volunteer to make the packages available to the ArchBSD project as I'm building them anyway (since I intent to use it as a desktop, that would be quite some). But first I'd need to know a bit more about how ArchBSD is being built. Does it basically mean installing FreeBSD, building and installing pacman?

Offline

#4 2014-04-25 16:42:37

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

The core packages are there, it would be enough to get an i686 chroot and absd-build supports building i686 packages. Probably better to go to the irc if you want help with the steps to proceed. irc.freenode.net #archbsd

Offline

#5 2014-04-26 08:39:44

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Amzo wrote:

The core packages are there, it would be enough to get an i686 chroot and absd-build supports building i686 packages. Probably better to go to the irc if you want help with the steps to proceed. irc.freenode.net #archbsd

Hi Amzo!

Well, IRC... I have to admit that I strongly prefer forums over it for the simple reason that what you post there stays in place and may be useful for others in the future. Another pro is that it's independent of where two people who want to communicate live (very different time zones can be a problem otherwise). But I agree that if things are getting complicated beyond two or three times of answering each other it would save a lot of time.

Anyways: Your suggestion with the chroot sounds reasonable. So I decided to set up ArchBSD (64-bit) in a VM with a fair bit of space. I followed the installation procedure recommended on the wiki except for creating a fourth partition with biggest part of the virtual hard drive. After booting up ArchBSD I formated that fourth partition and added it to fstab so it gets mounted as /i686 automatically. Because I couldn't find out which package the pacstrap script is part of (there seems to be nothing like arch-install-scripts available on ArchBSD), I rebooted the iso and pacman told me that it was not owned by any package. So I guess just copying it over should be alright.

Next I edited /etc/pacman.conf and overwrote the architecture ("i686" instead of "auto"). Pacstrapping didn't work since some dependencies were missing. I decided to download all packages installed by the default x86_64 install and build a local repository with it to get an overview of the packages involved. I could pacstrap a chrootable system by making it disregard the dependencies (-dd). However I cannot run makepkg because I have no bash. Not having gcc available (since it depends on binutils which are missing) wouldn't be so bad as clang is available thanks to "world". But without bash makepkg doesn't work so that's a blocker. Bash needs ncurses and readline - both of which are available for i686 according to the package database but are not to be found on the mirror.

Since I have a working i686 FreeBSD system in my chroot I might just build and install ncurses, readline and bash by hand. At least that would be what I'd try out tonight. If you (or anybody else) has a better idea, just let me know.

Btw: Once I have all the packages in ready - how would I build an i686 install iso? If anybody could help me to get that working, I'd write an article on that topic on the wiki, too, because I guess that it could be intersting for other people as well.

Offline

#6 2014-04-26 11:25:30

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

I just checked and see the problem. Since we still use an 'any' repository those packages are updated frequently while i686 isn't. So the dependencies for the packages needed in i686 are broke. I can upload some new packages to get the base workign again, but may take a day or two.

A new i686 world build would fix a lot, since we switched to clang, deprecated libiconv for the libc iconv functions, and the build tools would work out of the box.

Offline

#7 2014-04-26 13:18:19

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Amzo wrote:

I just checked and see the problem. Since we still use an 'any' repository those packages are updated frequently while i686 isn't. So the dependencies for the packages needed in i686 are broke.

A new i686 world build would fix a lot, since we switched to clang, deprecated libiconv for the libc iconv functions, and the build tools would work out of the box.

Ahh, I see. Well, in that case it would mean it's important that I try to keep pace building packages once everything works, right? Because partial updates can easily break the system - and doing no updates is not actually an idea that I like much.

I noticed that libiconv was missing on the list of the freebsd10-based system but 9.1 still requires it. Since it's available on the repos I simply installed it along the way.

Messed a bit with the 32-bit chroot during the last hour. Got the ports with portsnap but building anything does not really work and my FreeBSD knowledge is far too little at the time being. So I resorted to install bash via binary packages. That worked. What does not yet work, is gcc. I've installed some other packages like cloog but now compailing with gcc fails due to isl missing. And for some reason I cannot find an isl package or the library in the ports. My attempt to just use clang has also failed.

I can upload some new packages to get the base workign again, but may take a day or two.

Sounds great! I'll try to get the compiler working somehow but it's quite likely that you'll have the new packages ready before I make it. wink

Offline

#8 2014-04-26 15:20:27

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

No need to get the compiler working, to fix future issues our new world packages include binutils and clang for compiling, so once the i686 world is upgraded to 10. Building will work out of the box.

Offline

#9 2014-04-26 15:36:16

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Ok. I got the compiler working (installed a FreeBSD 9.1 i386 VM, built isl there and copied the shared object over to the other one). But I guess that it'll be best to wait for the version 10 i686 packages.

Btw: Thanks for your dedication to this project and the time you put into it! I hope that I can be a little help in packaging and that some more people give ArchBSD a spin on their older hardware once i686 is ready.

Offline

#10 2014-04-26 15:36:40

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

Though, I should have a new i686 world uploaded today. We were discussing it in IRC, and our absd-build already supports building i686 packages. We could make it build an i686 package every time we build an x86_64 package. Though, that would require getting i686 up to date with our x86_64 repository

Offline

#11 2014-04-26 19:16:44

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Amzo wrote:

Though, I should have a new i686 world uploaded today.

Great! Looking forward to it.

We were discussing it in IRC, and our absd-build already supports building i686 packages. We could make it build an i686 package every time we build an x86_64 package. Though, that would require getting i686 up to date with our x86_64 repository

Once the crucial parts of "base" are ready, I can try to build the rest of it as well as "base-devel". From that point, absd-build could be used to build everything else, right? If I can help with that, just tell me. I'd like to support ArchBSD and probably get involved in the project on the long run.

Offline

#12 2014-04-26 21:36:29

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

I added i686 repository to the repo-report, so you can track which are broken. It updates daily.

<absd|log> ==> [i686 repo-report] user-requested repo-report started...
<absd|log> ==> [repo-report] finished: [broken:50] [depend-issues:142] [file-conflicts:15] [libstdc++ linked:37]), check: http://users.archbsd.net/~blub/repo-report32/2014-04-27

Current Report

Offline

#13 2014-04-27 05:04:45

Blµb
Administrator
Registered: 2013-01-24
Posts: 57

Re: Installing on i686 hardware?

(note: The script keeps a 'current' symlink around: <http://users.archbsd.net/~blub/repo-report32/current>)

Offline

#14 2014-05-02 23:29:50

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

i686 should be usable now. It's still not on par with x86_64 yet, but it's getting there.

Look here

Offline

#15 2014-05-03 13:12:36

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Amzo wrote:

i686 should be usable now. It's still not on par with x86_64 yet, but it's getting there.

Look here

Wow! That's a lot of packages already. Thanks a lot for this! Didn't mean to increase your work load like that, though...

Just pacstrapped i686 base and base-devel and chrooted to it. As a next step I'm trying to get X11 up and running.

Guess that I'll be busy for a while with the chrooted system. Still I'm having a few more questions:

1) Is there any raw schedule when a new ArchBSD release is to be made?
2) In what shape would i686 have to be so it's worth it's own iso image (maybe labled "experimental")?
3) What could I do to make such an iso happen? (I'm ok with going my own way but coordinating actions with the ArchBSD staff may be more productive)

Progress so far:

cups-libs[cups]: Rebuilt to drop dependency on libiconv.so.3 as the libiconv package was removed after iconv moved to world (ignoring deps for now).
ghostscript: Compiles fine after cups-libs was rebuilt.
cups-filters: Having ghostscript in place this package can be built.
lynx: Built as dependency for xdg-utils. [Source URL is broken]
xmlto: Was broken. Rebuiling it with getopt as a dependency fixes the package. Needed for xdg-utils.
xdg-utils: Built as dependency for cups-libs.
cups: Rebuilt again since all dependencies are now satisfied.
libxaw: Built as dependency for graphviz.
swig: Built as dependency for graphviz.
help2man: Built as dependency for texinfo.
texinfo: Built as dependency for guile.
gc: Built as dependency for guile. [Source URL is broken]
!guile: Abort trap during build. No idea how to fix this.
postgresql-libs[postgresql]: Rebuilt because of "unknown reference" errors in libpq.so while building qt4.
qt4: Rebuilt due to iconv move to world.
graphviz: Built without guile since that package is unavailable. Needed for ruby.
doxygen: Built as dependency for ruby.
ruby: Built as dependency for vim.
vim: Built package.
presentproto: Built as dependency for xorg-server.
xorg-font-util: Built as dependency for xorg-server.
libxkbfile: Built as dependency for xorg-xkbcomp.
xorg-xkbcomp: Built as dependency for xorg-server.
libxres: Built as dependency for xorg-server.
libxtst: Built as dependency for xorg-server.
libdmx: Built as dependency for xorg-server.
libxfont: Built as dependency for xorg-server.

Last edited by kraileth (2014-05-03 19:20:44)

Offline

#16 2014-05-03 21:15:44

bkc
Administrator
Registered: 2013-06-16
Posts: 2

Re: Installing on i686 hardware?

Hi kraileth

1) Amzo is currently working on the iso, we have to rewrite the script that builds it because the old one makes broken isos ^.^
2) IMO the iso makes sense when base and base-devel are done. so one could easily install machines for testing (Amzo said something about getting xorg done, I wanted to hit him for that...)
3) erm, ISO is happening as soon as possible (and viable).

But we need testers smile that basically means enabling [testing], test the applications that you normally use, and report any bugs that you encounter (preferably with a fix attached ^.^)
We'd also like contributors. And as always one can contribute in multiple ways.
1) Add new packages. This means building and testing any package that isn't in the git-repo (I'd suggest taking a lot over at archlinux's repo for PKGBUILDs)
2) Updating stale packages. vercheck has a list of packages that are out-of-sync version-wise with ArchLinux, updating and testing those would make everyones lives easier ^.^
3) Build-boxes big_smile I'm guessing you know what that is smile
4) Repo-mirrors. Basically keeping an up-to-date mirror of the repos (don't have to include [testing] as that is updated quite frequently), would be nice for when Amzo forgets to pay the bills ^.^

Hope this answers your questions smile

// BKC

Offline

#17 2014-05-04 08:14:41

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Installing on i686 hardware?

Hi bkc!

bkc wrote:

1) Amzo is currently working on the iso, we have to rewrite the script that builds it because the old one makes broken isos ^.^
2) IMO the iso makes sense when base and base-devel are done. so one could easily install machines for testing (Amzo said something about getting xorg done, I wanted to hit him for that...)
3) erm, ISO is happening as soon as possible (and viable).

Sounds great. I'll definitely get that ISO and try it out on my old pc.

But we need testers smile that basically means enabling [testing], test the applications that you normally use, and report any bugs that you encounter (preferably with a fix attached ^.^)
We'd also like contributors. And as always one can contribute in multiple ways.
1) Add new packages. This means building and testing any package that isn't in the git-repo (I'd suggest taking a lot over at archlinux's repo for PKGBUILDs)
2) Updating stale packages. vercheck has a list of packages that are out-of-sync version-wise with ArchLinux, updating and testing those would make everyones lives easier ^.^
3) Build-boxes big_smile I'm guessing you know what that is smile
4) Repo-mirrors. Basically keeping an up-to-date mirror of the repos (don't have to include [testing] as that is updated quite frequently), would be nice for when Amzo forgets to pay the bills ^.^

Ok, understood. Since the ArchBSD system that I'm going to set up won't be a crucial environment, it's not going to be a tragedy if something breaks. Count me in for uncommenting [testing]. I might also try to help with 2) now and then. 3) and 4) are a bit out of reach for me right now. But who knows... wink

Hope this answers your questions smile

Thanks for these answers. For the time being I'm happy. *g* However there are new questions likely to arise since I'm trying to become part of this community and I'm coming from a purely Linux background without too much knowledge of BSD.

BTW about X11 on i686 (click for larger picture):

2e4k8ax.png

I've also built a light-weight desktop environment but I'm not sure everything's right with it, yet.

llvm: Commented out patch-svn-182446 since it's missing. Built as dependency for mesa.
mesa-libgl[mesa]: Updated for xorg-server.
xtrans: Updated for xorg-server.
xextproto: Updated for xorg-server.
libx11: Updated for xorg-server.
xorg-server: Built with gcc for now. Might need patches for clang.
xorg-setxkbmap: Built as dependency for xorg-server-common.
xorg-xauth: Built as dependency for xorg-xinit.
xorg-xinit: Built package.
xf86-video-vesa: Built with gcc for now. Might need patches for clang.
xorg-twm: Built package.
xorg-luit: Built as dependency for xterm.
xterm: Built package.
xf86-input-keyboard: Built package.
xf86-input-mouse: Built package.
xorg-xclock: Built package.
fltk: Built with gcc for now.
edelib: Built with gcc for now. Dependency of ede.
ede: Built with gcc for now.

Offline

#18 2014-05-05 17:21:19

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Installing on i686 hardware?

You can give the i686 ISO a try now as it needs testing. Should get you up and running with a basic install.

ftp://ftp.archbsd.net/iso/2014-05-05/Ar … 140505.iso

Offline

Board footer

Powered by FluxBB