openwrt transmission nem tud irni kulso usbre [SOLVED]

Fórumok

sziasztok,

új telepítésű openwrt (OpenWrt 18.06.4 r7808-ef686b7292 / LuCI openwrt-18.06 branch (git-19.170.32094-4d6d8bc) ) egy tplink 1043nd v2-n.
feltettem egy transmissiont, feldugtam rá egy 120GB-os notebook diszket, és amikor használatba venném, akkor ez van:

root@OpenWrt:~# block detect > /etc/config/fstab
-ash: can't create /etc/config/fstab: Read-only file system
root@OpenWrt:~#
---------------------
infók:
root@OpenWrt:~# cat /etc/config /fstab:
config global
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'

config mount
option target '/mnt/sda1'
option uuid 'b877a272-76b9-405c-a7e5-3262c836be24'
option enabled '1'

-------------------

root@OpenWrt:~# block info
/dev/mtdblock2: UUID="6c7bac58-e790dbf4-875b1591-c94891d4" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock3: MOUNT="/overlay" TYPE="jffs2"
/dev/sda1: UUID="7a762cd9-4e25-493f-97a7-aee3b56ed618" VERSION="1.0" MOUNT="/mnt/sda1" TYPE="ext3"
root@OpenWrt:~#
------------------
valami össze van kavarodva, mert a uuid más, mint az fstab-ban van.
Ezt szeretném módosítani, de az fstabot nem tudom írni... :(
De hozzátenném, hogy ettől még kézzel felmountolva működik, írni/olvasni is tudom root-al:
root@OpenWrt:~# touch /mnt/sda1/filmek/teszt.txt
root@OpenWrt:~# ls -l /mnt/sda1/filmek/teszt.txt
-rw-r--r-- 1 root root 0 Oct 1 05:38 /mnt/sda1/filmek/teszt.txt
root@OpenWrt:~#
Viszont a webes gui-n "Error, Permission denied /mnt/sda1/filmek/..... üzenet van.
A végcél az lenne nyilván, hogy a transmission tudjon írni a csatolt usbn levő diszkre.
Valami ötlet?

köszi,
fgy

Hozzászólások

Az gáz ha nem tudod a configot írni :)
Jogokra:
Adj jogot a transmission-nek

Azért nyomj ide egy mount kimenetet is
üdv: pomm

A 852-es kídlap telepötúsa sikeresen befejezádétt

