Dinit - an alternative base/udev hook for mkinitcpio
Note: dinit has been removed from the AUR is now part of geninit. It still exists on github as a separate project if you want to play with it.
This is something fun that I've been fooling around with for the past week, and I'm pretty happy with it, so I figured I'd give it a little publicity. I've rewritten mkinitcpio's PID 1 in C, and it works as almost a drop-in replacement.
Why? Most of init can be taken care of with native C and some parts are more easily and thoroughly covered than with shell script. I'm currently booting off an image weighing in at under 1mb (it does not have busybox). You can do this too assuming, of course, that you aren't using any runtime hooks.
You can tell if you're using any runtime hooks by checking your current boot image:
$ bsdtar tf /boot/kernel26.img | grep '^/hooks'
If that returns anything more than /hooks/udev, you're using runtime hooks to prepare your root device for mounting. This mainly applies to people using encrypted root, lvm2, sometimes mdadm, and there's some other fancy business like plymouth or keymap. This doesn't disqualify you, it just means you need to read this to the end.
I've created two new base layouts to go with it:
ubase: Very similar to the current base layout, and includes udev. If you're using any runtime hooks, see below for how to modify them for use with dinit.
uubase: Masochistic. No udev. No busybox. No runtime hooks allowed. You must supply all modules in the MODULES= define in /etc/mkinitcpio.conf, and your root cannot be specified as a /dev/disk/by-{uuid,label} symlink. Use /dev/sdxy, or specify the device major/minor (e.g. 8:2 or 802). I currently boot off of this with great success -- my root setup isn't complicated.
I mentioned that this isn't quite a drop-in replacement. What needs to be modified? Since hooks are being run as a fork/exec, you'll need to remove the function wrapper on each runtime hook, and dress them up a bit. Simply done:
Remove the 'run_hook() {' function header and the closing '}'.
Make sure line 1 is a shebang: #!/bin/busybox ash
Mark the hook executable: chmod +x /lib/initcpio/hook/$hookname.
You're no longer inherting from init_functions, so calls such as 'msg' need to go away. This isn't mandatory, but you may see a few 'command not found' errors if you skip this step. They're harmless.
Don't regenerate the image just yet.
Now, modify /etc/mkinitcpio.conf. Remove base and udev from HOOKS, and add in your drug of choice: ubase or uubase.
This next step is important, because I don't wish anybody any particular harm. As much as I've tested this, I really don't want anyone to be in a situation where they need to chroot from a liveCD to get back to a booting system. So, make an image with a different name than whatever it is you're currently booting with, e.g.
# mkinitcpio -g /boot/dinit.img
Add a new boot entry to your bootloader of choice or just edit at boot time.
Other notes:
This should still support 99% of what mkinitcpio supports in terms of command line parameters such as: skiphooks, earlymodules, disablemodules, rootdelay, break (ubase only, of course), and init.
Intentionally discluded: /lib/udev/load-modules.sh is a symlink to /sbin/modprobe. I'll only say that blacklisting for disablemodules is done the way upstream recommends it done. You won't notice the difference.
No support for a '/message' file. I didn't think it was a big deal.
The most important part: where to find it?
On Github: https://github.com/falconindy/dinit
In the AUR: https://aur.archlinux.org/packages.php?ID=48454
I'd love to know what setups people are able to use with this, and I'm almost more interested in what setups don't work, so I can fix them. If you'd like to tell me my code sucks, please provide as much information as possible. Posting the contents of a working initcpio (bsdtar -tf /boot/kernel-26.img) and /etc/mkinitcpio.conf would be most helpful (remember to use code tags!). If you're using a non-stock kernel I'd like to know that too.
Last edited by falconindy (2011-04-30 16:26:21)
Works here with
/hooks
/hooks/udev/
/hooks/resume
using kernel26-pf-core2
/lib
/lib/modules
/lib/modules/2.6.38-pf
/lib/modules/2.6.38-pf/kernel
/lib/modules/2.6.38-pf/kernel/drivers
/lib/modules/2.6.38-pf/kernel/drivers/char
/lib/modules/2.6.38-pf/kernel/drivers/char/agp
/lib/modules/2.6.38-pf/kernel/drivers/char/agp/intel-gtt.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/char/agp/intel-agp.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/i2c
/lib/modules/2.6.38-pf/kernel/drivers/i2c/i2c-core.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/gpu
/lib/modules/2.6.38-pf/kernel/drivers/gpu/drm
/lib/modules/2.6.38-pf/kernel/drivers/gpu/drm/drm.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/gpu/drm/drm_kms_helper.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/acpi
/lib/modules/2.6.38-pf/kernel/drivers/acpi/video.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/acpi/button.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/i2c/algos
/lib/modules/2.6.38-pf/kernel/drivers/i2c/algos/i2c-algo-bit.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/gpu/drm/i915
/lib/modules/2.6.38-pf/kernel/drivers/gpu/drm/i915/i915.ko.gz
/proc
/sys
/dev
/bin
/sbin
/usr
/usr/bin
/usr/lib
/usr/sbin
/run
/new_root
/etc
/etc/udev
/etc/udev/udev.conf
/etc/modprobe.d
/etc/modprobe.d/usb-load-ehci-first.conf
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/50-firmware.rules
/lib/udev/rules.d/50-udev-default.rules
/lib/udev/rules.d/60-persistent-storage.rules
/lib/udev/rules.d/80-drivers.rules
/lib/udev/firmware
/lib/udev/ata_id
/lib/udev/path_id
/lib/udev/scsi_id
/lib/udev/usb_id
/init
/lib/libblkid.so.1
/lib/libblkid.so.1.1.0
/lib/libc.so.6
/lib/libc-2.13.so
/lib/libuuid.so.1
/lib/libuuid.so.1.3.0
/lib/ld-linux-x86-64.so.2
/lib/ld-2.13.so
/bin/busybox
/sbin/modprobe
/sbin/blkid
/sbin/udevd
/lib/librt.so.1
/lib/librt-2.13.so
/lib/libpthread.so.0
/lib/libpthread-2.13.so
/sbin/udevadm
/lib/udev/load-modules.sh
/config
/lib/modules/2.6.38-pf/kernel/drivers/scsi
/lib/modules/2.6.38-pf/kernel/drivers/scsi/scsi_mod.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/ata
/lib/modules/2.6.38-pf/kernel/drivers/ata/libata.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/ata/libahci.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/ata/ahci.ko.gz
/lib/modules/2.6.38-pf/kernel/drivers/scsi/sd_mod.ko.gz
/hooks
/hooks/resume
/lib/modules/2.6.38-pf/kernel/fs
/lib/modules/2.6.38-pf/kernel/fs/mbcache.ko.gz
/lib/modules/2.6.38-pf/kernel/fs/jbd2
/lib/modules/2.6.38-pf/kernel/fs/jbd2/jbd2.ko.gz
/lib/modules/2.6.38-pf/kernel/lib
/lib/modules/2.6.38-pf/kernel/lib/crc16.ko.gz
/lib/modules/2.6.38-pf/kernel/fs/ext4
/lib/modules/2.6.38-pf/kernel/fs/ext4/ext4.ko.gz
/lib/modules/2.6.38-pf/modules.dep
/lib/modules/2.6.38-pf/modules.alias
/lib/modules/2.6.38-pf/modules.symbols
Last edited by el mariachi (2011-04-24 14:14:23)
Similar Messages
-
Mkinitcpio-nfs-utils hook for net without wireless
Is there a way to make a net hook for diskless clients without including wireless? Make one called net-nowireless or something like that. If my diskless client has a wireless card, I'd have to go into emergency shell to connect the wireless network device to a wireless network if it would even let me do that. Otherwise, I have to blacklist any perceivable wireless module and include it in my mkinitcpio.conf. Some wireless devices can be canned just by not including the firmware. Anyways, my diskless client hangs on the wireless deadlock when initializing network interfaces. It would also probably remove firmware messages and make the initramfs-linux.img smaller. The PXE clients can only boot from the hardwired ethernet clients for now.
Doing a mkinitcpio -L doesn't even list the net hook, but mkinitcpio -H net shows the details.
Last edited by nomorewindows (2013-10-05 12:22:32)Lone_Wolf wrote:
It does look like the hook tries to connect using all autodetected network devices, regardless of number and type of devices.
While it may be possible to differentiate between wired and wireless devices, that will still give issues if there are multiple wired/wireless devices.
Maybe a configuration file could be added that specifies which devices nfs should use.
If there's no config file present in the initramfs, it should just default to all detected devices as it does now.
Although I haven't tried it this way, it makes sense because that's what it does with the wireless, which just has the unresolvable problem, whereas dual ethernet or more, as long as it satisfies getting an address via dhcp, can probably still boot. Maybe this is the reason why OpenBSD is still anal about using stateful routines through rarpd and bootparamd. I've tried to boot OpenBSD under Arch, using rarp, but I guess it doesn't answer satisfactory to OpenBSD's diskless request. The purpose of stateless is to boot anybody. Various options can be set in pxelinux.cfg based on MAC address, but maybe these aren't known ahead of time to boot a customized initramfs-linux.img.
The real boon was to turn on a dumb-terminal and as soon as it came on, the login prompt was present. This was probably a function of getty. -
Can't mkinitcpio with "nouveau" hook for early start of KMS
Hello Everyone,
My first message on this board! But I'm using Arch for two years now.
I have a problem with KMS:
I try to start early KMS with the nouveau driver in order to have a nice plymouth-ed boot.
I followed the wiki : https://wiki.archlinux.org/index.php/No … arly_start
But mkinitcpio says that there is no hook for "nouveau" in /lib/initcpio/hook...
I have the last version of xf86-video-nouveau and nouveau-dri.
Have someone had the same problem?
How can I manage to make an initframfs with nouveau module?
Thank you!
DavidRead the wiki page again. Nouveau is a module, not a hook, and belongs in the MODULES array.
edit: Note to self: reload before posting.
Last edited by Stebalien (2011-04-13 13:33:22) -
Requirement type, alternative calculation type and alternative base value?
Hi guys pls can any body experts in pricing
Can u pls explain requirement type, alternative calculation type and alternative base value?
Not theory Any of Ur real time experience<b>Requirement:</b>
It is a routine that is written by an ABAP consultant according to the business requirement.
By defining Requirement in condition technique we can restrict the access of condition type.
To understand the concept, we will take the example of the Rebates. Rebates are to be included during the billing document processing and not in the sales document processing. As rebates are given on the delivered quantity and not on the ordered quantity (in case of cut-off period for rebates).
For rebates we use the condition types BO01 to BO05, and in the Requirement column we give the value 24 which is "Only in Billing Document".
This Requirement will ensure that these condition types will appear only during the billing document processing.
If new Requirements are to be defined we follow the procedure given below.
Go to T.Code: VOFM. - Maintain Requirements & Formulas
Click on the "Requirements" in the top menu and then click on "pricing".
We have a list of requirements, we can ask ABAP consultant to create new requirement based on the client requests.
And we assign the application type like V - Sales/Distribution etc.
<b>AltCty - Condition formula for alternative calculation type:</b>
It is again a Routine that is written by ABAP Consultant.
It is an alternative formula for the condition type that can be used instead of standard formulas.
For example, let us take the Profit Margin which can be both + / - , so here this routine will help us in generating the value which can be either + or -. Profit margin is not a condition type so it cannot be classified as +ve or -ve in the V/06.
Ex.: 950 0 Profit Margin 11.
So we assign 11 - Profit Margin.
If new routines are to be defined we follow the procedure given below.
Go to T.Code: VOFM. - Maintain Requirements & Formulas
Click on the "Formulas" and then on the "Condition Values".
We have a list of routines, we can ask ABAP consultant to create new routines based on the client requests.
And we assign the application type.
<b>AltCBV - Alternative formula for condition base value:</b>
Formula for determining the condition basis as an alternative to the standard.
It is again a Routine that is written by ABAP Consultant.
It is used as a basis to calculate value of the condition type instead of using it from the "FROM" column.
Ex.: Freight - KF00.
Freight is calculated based on weight, volume etc. and not on the base price. In pricing there is no entry of weight from which the value can be referred like we do for discounts using base price. We have to get the value from the Material master.
In this column we can mention the value as 12 - Gross Weight or 13 - Net Weight.
During pricing, the system will consider the value that is mentioned in this column and determine the freight based on this value.
Suppose we have Net weight: 100 kgs and Gross Weight: 150 kgs. And if we mention 13 in this column then the Freight condition KF00 will be calculated using the weight as 100 kgs.
Regards
AK -
OpenSSL bf-cbc encrypted Keyfile HOOK for LUKS
I modified the this HOOK that maxim_ posted here. That dose not work.
https://bbs.archlinux.org/viewtopic.php … 05#p947805
This one uses Blowfish in CBC mode instead of AES-256.
The password is hashed 1000 times with Whirlpool.
gen-cryptkey adds a a Salt to the encrypted keyfile
https://github.com/tdwyer/bfkeyfile
/lib/initcpio/hooks
#!/usr/bin/ash
run_hook ()
local encfile decfile iteration attempts prompt badpassword dev arg1 arg2 retcode password passwordHash
if [ "x${bfkf}" != "x" ]; then
encfile="/enc_keyfile.bin"
decfile="/crypto_keyfile.bin"
iteration=1000
attempts=5
prompt="Enter password: "
badpassword="Password incorrect"
dev="$(echo "${bfkf}" | cut -d: -f1)"
arg1="$(echo "${bfkf}" | cut -d: -f2)"
arg2="$(echo "${bfkf}" | cut -d: -f3)"
if poll_device "${dev}" "${rootdelay}"; then
case "${arg1}" in
*[!0-9]*)
mkdir /mntkey
mount -r -t "${arg1}" "${dev}" /mntkey
dd if="/mntkey/${arg2}" of="${encfile}" >/dev/null 2>&1
umount /mntkey
rm -rf /mntkey
dd if="${dev}" of="${encfile}" bs=1 skip="${arg1}" count="${arg2}" >/dev/null 2>&1
esac
fi
if [ -f "${encfile}" ]; then
while true; do
read -rsp "${prompt}" password
i=0
while [ ${i} -lt ${iteration} ]; do
password=`echo -n "${password}" | openssl dgst -whirlpool -hex 2> /dev/null | cut -d ' ' -f 2`
i=$(( ${i} + 1 ))
done
openssl bf-cbc -pass pass:"${password}" -d -in "${encfile}" -out "${decfile}" >/dev/null 2>&1
retcode="$?"
if [ "${retcode}" != "0" ]; then
echo -e "\n${badpassword}\n"
attempts=$(( ${attempts} - 1 ))
[ "${attempts}" == "0" ] && echo "Keyfile could not be decrypted" && break
else
break
fi
done
rm -f "${encfile}"
else
echo "Encrypted keyfile could not be opened. Reverting to 'encrypt' hook."
fi
fi
/lib/initcpio/install
#!/bin/bash
build() {
add_binary /usr/bin/openssl
add_runscript
help ()
cat<<HELPEOF
This hook allows for an openssl (bf-cbc) encrypted keyfile for LUKS.
It relies on standard 'encrypt' hook providing decrypted '/crypto_keyfile.bin' for it.
You must use gen-cryptkey create the encrypted enc_keyfile.bin
The password is hashed with Whirlpool 1000 times
Then your password Hash is used to encrypt the keyfile
mkinitcpio.conf:
MODULES: add ext4 vfat or whatever the type of filesystem the keyfile is on
HOOKS=" ... bfkf encrypt ... filesystems ..."
Kernel Parameters:
There is no need for cryptkey=
Two options are supported:
1) Using a file on the device:
bfkf=<device>:<fs-type>:<path>
2) Reading raw data from the block device:
bfkf=<device>:<offset>:<size>
Example: /etc/default/grub
GRUB_CMDLINE_LINUX="bfkf=/dev/sdb1:ext4:/keyfile.bin cryptdevice=/dev/sda2:root"
HELPEOF
# vim: set ft=sh ts=4 sw=4 et:
/usr/bin/gen-cryptkey
#!/bin/bash
# GPLv3
# Thomas Dwyer
# tomd.tel
iteration=1000
create_msg='Create: gen-cryptkey create'
decrypt_msg='Decrypt: gen-cryptkey decrypt PATH_TO_KEYFILE'
main () {
action=$1
if [ -z $action ]; then
echo -e "Usage:\n$create_msg\n$decrypt_msg"
elif [ $action == "create" ]; then
crypt
elif [ $action == "decrypt" ]; then
if [ -z $2 ]; then
echo -e "Usage:\n$create_msg\n$decrypt_msg"
else
decrypt $2
fi
else
echo -e "Usage:\n$create_msg\n$decrypt_msg"
fi
exit 0
crypt () {
encfile="enc_keyfile.bin"
echo "$encfile encrypted keyfile will be created"
echo ''
read -rsp "Enter password: " password
password1=`echo -n "$password" | openssl dgst -whirlpool -hex | cut -d ' ' -f 2`
echo ''
read -rsp "Enter password Again: " verify
password2=`echo -n "$verify" | openssl dgst -whirlpool -hex | cut -d ' ' -f 2`
if [[ "$password1" == "$password2" ]]; then
for (( i=1; i<=$iteration; i++ )); do
password=`echo -n "$password" | openssl dgst -whirlpool -hex | cut -d ' ' -f 2`
done
dd if=/dev/urandom bs=1k count=256 | openssl bf-cbc -pass pass:"${password}" -salt -out "${encfile}"
else
echo "Passwords did not match"
fi
decrypt () {
encfile=$1
decfile="crypto_keyfile.bin"
echo "$encfile Will be decrypted to crypto_keyfile.bin"
echo ''
read -rsp "Enter password: " password
for (( i=1; i<=$iteration; i++ )); do
password=`echo -n "$password" | openssl dgst -whirlpool -hex | cut -d ' ' -f 2`
done
openssl bf-cbc -pass pass:"${password}" -d -in "${encfile}" -out "${decfile}"
main $@
Last edited by hunterthomson (2013-01-01 00:01:20)Well, it is working now, so feel free to use it.
If you do use it, make darn sure to keep "at least" 3 backups of the keyfile on 3 different devices.
You will also want to leave your passphrase enabled until you are sure the keyfile is working as it should.
However, I am not going to use this anymore and will no longer be working on it. I will subscribe to this thread and answer any questions. I don't really see a whole lot of added security in this, and it would be kind of a pain to use a keyfile in a Live CD/USB. I think it is good enough to make use of the --iter-time flag when using luksFormat or luksAddKey. It was a fun ride learning how to write this hook for initcpio
Note: Anyone who wants to write a hook should install busybox and symlink /usr/local/bin/ash to it for testing the HOOK script. The HOOKS use busybox ash not 'sh' nor 'bash', and ash is strange. If your HOOK script has an error you will get a kernel panic.
Last edited by hunterthomson (2012-12-31 23:57:24) -
Replacement ear hooks for HS-700 Bluetooth Headset
Bothe ear hooks for my HS-700 headset have broken. I could find no info on how to get replacements. I like the headset & do not think I have to buy anotherone to get the hooks.
What say you?Yea, it is a good headset.
Check with ShopBlackBerry.com and see/beg to order a set.
1. If any post helps you please click the below the post(s) that helped you.
2. Please resolve your thread by marking the post "Solution?" which solved it for you!
3. Install free BlackBerry Protect today for backups of contacts and data.
4. Guide to Unlocking your BlackBerry & Unlock Codes
Join our BBM Channels (Beta)
BlackBerry Support Forums Channel
PIN: C0001B7B4 Display/Scan Bar Code
Knowledge Base Updates
PIN: C0005A9AA Display/Scan Bar Code -
What is this message: Base Line Date for rule 11 not set ?
Hello all,
I am doing some test.
Cenario:
I need to create a Scheduling Agreement in transaction: VA41
The material I am using to create the VA41, I have just created.
I created in MM01 the views: Basic Datas 1 and 2, Sales View 1,2 and 3 and Account View 1.
Issue:
When I am creating the VA41 and I enter the material, the system shows the messages:
1) Dates from:: Base line date for rule 11 not set
2) Dates from:: Base line date for rule 9 not set
*obs: the messages dos not block the creation of VA41. It is a information message.
Question:
What that means? What will happen if I do not fix that? What should I do in order to not have more these messages?
Tks & Rgds,
Barbara
Message was edited by:
Barbara BarbosHi
Please check whether you have assigned - payment terms both at company code and sales area level
VVR -
Setting Payment terms in PO linking to base line date for payables.
Hi
can some help me by giving me simple steps to create the payment terms which will be captured in PO and payment is made with reference to baseline date.
Example :
1. payment in 15 days from the date of GRN posting date. while doing MIRO, the base line date will be proposed 15 days from the date of GRN posting date.
2. payment in 30 days from the date of GRN posting date. while doing MIRO, the base line date will be proposed 30 days from the date of GRN posting date.
while doing MIRO, the base line date will be
rgds
RaghuHi
There is no link between GRN posting date and proposed base line date for payment in MIRO. All that you can link is the posting date/ document date in MIRO etc with base line date calculation in invoice.
Create a new payment term with posting date (the current date will be defaulated as posting date in MIRO always) and with some payment discount terms say after 15 days etc..
Thanks -
Alternatives to using Zenworks for Roaming Profiles
Novell support tells me I should be using a dedicated Server for Zenworks
This would be a real over kill!
So, are there any alternatives to using Zenworks for Roaming profiles?
Googeling I see SAMBA can support Roaming Profiles
Samba is installed & I created Samba users via SBE Admin but when I select
Samba Administration - seems to be no details ie. users, workgroup name etc?
Is Novell Samba differently?
Is it possible setup Roaming Profiles with Novell Samba?I'm gonna attempt this with a couple of scripts - (one added to login script
& the other at shutdown)
to copy Desktop & Favorites - already told users they will be shot if the
they put files in my docs!
(It would be nice to do Desktop Colour / Image etc so the user feels at home
but...)
"W_ Prindl" <[email protected]> wrote in message
news:[email protected]...
> Although I use OWS SBE I never use the integrated Simba tools, etc. I
> install everything using the standard non SBE methods. So I don't know
> if you installed SLES Samba or OES ( = Novell) Samba. Of course Novell
> Samba is different from plain Samba as it provides integrated
> Edirectory logon and - if using NSS volumes - transparent consistent
> file access rights.
>
> For Novell Samba your users have to be LUM enabled.
>
> But roaming profiles should work regardless of the Samba server in use.
> But of course - if you do not have a common configuration source such
> as a domain or Zenworks - you will have to configure your roaming ( =
> server-stored) profiles locally at each PC for each user individually.
> Should be possible in a 10 users/10 PCs environment - but that are 100
> configuration entries just for this feature.
>
> BTW I have Zenworks and Groupwise running on the same server in a small
> setup similar to yours.
>
> Only negative thing with Zenworks Configuration Management is, that it
> is a real resource hog at the client side. Recent dual core or quad
> core processor PCs have no problem, but older dual cores and single
> cores come really to a halt with the Zenworks Agent.
> --
> W. Prindl
>
>
> Chris wrote:
>
>>Novell support tells me I should be using a dedicated Server for
>>Zenworks This would be a real over kill!
>>
>>So, are there any alternatives to using Zenworks for Roaming profiles?
>>
>>Googeling I see SAMBA can support Roaming Profiles
>>
>>Samba is installed & I created Samba users via SBE Admin but when I
>>select Samba Administration - seems to be no details ie. users,
>>workgroup name etc?
>>
>>Is Novell Samba differently?
>>
>>Is it possible setup Roaming Profiles with Novell Samba? -
UDEV rules for Xilinx FPGA devices
I recently purchased a Digilent Nexys3 FPGA board with a Xilinx Spartan 5 FPGA on it. I finally got around to finding some time to using it, and setting up the development environment under Arch linux.
After spending ages reading around about various problems and workarounds, I finally managed to get Xilinx ISE Webpack installed and working, as well as Digilent Adept software for downloading the designs to the development board. One issue still remains though. I am unable to download the designs to the FPGA as a normal user, but only as root.
I'm pretty sure this is a udev rules problem. Digilent supplies a rules file (attached below) which is supposed to grant permissions to all users to access the FPGA devices over USB. I placed this rule file under /etc/udev/rules.d, but I am still unable to access the devices as normal user due to the following error:
$ djtgcfg enum
libusb couldn't open USB device /dev/bus/usb/001/003: Permission Denied.
libusb requires write access to USB device nodes.
$
I believe that udev rules syntax changed since the last time I had a look at it, so maybe the supplied rules file still uses the old syntax? Any suggestions to fixing this rules file (attached below)?
# 52-digilent-usb.rules -- UDEV rules for Digilent USB Devices #
# Author: MTA #
# Copyright 2010 Digilent Inc. #
# File Description: #
# This file contains the rules used by UDEV when creating entries for #
# Digilent USB devices. In order for Digilent's shared libraries and #
# applications to access these devices without root privalages it is #
# necessary for UDEV to create entries for which all users have read #
# and write permission. #
# Usage: #
# Copy this file to "/etc/udev/rules.d/" and execute #
# "/sbin/udevcontrol reload_rules" as root. This only needs to be done #
# immediately after installation. Each time you reboot your system the #
# rules are automatically loaded by UDEV. #
# Revision History: #
# 04/15/2010(MTA): created #
# 02/28/2011(MTA): modified to support FTDI based devices #
# Create "/dev" entries for Digilent device's with read and write
# permission granted to all users.
SYSFS{idVendor}=="1443", MODE="666"
ACTION=="add", SYSFS{idVendor}=="0403", SYSFS{manufacturer}=="Digilent", MODE="666", RUN+="/usr/local/sbin/dftdrvdtch %s{busnum} %s{devnum}"
# The following rules (if present) cause UDEV to ignore all UEVENTS for
# which the subsystem is "usb_endpoint" and the action is "add" or
# "remove". These rules are necessary to work around what appears to be a
# bug in the Kernel used by Red Hat Enterprise Linux 5/CentOS 5. The Kernel
# sends UEVENTS to remove and then add entries for the endpoints of a USB
# device in "/dev" each time a process releases an interface. This occurs
# each time a data transaction occurs. When an FPGA is configured or flash
# device is written a large number of transactions take place. If the
# following lines are commented out then UDEV will be overloaded for a long
# period of time while it tries to process the massive number of UEVENTS it
# receives from the kernel. Please note that this work around only applies
# to systems running RHEL5 or CentOS 5 and as a result the rules will only
# be present on those systems.
Thanks!
-Igor
Last edited by UQ-igor (2011-12-24 03:56:10)Try this
Use ATTR or ATTRS.
-SYSFS{idVendor}=="1443", MODE="666"
-ACTION=="add", SYSFS{idVendor}=="0403", SYSFS{manufacturer}=="Digilent", MODE="666", RUN+="/usr/sbin/dftdrvdtch %s{busnum} %s{devnum}"
+ATTRS{idVendor}=="1443", MODE="666"
+ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{manufacturer}=="Digilent", MODE="666", RUN+="/usr/sbin/dftdrvdtch %s{busnum} %s{devnum}"
+ATTR{idVendor}=="1443", MODE="666"
+ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Digilent", MODE="666", RUN+="/usr/sbin/dftdrvdtch %s{busnum} %s{devnum}" -
I am mac user and want to create Object in VBA macro. when i write "set objwrd=createObject("Word.Application")"… it returns "runtime error "492" can't create object". now what it alternative to create object for word in excel macro???
Any help here...
http://support.microsoft.com/kb/288117
http://www.macworld.com/article/1154785/welcomebackvisualbasic.html -
Installed Base(ibase) data for segmentation/maintaining customer marketing
There is a need to use Installed Base(ibase) data for segmentation/maintaining customer marketing attributes e.g. whether customer on active support agreement(yes/no), product line, version no., etc.
So if the ibase data is updated, the changes should flow back to segmentation/marketing attributes of the business partner/
Please help with any approach which can be useful in this scenario.
Edited by: ankitarora on May 4, 2011 12:42 PMPlease find the reply for your query,,,,,these are the related information
LIST OF DATA SOURCE
CRM IBase Transaction Data
0CRM_SRV_IBASE_TRAN
CRM IBase Master Data
Technical name: 0CRM_SRV_IBASE_ATTR
Installed Base Category - DataSource for Texts
Technical name: 0CRM_IBTYPE_TXT
Characteristic for IBase or Component - DataSource for Texts
Technical name: 0CRM_IBFLAG_TXT
GUID of Installed Base/Component - DataSource for Texts
Technical name: 0CRM_IBAKEY_TXT
IBase Text Component - DataSource for Texts
Technical name: 0CRM_IBTEXT_TXT
DSO:
CRM Service - Installed Bases and Components
Technical name: 0CRM_IBCO
QUERYS
Installed Base Analysis by Location
Technical name: 0CRM_IBCO_Q0101
Installed Base Analysis by Business Partner
Technical name: 0CRM_IBCO_Q0104
Analysis of Products in Installed Bases
Technical name: 0CRM_IBCO_Q0102
Analysis of Individual Objects in IBase Components
Technical name: 0CRM_IBCO_Q0103
More information
http://help.sap.com/saphelp_nw70/helpdata/EN/ef/c4e1edcb84fa4abd6ddd00130de600/frameset.htm
For more information, see the CRM documentation under mySAP Business Suite à mySAP Customer Relationship Management à CRM Enterprise à Analytics à Service Analytics.
Regards
Srini -
USER Hook for Changer Manager function
Dear All,
I need to know that is there any user hook for Manager Self Service -- Change Manager function for employee.
If yes then please give me the module name/id for the user hook.
If no then how can I set custom validations on this page.
Regards.You should look for the update assignment api.
select * from hr_api_modules
where module_name like '%UPDATE%ASG%'
Depending on the legislation, you will have different modules/packages/procedures. -
API User Hook for Restricting Category Creation in a sepcific catalog
Q: API User Hook for Restricting Category Creation in a sepcific catalog by a specific responsibility. I want to capture GO button process event?
Hi All,
Can anyone help me if anyone have used user hook for OLM? My requirement is to restrict course creation for the specific category... when we select category and select course and click on go button which process is calling? How can we identify the BP Package and Procedure name of that GO button?
urgent reply shall be a great help.
thank you.
Regards,
ADOK, I just tried to insert an element entry from the API and it works perfectly
The problem seems to be coming from the form. Is the form not using an API?
If this is the case, should I do a personalization and run a PL/SQL procedure each time a change is made? -
No base object information for AQ$_PROP_TABLE_1
Hi all,
My alert log is stating that there is no base object information for the AQ$_PROP_TABLE_1 table? This table is owned by sys which is preventing me from preparing the table.
Q1) How did the database end up in the state?
Q2) How do I fix it?
I'm running 9.2.0.3.
WARNING: no base object information defined in logminer dictionary!!!
knlldmm: gdbnm=HLRDB.SITE1
knlldmm: objn=6850
knlldmm: objv=1
knlldmm: scn=1004390
SQL> select OBJECT_NAME from dba_objects where OBJECT_ID=6850;
OBJECT_NAME
AQ$_PROP_TABLE_1
Enter user-name: sys as sysdba
Enter password:
Connected.
SQL> begin
2 DBMS_CAPTURE_ADM.PREPARE_TABLE_INSTANTIATION('AQ$_PROP_TABLE_1');
3 end;
4 /
begin
ERROR at line 1:
ORA-12087: online redefinition not allowed on tables owned by "SYS"
ORA-06512: at "SYS.DBMS_CAPTURE_ADM_INTERNAL", line 74
ORA-06512: at "SYS.DBMS_CAPTURE_ADM", line 159
ORA-06512: at line 2
Many thanks,
WarrenSelect the image you'd like to use as the placeholder, and assign it a "name" in the Inspector - also make sure that the name only contains standard letters, numbers or underscores and starts with a letter (no spaces or punctuation). Does it show up in the Actions menu after that?
Maybe you are looking for
-
E-mail submit, form sending to wrong address
My e-mail submit button is part of a fragment. It has been working fine on all other forms. The forms are distribute by my default main e-mail account and the "form submit" button is set to a gmail account so that another location and I can share acc
-
Mapping Help Needed - Message or Java UDF
Hello Gurus, I have a source structure as below. Idoc -group_a (0 to 99999) -- sub_groupa_1 (0 to 99999) sga1_field_1 sga1_field_2 -- sub_groupa_2 sga2_field_1 sga2_field_2 -- sub_groupa_n sgan_field_1 sgan_fiel
-
How to hide prompts panel for WebI documents opened in PDF via openDocument
I am linking to a WebI document via openDocument call with sOutputFormat=P. The report opens in PDF format but within another browser window with top panel and left prompts panel. I tried to set different Web Intelligence Interactive settings in CMC
-
How to stop caching on the server
Hello, Can anyone please guide me as to how do we disable caching on the portal server since the changes i am making in the JSP pages are not reflected immediately. I have already cleared the browser cache but now i want to clear the cache on the por
-
I want to link a button to a web page making a button and adding ActionListener to it is ok from there how do i proceed. Thanks.