Kernel The Arch Way

Hi,
after some problems with alsa and #archlinux irc talk I decided to try and build my own kernel. As I see it's lot of learning. I already read The Arch Way, ABS - The Arch Build System, The Arch package making HOW-TO - with guidelines, man makepkg, dependencies thread, makepkg/abs tutorial thread, PKGBUILD help, Arch CVS & SVN PKGBUILD guidelines, Arch Packaging Standards, Kernel Compilation, Kernel Compilation with ABS, Custom Kernel Compilation with ABS, Kernel Patches and Patchsets. And at last I read this thread and I feel the same... Btw I thing kernel compilation also has lots to do with mkinitcpio, right?
I want to build kernel that would have all necessary stuff for my hw configuration built in. Thats the fastest boot, right? But actually all this wiki stuff got me more confused than I was before .
What would be the best way? I know all the hw details, so just do 'make menuconfig' and select everything as built in (*), maybe add some patches and automate this using one of example PKGBUILDs?
I'm still reading forums and googling but I believe some of you can point me faster.

It is a bit of learning at first.  Once you understand how it works it's very simple.  There is no shortcut, I'm afraid, it seems like you're looking for one...  If there was one it would be outlined in the wiki most likely.
As far as building kernel with all the hw stuff built in...  IMO, it's not a good idea.  This is something that needed to be done in the past when there was no way to autoload system specific modules at boot.  Boot time benefits would be negligible.  The kernel wouldn't be any faster either.  And you would have to recompile every time there is a kernel update if you wanted to keep up with Arch repos - the net result would be wasting time and speed.
Kernel compilation itself has nothing to do with mkinitcpio - mkinitcpio is only necessary to generate boot image which happens after the kernel is already compiled; pacman will do it for you completely automatically if you customize the Arch kernel PKGBUILD instead of compiling manually.