ok.
root@OpenWrt:~# mount
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlay (ro,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
/dev/sda1 on /mnt/sda1 type ext3 (rw,relatime,stripe=8191,data=ordered)

Azért kiderült valami:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.5M 2.5M 0 100% /rom
tmpfs 29.4M 652.0K 28.8M 2% /tmp
/dev/mtdblock3 4.2M 4.1M 96.0K 98% /overlay
overlayfs:/overlay 4.2M 4.1M 96.0K 98% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 109.5G 60.1M 103.9G 0% /mnt/sda1

Az overlayfs betelt, vagy már majdnem betelt.
Ezt onnan is biztosra tudom, hogy loginnál ezt kapom:
Your JFFS2-partition seems full and overlayfs is mounted read-only.
Please try to remove files from /overlay/upper/... and reboot!

Viszont nem nagyon vágom, mit tudnék törölni abból, amit kér?:
root@OpenWrt:~# ls -l /overlay/upper/
drwxr-xr-x 12 root root 0 Jun 27 12:18 etc
drwxr-xr-x 4 root root 0 Jun 27 12:18 lib
drwxr-xr-x 3 root root 0 Sep 30 20:55 mnt
drwxr-xr-x 2 root root 0 Sep 30 20:42 sbin
drwxr-xr-x 6 root root 0 Sep 28 12:36 usr

Csupa olyan folder, amibe nem szívesen törölnék bele.
Szóval most itt tart a dolog, per pillanat... :(

Szerintem jó sok megoldás van. Egyrészt, ha saját OpenWrt/LEDE image-et csinálsz, akkor bármelyik file-t tudod írni. Másfelől szerintem az a bajod, hogy van egy mount pointra csatolt filerendszered, s erre írnál, azaz annak a gyökerébe. Ugyan az fstab-ban a megfelelő paraméterekkel adhatnál rá jogokat magadnak, de egyszerűbb root-ként létrehozni alkönyvtárt, arra megfelelő tulajdonost, csoportot, jogokat beállítani, s máris szép az élet.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

köszi a tippeket.
root nevében fut és így megy

igen, én is tudom, éppen ezért újra is flashaltem.
(Most már jól működik a transmission, de így kevés még a szolgáltatási lista..)
Amit nem tudok: ha szeretnék kipróbálni más custom firmwareket, akkor mindig csak a sysupgrade-eket kell flashelni, vagy mindig előtte vissza kell állni a gyári/stock firmware-re?
Főleg openwrt alapúakról van szó, illetve lehet, hogy gargoyle vagy dd-wrt is szóba jöhetne.
Az igazi okok:
nekem igazán CSAK usb támogatás, transmission és dlna szolgáltatásra lenne szükségem, viszont a mostani (legújabb) openwrt-be már a minidlna nem fér bele, kb. 20KB hiányzik.
Ugye tplink 1043nd v2-m van... :O
Nem szeretnék örökké mókolni a rom kiterjesztéssel, ezér egy olyan firmware kellene, amiben ezek már benne vannak.
Találtam is egy párat a prohardveres fórumban (suste meg vargalex féle fw-ek), amik nagyon bejönnek funkcionalitásban,
csak azok már min. 3-4 évesek, és még 14-es vagy 15-ös openwrt-re készültek anno.
Vagy ez nem probléma?
Ezeket a sysupgrade csomagjaikkal felrakhatom a mostani openwrt helyett?
Persze szívesen fordítanék egyet a fent említett csomagokkal, ne attól tartok, simán brickelném a cuccot, ennyit meg nem ér..
Szóval kicsit tanácstalan vagyok. Pont ezért is írtam ide, hátha valaki, aki sokkal tapasztaltabb ilyen téren, jó tanácsot ad.
Bocs, kicsit hosszú lett, de szerintem most már tiszta a kép, miről is szólna a dolog.
És köszi a válaszokat.

A sysupgrade -v image parancsot kiadhatod - sőt, csak így érdemes - az aktuális firmware-t futtatva. Más szavakkal nem kell downgrade-elni valami korábbi vagy eredeti változatra.

Azért érdemes saját image-et csinálni, mert az overlayfs úgy működik, hogy van egy statikus read-only, ez esetben squashfs filerendszer a háttérben, s az ehhez képest történt változásokat tárolják egy read-write flash tárolóban. Ez az oka annak, hogy hiába törölsz valamit a filerendszerről, nem lesz több szabad helyed, sőt, inkább kevesebb lesz, hiszen az ro squahfs-ről nem tudsz törölni, de az rw overlay-re be kell jegyezni, hogy amit töröltél, az már nincs ott.

Ha viszont saját image-et készítesz, csak az lesz benne, ami valóban kell. Nekem repült a ppp, a luci. Nem kell webes felület, ssh-n elérem, az nekem jó is. Viszont az image-be tettem az mc-t, aztán az f2fs támogatást.

Mivel a base system-et emlékeim szerint mindenképp beleteszi, nem nagyon lesz belőle tégla. Az utólagos telepítésekkel az a baj, hogy egy system upgrade után kezdhetsz mindent elölről. Ezzel szemben, ha image-ben van minden, a lehető leghelytakarékosabban épp azok a csomagok vannak ott, amelyre szükséged van. Azért nem kell mindent elölről kezdeni, mert az benne van egy általad írt scriptben, amelyik build-el. Nálam ez így néz ki:

#!/bin/bash

PACKAGES='
alsa-utils
at
coreutils-base64
ddns-scripts
etherwake
f2fs-tools
f2fsck
fdisk
findfs
kmod-fs-btrfs
kmod-fs-ext4
kmod-fs-f2fs
kmod-fs-fscache
kmod-fs-vfat
kmod-ifb
kmod-ipt-ipopt
kmod-nf-nathelper
kmod-sched
kmod-sched-core
kmod-usb-audio
kmod-usb-printer
kmod-usb-storage
libsoxr
mailsend
mc
mpc
mpd-full
nano
p910nd
pulseaudio-daemon
pulseaudio-profiles
pulseaudio-tools
shadow-su
sox
tc
uhttpd
xz
xz-utils
'

make clean
make image PROFILE='tplink_tl-wr842n-v3' PACKAGES="`sed '/^[\\t ]*#/ d' <<<\"$PACKAGES\" | tr \\\\n ' '`" FILES=files/

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

köszi,
nagyon hasznos dolgokat írtál.
sikerült is előállítani az upgrade imaget.
fel is flasheltem,
működik is.
de kimaradt ez meg az, szóval megint megcsináltam.
A lényeg, hogy 3-4 alkalommal is eljátszottam ezzela dologgal, de a legutóbbi build után csaodálkozva láttam,
hogy nem keletkezett openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin file.
Valamit lehet, hogy elkattintgattam a make menuconfigban?
Lehet, de nem jövök rá, mit?
Vagy valami más oka van, ha nem keletkezik meg a fenti file?
Most ezeket találtam a ...bin/targets/ar71xx/generic/ könyvtárban:

-rw-r--r-- 1 furton furton 4906 okt 5 20.12 config.buildinfo
-rw-r--r-- 1 furton furton 263 okt 5 20.12 feeds.buildinfo
-rw-r--r-- 1 furton furton 9043968 okt 5 20.30 openwrt-ar71xx-generic-root.squashfs
-rw-r--r-- 1 furton furton 6164 okt 5 20.30 openwrt-ar71xx-generic-tl-wr1043nd-v2.manifest
-rw-r--r-- 1 furton furton 1687486 okt 5 20.29 openwrt-ar71xx-generic-uImage-lzma.bin
-rwxr-xr-x 1 furton furton 5448820 okt 5 20.29 openwrt-ar71xx-generic-vmlinux.bin
-rwxr-xr-x 1 furton furton 5453944 okt 5 20.29 openwrt-ar71xx-generic-vmlinux.elf
-rw-r--r-- 1 furton furton 1703936 okt 5 20.29 openwrt-ar71xx-generic-vmlinux.lzma
-rwxr-xr-x 1 furton furton 1697608 okt 5 20.29 openwrt-ar71xx-generic-vmlinux-lzma.elf
drwxr-xr-x 2 furton furton 4096 okt 5 20.30 packages
-rw-r--r-- 1 furton furton 980 okt 5 20.30 sha256sums
-rw-r--r-- 1 furton furton 18 okt 5 20.12 version.buildinfo

Látszik, hogy a sysupgrade nincs ott.
Van ötlet?

Nem szoktam használni a make menuconfig-ot. Úgy csinálom, hogy letöltöm a legfrisseb imagebuilder-t, kibontom, bemásolom azt a build scriptet a kibontás legfelső szintjére, amit fentebb mutattam, bemásolom még az általam összegereblyézett és tömörített files.tar.xz-t, azt is kibontom. Így létrejön egy files/ alkönyvtár, benne olyanok, mint etc/config, usr/local/bin és azokban olyan file-ok, melyek a szívemnek kedvesek. Azaz lényegében saját „gyári” konfigjaim. Utána futtatom a build script-emet az aktuális shell-be source-olva, ha úgy tetszik, include-olva, így még futtatási jog sem kell rá:

. build

Aztán minden a helyén lesz. Viszont érdemes nézni, ha valami nem jó, mert néha a fejlesztőknek nem sikerül egy-egy csomagot lefordítani. Ezek az OpenWrt/LEDE szerverén az adott architectúra alkönyvtára alatt faillogs, vagy valami ilyen nevű alkönyvtár alatt megtalálhatók. Nálam ez a mips24kc.

Emlékeim szerint az ar71xx-et nem build-elik 2019. június 17-e óta. Van ennek magyarázata, áttértek az ath79 architectúrára, az újabb, 4.19-es sorozatú long term support kernelben már benne van egy csomó dolog, kevesebbet kell patch-elni. Azért óvatosan, előbb olvasd el, támogatja-e a hardware-edet, nehogy téglát csinálj! :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

letöltöttem az imagebuildert.
azzal a módszerrel csináltam (volna), amit először írtál, de dobott egy hibát.
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for luci:
* libip4tc2
* libip6tc2
* opkg_install_cmd: Cannot install package luci.
* opkg_install_cmd: Cannot install package procps-ng-vmstat.
make[2]: *** [Makefile:156: package_install] Error 255
make[1]: *** [Makefile:117: _call_image] Error 2
make: *** [Makefile:196: image] Error 2

Valahol azt olvastam, hogy a legújabb verziónál csinál ilyet.
Lehet fixálni, hogy csak egy adott verziót használjon a repokban?
De lehet, hogy nem ez a baja, csak tippelek..

megvan a baj, nem jó verziójú imagebuildert töltöttem le először.
most már klasszul megy a buildelés, van transmission, meg minidlna is, de az az usb-s hdd, amit erre a célra akarnék használni,
nem akarja a jót.. :)

root@OpenWrt:~# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@OpenWrt:~# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=, 480M
root@OpenWrt:~# block info
/dev/mtdblock2: UUID="ed671f86-53f7aa54-3eeb760a-792494f5" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock3: MOUNT="/overlay" TYPE="jffs2"
root@OpenWrt:~#

Jól látszik, hogy a diszk megvan, de nincs driver hozzá.
Így fordult a build:

make image PROFILE=tl-wr1043nd-v2 PACKAGES="bash busybox block-mount kmod-fs-f2fs kmod-fs-ext4 libext2fs kmod-usb-core kmod-usb-storage usbutils luci minidlna e2fsprogs transmission-daemon-openssl transmission-web -ppp -ppp-mod-pppoe -kmod-ppp -kmod-pppoe -kmod-pppox"

Szóval van usb támogatás is (elvileg), de nem tudom felmountolni.
Egyébként egy 500 gigás notebook hdd, ext4-re formázva, már vannak rajta fileok, a notebookomon szépen megy.
Van ötlet, hogy miért nem működik?
ps: egy 64GB-os pendriveot megformázok ext4-el, és azzal meg működik.

Sokféleképpen lehetnek ott a dolgok. Kezdd azzal, hogy PC-n derítsd ki, mi van azon a HDD-n. Ugye, egy ext4 lehet simán a disk-en partíciós tábla nélkül, tehát például a /dev/sda-n. Aztán lehet MBR partícióban, mint például /dev/sda8, ami itt egyúttal extended, azaz EBR-ben van már. Továbbá lehet GPT-ben, gyanítom, ehhez is kell támogatás. Meg lehet LVM-en, de az LVM az előbbiek bármelyikén lehet.

Bár gondolom, te hoztad létre annak a lemeznek a layout-ját, azért nézd meg egy olyan Linuxon, ami mindent tud. Az fdisk, gdisk, lsblk, lvdisplay parancsok segíthenek.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

a diszket én particionáltam, formáztam, szóval kb. ismerem az előéletét. :)
De megvan a megoldás!!
kmod-usb-storage-uas
ez kellett és kisütött a nap :)
Nagyon hálás vagyok és ezer köszönet a segítségedért!!
Az elmúlt héten többet tanultam az openwrtről, mint az utóbi 5 évben összesen. :)
üdv,
fgy