Similar Messages

  • The most Arch way of changing MAC before starting the network

    Hello friends! Congrats to me , today I'm entering the Arch World!
    Before installing on real hardware, I decided to give it a try in VirtualBox. I'm excited, Arch is so simple and cool!
    I have 3 questions so far.
    1. My provider locks the accounts to MAC addresses, so I must set the correct one before contacting the dhcp server of the provider, where should I insert the mac changing command or maybe I must create a script and execute in the DAEMONS section of the rc.conf before the network?
    2. Currently I'm running other Linux distribution and I have several XFS filesystems which I want to keep (i.e. mounted under /opt, /data/music, /data/vm, etc..) and some other XFS partitions which I would like to format for using with Arch (i.e. /boot, /home, /, /usr, /var) and also would like to encrypt them (and also the swap). How can I do that? And is it possible to encrypt also the partitions where there is already some data (e.g. /data/docs)?
    3. Do I need separate /usr/local ? For example, under DragonFly BSD the user installed packages are going to /usr/local, the original system ones are in /usr, so it's OK to have a small /usr and a large /usr/local, but for example, in Ubuntu everything go to /usr and /usr/local remains unused. What about Arch?
    Thank you.
    Added after 5 minutes:
    Oh, I forgot to ask about one more thing, is there some way of installing Arch without IPv6 support or I must disable it after installation? Thanx.
    Last edited by arch_archer (2010-05-19 23:13:07)

    ipv6 is a kernel module (there's a bunch of net modules, for different protocols like bluetooth), and you can blacklist it after you install to keep it from being loaded
    http://wiki.archlinux.org/index.php/IPv … the_Module
    also, the only thing that's going to end up in /usr/local is stuff you put there yourself (scripts, etc), the arch way is to use pkgbuilds/makepkg rather than make and make install, so afaik the only things that might end up there by installing things are symlinks to /opt in a few packages
    EDIT: about /usr, unless you plan on mounting it as read-only or different mount options than /, I would just leave it as part of / (just a personal preference though)
    EDIT2: here's an article on encryption, you might find what you need there http://wiki.archlinux.org/index.php/Sys … r_dm-crypt
    Last edited by thestinger (2010-05-19 23:21:30)

  • [SOLVED] Network Manager & Arch Way

    Hi All
            I am a noob Arch user. I installed Arch with Gnome 3 recently. I used to manually connect to WiFi for the first few days (just for fun) and then I decided to go with the netfcg+newlan way. I found it to be really slow. I then decided to take the information on Arch Wiki (that says network manager is faster) and installed network manager + nm-applet. I had no issues with WiFi configuration. Everything works for me. But I don't know what network manager is doing. I can know that if I want to. But why use a tool that hides things from me. Philosophically speaking, isn't network manager against the true Arch way? What do experienced Arch users think of this?
    V
    Last edited by skmarch (2011-06-23 04:54:47)

    I did install it and it has been "bothering" me that I don't know whats behind this GUI. I simply clicked a few buttons and the network connected. Thats awesome. But I left ubuntu for the same reason: I don't know whats going on. I don't want to be dumbed down. On the other hand, I really did not like the netcfg way. It is slow. And since this is my laptop which I sometimes take to school, I want the ability to connect to different networks (with different security types, especially WPA). So netcfg with net-profiles seems like a good option (or network manager). There was no comment on the wiki about the speed of Wicd: https://wiki.archlinux.org/index.php/Wi … nt_methods
    According to https://bbs.archlinux.org/viewtopic.php?id=117754 Wicd is better. But once again no comment on the speed. I want internet as soon as the laptop boots. Network manager does that. But to me, as a purist, its not in the Arch way. I want something with more control and more configurability.
    So once again: Is Wicd faster than network manager?
    Last edited by skmarch (2011-06-22 22:44:01)

  • Wondering if this was the correct way to patch my kernel for CFLAGS?

    Hello. I use to build the zen-sources kernel but stopped many months ago. I didn't really need all of those patches but I did miss the Custom CFLAGS/MAKEFLAGS option that the zen kernel had. I also missed the 432HZ Timer frequency setting available in the zen patch.
    So I researched a bit and grabbed these parts from the zen patch to add to the Arch kernel:
    For the CFLAGS/MAKEFLAGS
    diff --git a/Makefile b/Makefile
    index 1ab3ebf..472fe73 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -328,13 +328,12 @@ CHECK = sparse
    CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
    -Wbitwise -Wno-return-void $(CF)
    MODFLAGS = -DMODULE
    -CFLAGS_MODULE = $(MODFLAGS)
    -AFLAGS_MODULE = $(MODFLAGS)
    -LDFLAGS_MODULE =
    -CFLAGS_KERNEL =
    +CFLAGS_MODULE = $(MODFLAGS) $(CUSTOM_CFLAGS)
    +AFLAGS_MODULE = $(MODFLAGS)
    +LDFLAGS_MODULE =
    +CFLAGS_KERNEL = $(CUSTOM_CFLAGS)
    AFLAGS_KERNEL =
    # Use LINUXINCLUDE when you must reference the include/ directory.
    # Needed to be compatible with the O= option
    LINUXINCLUDE := -Iinclude \
    @@ -344,6 +343,9 @@ LINUXINCLUDE := -Iinclude \
    KBUILD_CPPFLAGS := -D__KERNEL__
    +# Apply custom flags
    +KBUILD_CFLAGS += $(CUSTOM_CFLAGS)
    +
    KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
    -fno-strict-aliasing -fno-common \
    -Werror-implicit-function-declaration
    diff --git a/init/Kconfig b/init/Kconfig
    index 6a5c5fe..7b2f4b5 100644
    --- a/init/Kconfig
    +++ b/init/Kconfig
    @@ -672,6 +734,32 @@ config CC_OPTIMIZE_FOR_SIZE
    If unsure, say Y.
    +menu "Custom Build Flags"
    +
    +config CUSTOM_CFLAGS
    + string "Custom CFLAGS for kernel"
    + default ""
    + help
    + You can use this to easily set custom gcc CFLAGS to be used for the
    + entire kernel (including modules).
    +
    + No warning for you, i can't fix stupidity.
    +
    + If unsure, leave blank.
    +
    +config CUSTOM_MAKEFLAGS
    + string "Custom MAKEFLAGS for kernel"
    + default ""
    + help
    + You can use this to easily set custom MAKEFLAGS to be used for building
    + the entire kernel.
    +
    + (Or just use the options when you run make?)
    +
    + If unsure, leave blank.
    +
    +endmenu
    +
    config SYSCTL
    bool
    and for the Timer frequency:
    diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
    index 94fabd5..7a830d4 100644
    --- a/kernel/Kconfig.hz
    +++ b/kernel/Kconfig.hz
    @@ -4,7 +4,7 @@
    choice
    prompt "Timer frequency"
    - default HZ_250
    + default HZ_1000
    help
    Allows the configuration of the timer frequency. It is customary
    to have the timer interrupt run at 1000 Hz but 100 Hz may be more
    @@ -23,6 +23,30 @@ choice
    with lots of processors that may show reduced performance if
    too many timer interrupts are occurring.
    + config HZ_108
    + bool "108 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Eight core/Processor systems only
    + as timer frequencies * NR_CPUS = actual frequency.
    + Try this if you have a Eight Core/Processor processor system and a desktop environment.
    +
    + config HZ_144
    + bool "144 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Six Core/Processor systems only
    + as timer frequencies * NR_CPUS = actual frequency.
    + Try this if you have a Six core/processor system and a desktop environment.
    +
    + config HZ_216
    + bool "216 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Quad-core/Processor systems only
    + as timer frequencies * number of processors = actual frequency.
    + Try this if you have a quad-core/dual processor system and a desktop environment.
    +
    config HZ_250
    bool "250 HZ"
    help
    @@ -39,6 +63,22 @@ choice
    on SMP and NUMA systems and exactly dividing by both PAL and
    NTSC frame rates for video and multimedia work.
    + config HZ_432
    + bool "432 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. This is for Dual Core/Processor systems only
    + as timer frequencies * number of processors = actual frequency.
    + Try this if you have a dual-core/dual processor system and a desktop environment.
    +
    + config HZ_864
    + bool "864 HZ"
    + help
    + 864 HZ is the best value for desktop systems. Most responsive
    + out of all the options. The only reason it is not default is
    + because it may break few drivers. Give it a try if you have
    + a desktop :).
    +
    config HZ_1000
    bool "1000 HZ"
    help
    @@ -50,8 +90,13 @@ endchoice
    config HZ
    int
    default 100 if HZ_100
    + default 108 if HZ_108
    + default 144 if HZ_144
    + default 216 if HZ_216
    default 250 if HZ_250
    default 300 if HZ_300
    + default 432 if HZ_432
    + default 864 if HZ_864
    default 1000 if HZ_1000
    config SCHED_HRTICK
    Well the code was added to my make menuconfig kernel settings, and is in the .config of my newly compiled kernel..... I'm just wondering if I did this correctly. (I'm pretty sure that I did a crappy job of patching since I just grabbed the pieces of the zen patch that I thought were the correct one)..... This is the message from the patch:
    patching file Makefile
    patching file init/Kconfig
    patch unexpectedly ends in middle of line
    Hunk #1 succeeded at 734 with fuzz 2.
    patching file kernel/Kconfig.hz
    patch unexpectedly ends in middle of line
    Hunk #4 succeeded at 90 with fuzz 1.
    So if someone can tell me a better way to patch the kernel26 for custom CFLAGS and 432HZ Timer frequency (for dual core) I would appreciate it. Thanks.

    I'm still trying to find out if I needed to patch any other parts of the kernel source when I added CFLAGS to the kernel modules? I also would like to know if I did the Timing part correctly (so I could use the 432HZ setting for a dual core).
    ..... so far this kernel has worked ok for the last 4 days. Does anybody know how I can benchmark it and compare it to other kernels that I have built with different settings?
    Any info is appreciated.
    Last edited by methuselah (2009-05-19 15:20:55)

  • What is the best way to make a custom arch install cd?

    Hello, before I start I should mention that I have been reading about various tools and looking at wiki articles.  But I have had some trouble getting started.
    What I would like is an install cd that installs the packages I choose.  I'd like this to be either automatic, or allow me to select the packages I want (which are presumably on the cd), just like in the normal way of installing arch perhaps, maybe.
    I'd just like a way of installing arch, the way it is set up now, with minimal hassle, no internet access, just pop the cd in and out comes archlinux with a nice desktop environment so I can give it to my mum without having to travel hundreds of miles to install it for her.
    "just pop the cd in and out comes archlinux with a nice desktop environment" -Ahahahahahaha, I hear you react.  Well, you know, at least I would like it to be no MORE difficult than the standard install procedure. 
    For example, is there no way I can just download the .pkg.tar.gz files I want, add 'em to the fracking archlinux iso I download from here, meddle about with a config file so pacman knows where to find the additional pkg.tar.gzips, and then run a script afterwards to copy a few configuration files to the relevant locations?  No?  Won't work? 
    At least, I have not discovered a way to do this yet.  Please can someone get me started?
    Should I maybe start HERE?
    http://wiki.archlinux.org/index.php/Qui … stallation
    It says it "may contain old, confusing and wrong information" -how unusual... 
    Larch looks pretty good, will this do what I want?
    I actually think larch is definitely the answer.  I'm gonna mark it solved.  Even though I will probably have some trouble with it.  Sorry for asking this question for the hundredth time, but, well, the forums were down yesterday (the day I was trying to do this, obviously).
    Maybe I'll leave it unsolved until I get specific errors...
    Last edited by darkbeanies (2009-09-01 16:44:00)

    darkbeanies wrote:
    Yeah, I like xfce, but I'd give her the excellent chakra if I was going to give her a ready made thing, which I might do if things go wrong...
    But that isn't what I'm trying to do.  I want to learn how to build an install disc, too.  It takes me a long time to get arch up and running.  I would like to know how to automate it so that I end up with my own personal humble distribution.
    I realize there are many alternatives to doing what I am trying to do. But there are a hundred reasons I can think of why a custom archlinux install cd made by me that goes "do you want to install y/n" and then you press y and it formats the disk, shoves the stuff on and then it works would be the best option.
    This assumes, of course, that my mum can plug in the computer, monitor, mouse, keyboard and speakers, insert the disc and press y, all of which are long shots.
    Anyway, I'm making some progress with larch now.  I can roughly see how it's going to work, it's pretty straightforward, so it would seem.
    Thanks!
    Yeah I see your point. I like archiso because he has a barebone option there, and you can build it the way you like it from there. I just had trouble getting Arch to run for me, so his iso was just easier as I am very unlearned in linux, and at 63 I dont have a lot of time, or energy to learn what it seems everyone but me knows. I still have to work to earn a living, and with a limited education I may be more dense than alot of the younger folks on here, so this just made it a little easier for me. Good luck with it, I hope you get what your after.
    Maybe have a look at ISOMaster too, it seems simple enough to use.
    Last edited by regibbs1 (2009-09-01 22:40:45)

  • Working with my 2 FireWire HD i had a crash. the only way to start was a safe start. then id maged to start from a DVD and install a MAC OS 10.3 wich ran 4 some time then the same problem only safeMode. kernel panic inserted the tech tool DVD

    working with my 2 FireWire HD i had a crash. the only way to start was a safe start. then id maged to start from a DVD and install a MAC OS 10.3 wich ran 4 some time then the same problem only safeMode. kernel panic by inserting the tech tool DVD, wich produces the following highligted text:
    panic(cpu 0 caller =xffff0003): 0x300 - Data access
    latest stack backtrace for CPU 0:
    Backtrace:
    0x0009CC88 0x00D63C 0x00029DAO  0x000BOA10 0x000B4270
    proceeding back via exception chain:
    Exception state (sv=0x26acd700)
    PC=0x2717E900; MSR=0x00009030; DAR=0x00000000; DSISR=0x40000000; LR=0x2717EBE4; R1=0x26AD3AE0; XCP=0x0000000C (0x300 - Data access)
    Backtrace:
    0x27178B0 0x00344ACB 0x00345970 0x2717EC08 0x2718458 0x00340590
    0x003496EC 0x0034B59C 0x0034A6BC 0x000B1DD4
    Kernel Loadable modules in backtrace (with dependencies):
    com.apple.driver.AppleFWDHC1(3.9.5)00x2717c000->0x271aafff
    dependency: com.apple.iokit.10PCIFamily(2.6)00x1e840000
    dependency: com.apple.iokit.I0FireWireFamily(3.4.7)00x270dd000
    Exception state (sv=0x26abd280)
    PC=0x00000000; MSR=0x0000D030; DAR=0x00000000; DSISR=0x00000000; LR=0x00000000;R1=0x00000000; XCP=0x00000000 (unknown)
    BSD process name corresponding to current thread: kernel_task
    so what
    greetings from berlin

    Greetings,
    It appears to be a FW problem, possibly flaky case, or drive problem.
    One way to test is to Safe Boot from the HD, (holding Shift key down at bootup), run Disk Utility in Applications>Utilities, then highlight your drive, click on Repair Permissions, Test for problem in Safe Mode...
    PS. Safe boot may stay on the gray radian for a long time, let it go, it's trying to repair the Hard Drive
    Reboot, test again.
    If it only does it in Regular Boot, then it could be some hardware problem like Video card, (Quartz is turned off in Safe Mode), or Airport, or some USB or Firewire device, or 3rd party add-on, Check System Preferences>Accounts (Users & Groups in later OSX versions)>Login Items window to see if it or something relevant is listed.
    Check the System Preferences>Other Row, for 3rd party Pref Panes.
    Also look in these if they exist, some are invisible...
    /private/var/run/StartupItems
    /Library/StartupItems
    /System/Library/StartupItems
    /System/Library/LaunchDaemons
    /Library/LaunchDaemons

  • What's the right way to get in touch with devs? arch-general list?

    tl;dr version: skip to the questions at the bottom
    Today I saw an unfortunate thing happen during the Bug Day proceedings. It surprised me to see it, because the knowledge needed to avoid the problem was made available in advance. Bear with me as I tell a story, so I can point out an example of what looks like a communication problem between users and devs.
    A while back, I sent mail to arch-general giving advance notice of upcoming releases (within the next two days) for some xiph.org software (libogg, libvorbis, libao, and vorbis-tools). No one responded to it. That's not really a problem - after all, there wasn't any work to be done yet, since the releases weren't finalized yet.
    When the releases happened, I flagged them out of date as usual, and provided extra details to avoid difficulty with the upgrades (whether rebuilds were needed, and which upgrades depended on which other upgrades). One package belonged to Snowman, two to Tobias K, and the last (and most difficult) to Hugo D. I knew Hugo was no longer a dev, and later saw that Eric was going inactive also. (I don't know Tobias K's status.) That's probably part of the problem - this info getting lost since it wasn't sent to the same devs who later did the upgrades. (I guess the "multiple owners" feature should help alleviate this problem.)
    A few days back, I sent another mail to arch-general. I admit that I was nagging a bit, though I do believe that I was contributing helpful info - mostly the same as I put in the flagging messages. Again, no one responded. Not exactly nice, but again, not wrong either. You'll get to it when you get to it, and I can (and did) do these rebuilds for myself. Note that I'm NOT complaining about a week or two lag in updating packages - that's perfectly reasonable, and I'd be a huge jerk to make noise about that.
    Today, bash was doing upgrades to close bugs, with help on IRC from Pierre and wonder. One of those packages was libvorbis, and he wondered if a rebuild would be needed. I knew for sure that it wasn't, and told him so, which he acknowledged with a "thank you". He then went on to duplicate my research, which felt a little odd to me. In the end, this package was upgraded perfectly fine.
    The other package he upgraded was vorbis-tools. Unfortunately, building that against the old libao in [extra] generates an incomplete package, missing ogg123. When I saw this problem, I opened a bug, and had it handled exactly as I thought it should have been. The end result was fine.
    Now, the point here is that I had identified the dependency of the new vorbis-tools on the new libao in several of my previous messages, and reading those could have saved some trouble. It's reasonable that no one working this on IRC today saw my flagging messages, since I understand that those only go to the maintainer. However, my second mail to arch-general was definitely available, and based on what happened today, no one it would have been useful to, actually read it. That's a communication breakdown, and that means somebody did something wrong. It's entirely likely that it was me, and I want to know the solution.
    I've always believed that arch-general is the best way for an ordinary user to get in touch with "the devs" as a body. Many devs don't go on IRC, and it's a bit too busy in there most of the time anyway. Many devs also don't hang out here on the forums, and that's easy to understand as well, given how high-volume they are now. The bug tracker generally gets excellent dev responses, in terms of both timeliness and quality, but it's not appropriate for communications that are not bugs. All devs seem to read arch-dev-public, but users like myself of course can't post there.
    So arch-general has to be it. In fact, I always thought that was the intended purpose of that list. Until recently, it was a low-volume list. Lately, it's grown quite a bit, and is starting to resemble these forums: general tech support questions (some of them stupid), users plugging their own creations, and just chatter. (There are a small handful of posters accounting for a great deal of the noise.) I keep wanting to tell them to take it to the forums, but restrain myself as I'm not really sure if I'm right about their posts not being appropriate for the list. I'd leave the list, as it now annoys me, but then I can't reply to things posted on arch-dev-public. (Probably what I'll really do if this keeps up is stop using [testing], so I can do away with both of those lists. Oh well.)
    Now, the questions here:
    - Are devs also dropping out of arch-general because of the increasing noise, and is that why my second mail got lost?
    - Are the "noisy" posters abusing the list, and should they be told to go to the forums instead?
    - Is arch-general actually intended as the primary way for users to talk to devs?
    - If so, how to fix it so it works that way again?
    - If not, where should I have been sending messages like the ones I linked to in this post?

    I think almost every dev is on arch-general, so that is the place to contact the group in general.  Specific points can probably be emailed to the dev involved, if one is identifiable and if the bug tracker is not a better place (bug reports to my email get ignored).
    I think the whole problem here is that there is really no dev in charge of that package.  So your emails were probably seen then skipped over by all devs thinking not my problem...  (I know that is true for me).   Then Andrea noticed an "orphan" package that needed updated and went ahead with it without connecting it to your previous emails, which is unfortunate.
    Now our maintainer backend is fixed, hopefully we can get all the orphan packages adopted out, or at least know if we need to bring on new people to maintain them.  That way, there should always be someone who information about specific packages should be sent to.

  • Automated install Arch x86_64 root-file system the "Raspberry" way..

    Dear Archers,
    I am currently deeply interested in installing Arch as dual boot on my
    current x86_64 system.
    And yes, there is plenty information regarding this subject in Arch wiki's.
    However...
    I would like to automate the installation the "Raspberry-Pi" -way.
    Details on the "Installation tab" of:
    http://archlinuxarm.org/platforms/armv6/raspberry-pi.
    As you can see, the installation steps are easy to automate, in my opinion.
    That's why I wrote an automation script for this purpose..
    The information further suggests that there is a root-filesystem for
    Arch named: 'ArchLinuxARM-rpi-latest.tar.gz.'
    Unfortunately, I don't think this root system will function on x86_64 systems..
    So I researched if there was a root filesystem for Arch x86_64 and found filenames like 'root-image.fs.sfs' 'core.db' 'core.img'.
    But I'm unsure if these archives/images really contain a rootfilesystem similar to the ArchARm system.
    Therefore my question:
    Does anybody know if there is a similar root filesystem for x86_64 so I can reproduce the "rpi-way" installation for x86_64 systems?
    Kind regards,
    Kees Epema

    You are definitely not going to be able to simply dd arch to your machine unless you create an image to do so.  Even then, that image would become old and stale pretty quickly, possibly leading to problems getting the system up to date.
    In my opinion, the raspberry pi way to simply dd'ing an image to an SD card is a disservice to the ArchlinuxARM users.  Though seemingly the proper way to get a system running on a raspberry pi, it masks the install process and leaves the user without a clue as to what would have gone into creating the system.
    Go read the beginners guide.  Use a virtual machine to practice if you need.  Shortcuts are not going to help you with Arch.

  • What would be the best way to install Arch, if I have Broadcom wifi?

    I can boot into an Arch USB disk, but I can't connect to the Internet, since my laptop doesn't have ethernet and the wifi card is Broadcom, which requires the `broadcom-wl` package. What would be the easiest way of proceeding with this install? On IRC, I was advised to either: (1) boot into another distro, connect to the Internet there, then chroot into the Arch USB image, and download the additional packages from there, or (2) download the `broadcom-wl` package from the AUR, and a build environment, transfer these files to the USB system, and then compile and install the module there. Both of these solutions seems rather complicated to me. With (1), I was having difficulty mounting the arch .img as a drive using Ubuntu, since Ubuntu's `mount` command needs a filetype, and didn't seem to like any of the filetypes I tried. With (2), I have a feeling this would be fairly complicated--I'm not sure which binaries I can install for my system, or how to install packages that I downloaded offline.

    I was having difficulty mounting the arch .img as a drive using Ubuntu, since Ubuntu's `mount` command needs a filetype
    Not sure what you mean?
    I too had issues with my internet, eventually I installed arch from Ubuntu. I used bootstrap image and it worked as advertized in the wiki.
    EDIT: If you using Ubuntu then don't forget to create '/run/shm' otherwise pacstrap will fail.
    Last edited by fantab (2014-10-29 04:17:46)

  • What is the best way to upgrade to a new kernel?

    I would like to upgrade to the new kernel: kernel26-2.6.23.14-1 from the one from core (on the CD).
    What is the best way to do this? Also, is there a way to find out what is new / has changed in the new kernel?
    Thanks for any insights.

    Gilneas wrote:
    Surely you have tried pacman -Syu?
    Kernel changelogs are on kernel.org. Perhaps it's more interesting to read articles on kerneltrap.org though.
    I have had a kernel panic one time I upgraded a kernel. I had to walk back step-by-step to backtrack what I did.
    I basically uninstalled the nv kernel driver for xorg and installed the proprietary drivers from their website (which I shouldn't have uninstalled nv drivers, but nonetheless I learned from it). But, somehow I think one of the packages I installed automatically upgraded to the lastest kernel. When I reverted to the properietary drivers it somehow uninstalled the latest kernel. The key thing I learned was "install the right drivers the first time!" But, yes, I know about "Pacman -Syu" in general, but didn't know that was the appropriate way to do it. It's just my two cents.
    Last edited by smitty (2008-02-05 12:28:48)

  • [Solved] What's the best way for me to help with Arch?

    I've been using Linux for about 10 years and Arch for a little over a year.  I used to do a lot of distro-hopping but I've found that since finding Arch, I haven't been doing much of that.  I don't know why it took me so long to find it.
    Anyway, I'd like to give back a little so what's the best way for me to help?  I'm not a programmer so I'd be no help there.  I have made a couple contributions to the wiki and filed a bug.  I know that kind of stuff is easy and obvious.  Is there anything else I could be doing?
    Last edited by brianhanna (2010-04-07 02:25:34)

    I hear the Arch Linux Magazine could always use some contributions, if you're inclined towards that sort of thing. I've been wanting to write an article for a while, but I've not run into anything in my Arch experience so far that's really inspired an article out of me.

  • Will the Arch Kernel be patched soon?

    Just posting this not for my sake but to ask on behalf of the arch community.
    Just earlier today or late yesterday a hole in the kernel was discover in ptrace. this hole can allow a user to seize root without authentication. note this hole cannot be exploited remotely (apparently).
    alan cox and crew have made a patch to fix this hole. Red Hat has patched their kernel will arch do the same soon?

    local-file) linux-2.4.20-ptrace-patched.tar.bz2
    (remote-file) linux-2.4.20-ptrace-patched.tar.bz2
    local: linux-2.4.20-ptrace-patched.tar.bz2 remote: linux-2.4.20-ptrace-patched.tar.bz2
    200 PORT command successful.
    150 Opening BINARY mode data connection for linux-2.4.20-ptrace-patched.tar.bz2.
    if is useful tp someone i m uploading as i "speek"
    hope i can do this if its well done no problem ?
    hum ..... can i build stuff and place it in incomig ?

  • Possible bug in the arch NFS server package?

    i run the nfs server on my arch box, exporting to a debian box and an arch laptop. whenever the arch server reboots lately, the shares don't automatically remount properly on the clients. they're listed in mtab, but if i ls or try to access the directories, i get a permission denied error. i have to manually unmount the shares and then remount them again to be able to see/use them.
    the reason i think this is an arch package problem is because i set up a share on the debian box to share with arch, and that worked perfectly. when i rebooted debian as the server, the shares were automatically remounted on the arch client, and when i rebooted arch, the shares were again mounted properly on reboot.
    it's possible i'm doing something wrong with permissions, but it seems unlikely because 1) everything was working fine for a long time until recently, when i started noticing the behavior,  2) all the permissions on the shared directory are identical to the ones on the arch shared directory, all user name UIDs are the same, same groups and GIDs, etc., 3) the shares mount perfectly well manually from the command line, and 4) i set up the debian share/exports, etc. in about 2 minutes with no problem at all, while dealing with this problem on arch for 2 days now, after changing options and going over everything multiple times until my head is spinning. it just seems unlikely that a configuration is wrong, although i guess anything is possible. i can provide all that permissions/group info, fstab info, /etc/exports info, etc. if anyone wants to take a closer look at it.
    so until this is sorted, i wondered if anyone else is having this problem, or if anyone had any ideas of something i might be overlooking. again, everything *seems* to be set up right, but maybe there's some arch specific thing i'm overlooking. thanks.

    Ok out of pure fustration I just grabbed the gentoo init script. Installed start-stop-daemon, modified the script to run as #!/bin/bash, stuck it in /etc/rc.d, rebooted and everything works, I can reboot my computer and clients reconnect. Or restart daemon and they reconnect.
    Heres the script I am using.
    #!/bin/bash
    # Copyright 1999-2005 Gentoo Foundation
    # Distributed under the terms of the GNU General Public License v2
    # $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfs,v 1.14 2007/03/24 10:14:43 vapier Exp $
    # This script starts/stops the following
    # rpc.statd if necessary (also checked by init.d/nfsmount)
    # rpc.rquotad if exists (from quota package)
    # rpc.nfsd
    # rpc.mountd
    # NB: Config is in /etc/conf.d/nfs
    opts="reload"
    # This variable is used for controlling whether or not to run exportfs -ua;
    # see stop() for more information
    restarting=no
    # The binary locations
    exportfs=/usr/sbin/exportfs
    gssd=/usr/sbin/rpc.gssd
    idmapd=/usr/sbin/rpc.idmapd
    mountd=/usr/sbin/rpc.mountd
    nfsd=/usr/sbin/rpc.nfsd
    rquotad=/usr/sbin/rpc.rquotad
    statd=/usr/sbin/rpc.statd
    svcgssd=/usr/sbin/rpc.svcgssd
    mkdir_nfsdirs() {
    local d
    for d in /var/lib/nfs/{rpc_pipefs,v4recovery,v4root} ; do
    [[ ! -d ${d} ]] && mkdir -p "${d}"
    done
    mount_pipefs() {
    if grep -q rpc_pipefs /proc/filesystems ; then
    if ! grep -q "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
    mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
    fi
    fi
    umount_pipefs() {
    if [[ ${restarting} == "no" ]] ; then
    if grep -q "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
    umount /var/lib/nfs/rpc_pipefs
    fi
    fi
    start_gssd() {
    [[ ! -x ${gssd} || ! -x ${svcgssd} ]] && return 0
    local ret1 ret2
    ${gssd} ${RPCGSSDDOPTS}
    ret1=$?
    ${svcgssd} ${RPCSVCGSSDDOPTS}
    ret2=$?
    return $((${ret1} + ${ret2}))
    stop_gssd() {
    [[ ! -x ${gssd} || ! -x ${svcgssd} ]] && return 0
    local ret
    start-stop-daemon --stop --quiet --exec ${gssd}
    ret1=$?
    start-stop-daemon --stop --quiet --exec ${svcgssd}
    ret2=$?
    return $((${ret1} + ${ret2}))
    start_idmapd() {
    [[ ! -x ${idmapd} ]] && return 0
    ${idmapd} ${RPCIDMAPDOPTS}
    stop_idmapd() {
    [[ ! -x ${idmapd} ]] && return 0
    local ret
    start-stop-daemon --stop --quiet --exec ${idmapd}
    ret=$?
    umount_pipefs
    return ${ret}
    start_statd() {
    # Don't start rpc.statd if already started by init.d/nfsmount
    killall -0 rpc.statd &>/dev/null && return 0
    start-stop-daemon --start --quiet --exec \
    $statd -- $RPCSTATDOPTS 1>&2
    stop_statd() {
    # Don't stop rpc.statd if it's in use by init.d/nfsmount.
    mount -t nfs | grep -q . && return 0
    # Make sure it's actually running
    killall -0 rpc.statd &>/dev/null || return 0
    # Okay, all tests passed, stop rpc.statd
    start-stop-daemon --stop --quiet --exec $statd 1>&2
    waitfor_exportfs() {
    local pid=$1
    ( sleep ${EXPORTFSTIMEOUT:-30}; kill -9 $pid &>/dev/null ) &
    wait $1
    case "$1" in
    start)
    # Make sure nfs support is loaded in the kernel #64709
    if [[ -e /proc/modules ]] && ! grep -qs nfsd /proc/filesystems ; then
    modprobe nfsd &> /dev/null
    fi
    # This is the new "kernel 2.6 way" to handle the exports file
    if grep -qs nfsd /proc/filesystems ; then
    if ! grep -qs "^nfsd[[:space:]]/proc/fs/nfsd[[:space:]]" /proc/mounts ; then
    mount -t nfsd nfsd /proc/fs/nfsd
    fi
    fi
    # now that nfsd is mounted inside /proc, we can safely start mountd later
    mkdir_nfsdirs
    mount_pipefs
    start_idmapd
    start_gssd
    start_statd
    # Exportfs likes to hang if networking isn't working.
    # If that's the case, then try to kill it so the
    # bootup process can continue.
    if grep -q '^/' /etc/exports &>/dev/null; then
    $exportfs -r 1>&2 &
    waitfor_exportfs $!
    fi
    if [ -x $rquotad ]; then
    start-stop-daemon --start --quiet --exec \
    $rquotad -- $RPCRQUOTADOPTS 1>&2
    fi
    start-stop-daemon --start --quiet --exec \
    $nfsd --name nfsd -- $RPCNFSDCOUNT 1>&2
    # Start mountd
    start-stop-daemon --start --quiet --exec \
    $mountd -- $RPCMOUNTDOPTS 1>&2
    stop)
    # Don't check NFSSERVER variable since it might have changed,
    # instead use --oknodo to smooth things over
    start-stop-daemon --stop --quiet --oknodo \
    --exec $mountd 1>&2
    # nfsd sets its process name to [nfsd] so don't look for $nfsd
    start-stop-daemon --stop --quiet --oknodo \
    --name nfsd --user root --signal 2 1>&2
    if [ -x $rquotad ]; then
    start-stop-daemon --stop --quiet --oknodo \
    --exec $rquotad 1>&2
    fi
    # When restarting the NFS server, running "exportfs -ua" probably
    # isn't what the user wants. Running it causes all entries listed
    # in xtab to be removed from the kernel export tables, and the
    # xtab file is cleared. This effectively shuts down all NFS
    # activity, leaving all clients holding stale NFS filehandles,
    # *even* when the NFS server has restarted.
    # That's what you would want if you were shutting down the NFS
    # server for good, or for a long period of time, but not when the
    # NFS server will be running again in short order. In this case,
    # then "exportfs -r" will reread the xtab, and all the current
    # clients will be able to resume NFS activity, *without* needing
    # to umount/(re)mount the filesystem.
    if [ "$restarting" = no ]; then
    # Exportfs likes to hang if networking isn't working.
    # If that's the case, then try to kill it so the
    # shutdown process can continue.
    $exportfs -ua 1>&2 &
    waitfor_exportfs $!
    fi
    stop_statd
    stop_gssd
    stop_idmapd
    umount_pipefs
    reload)
    # Exportfs likes to hang if networking isn't working.
    # If that's the case, then try to kill it so the
    # bootup process can continue.
    $exportfs -r 1>&2 &
    waitfor_exportfs $!
    restart)
    # See long comment in stop() regarding "restarting" and exportfs -ua
    restarting=yes
    svc_stop
    svc_start
    echo "usage: $0 {start|stop|restart}"
    esac
    exit 0

  • GRUB 10_linux patch - what's the best way to share?

    New to Arch but not Linux. So, trying this adventure called Arch and one of the things that annoyed me right away is how GRUB discovers the kernels when you have both 'linux' and 'linux-lts' installed (primary and backup per the wiki) without version numbers. I created a simple patch so that natural alpha sorting order is used and 'linux' becomes the default kernel (both with/without submenu enabled). This seems to me what the average user is probably looking for by default, not the 'linux-lts' kernel (the problem is in how the internal version comparison routines work in /usr/share/grub/grub-mkconfig_lib - they don't expect a list of kernels with *no* versions in the names).
    Should I:
    Post on the GRUB Discussion page
    Post on the main GRUB wiki page as a new item
    Post to the GNU GRUB bugtracker and hope
    Not sure what's considered the right way to go about it in this community, guidance? Thx!
    --- 10_linux.orig 2014-05-14 01:22:27.000000000 -0500
    +++ 10_linux 2014-06-21 13:20:37.816869963 -0500
    @@ -177,7 +177,16 @@
    is_top_level=true
    while [ "x$list" != "x" ] ; do
    - linux=`version_find_latest $list`
    + # version_find_latest returns 'linux-lts' before 'linux' on the average
    + # Arch install of these two kernels, we'll first check if there are any
    + # numerics in the kernels, and if not just pop them off the stack in
    + # natural alpha sorting order.
    + if [ $(echo $list | grep -q '[0-9]') ]; then
    + linux=`version_find_latest $list`
    + else
    + artmp=($list)
    + linux=${artmp[0]}
    + fi
    gettext_printf "Found linux image: %s\n" "$linux" >&2
    basename=`basename $linux`
    dirname=`dirname $linux`

    Great, thanks - done and done.
    https://savannah.gnu.org/bugs/index.php?42597
    https://wiki.archlinux.org/index.php/Ta … t_versions
    My patch is pretty basic, there's probably a better way of going about this the GRUB coders will figure out.

  • Grub-hell, looking for the right way.

    Hi
    due to a problem with my hard disk (4 partitions and over 100Gig free space -> repartitioning needed to be able to use it) I wanted to get grub loaded from another partition, being the one arch resides on. So I used grub-install and I went through hell... Error 15, error 17, ... I used knoppix to restore everything and now I'm able to boot again.
    But I kind of lost my confidence in my grub knowledge and wanted to know what the best way is to install grub. I've tried grub-install and the regular grub prompt root and setup approach but it just didn't work... It may have to do with the funky device names from the new pata driver...
    Does those names influence the interpretation of devices.map or the "root=" flag in the kernel line?

    insulae wrote:
    Ok i have mi GNU/Linux installed in /dev/hda1 so i do:
    1- boot with a liveCD
    2- in a console i run :
    mount /dev/hda1 /mnt/
    mount -o bind /dev/ /mnt/dev/
    mount -o bind /proc/ /mnt/proc/
    then i do a chroot
    chroot /mnt/ /bin/bash
    then i run grub-install
    grub-install --recheck /dev/hda
    if you have a error:
    in some case you must erase the info in you /etc/mtab or replace with the info of the "liveCD /etc/mtab" i don't remember but you can try .
    And can't you do the same when you are already in arch? I am able to boot now but I just want to install the boot loader to another partition (being sda), so last time I just ran grub-install sda and made a menu.lst based on the previous one and the info in devices.map but everything went wrong and I needed to revert to the old situation...
    It seems a little awkward to go download a live cd just to install grub, doesn't it?

Maybe you are looking for

  • How to allow access to external VPN network via PPTP

    Hi guys, this is probably a simple one but i do not have much firewall experience so any help is appreciated. We would like to have the ability to connect to a VPN of a business we recently acquired.  When connecting to it directly from the Internet

  • HT204053 help with iphone and downloading apps

    I have set up an apple ID. but when I try to download an app from my iphone it just says that my account has not yet been used in the itunes store and wont let me go any further. can you help?

  • Open in Smart View option not working.

    Hey there, We have been having this problem for a few days now, We have Hyperion 11.1.1.3 on a UNIX Server,and when users try to open a planning data form using the "Open In SmartView" it never opens. All that it says is "Windows is trying to run som

  • Runtime Error while executing eCATT Script

    Hello @All, I worte a small eCATT script to stop the time a certain process needs to finish. The way I did this was to use the SAPGui (Record) method in eCATT. This does work fine. The second step I tried was to log the time and write it in a table t

  • MM Year Ending Preparation?????????

    Dear MM Experts , What are the fiscal year ending/new yr begining activities that need to be done wrt MM &&CIN Pls pass on some documents literature etc if possible ??? Regards Anis